Sunday, September 29, 2013

User Login

As with any online game - our players have to log in into order to be able to play the game. This was my task - since I am handling the server / graphics.

Thankfully, since we are using Parse most of the server security work is handled for us. So I just had to write code to talk to Parse from within Unity. Unfortunately, shortly after I finished writing all the code to talk to Parse - Parse.com released an official Unity plugin. We will likely be switching to using the official plugin instead of my code when I have time to make the switch.

Once the code to talk to parse was done - we had to decide how users should log in to the game. We considered three options:

Display Name / Password
The first option discussed was using Display Name / Password for log in, but there are too many problems with this approach. For one, anyone you play against online would immediately know your display name - one part of your log in. Also, we may want to allow display names to change if only so that we could force renames on offensive display names.

Account Name / Password
The second option discussed was using Account Name / Password for log in, where Account Name was something different from Display Names. But the problem with this is that since Account Name has to be unique for each player - someone could use registration process to discover what Account Names exist. Also, account names can be difficult for players to remember - and so we would need a method of retrieving account names.

Email / Password
The third option discussed was using Email / Password for log in. We choose to go with this route for a variety of reasons. The first reason, is that this approach doesn't have any of the downsides of the above two options and automatically gives us a way of forcing email verification. Email verification can be automatically handled by Parse and gives us some real benefits such as making it harder for us to be targeted by bots as only accounts with a verified email can do anything and we could just ban that account. Additionally, having a verified email allows us to send password resets to users.

Result

After we decided on a log in method I created the log in and related user interface elements and wrote the code to talk to parse to perform log in logic. As stated before, thankfully Parse has many useful user management methods which handles password requests, email verification, and security. This allowed the code written to be fairly simple HTTP requests to Parse.



Thursday, September 19, 2013

Online Collectible Card Game

Brief Details:
Project Title = Online Collectible Card Game
Team Members = Ben Versaw, Travis Anderson
Semester = Fall 2013

Introduction:


Our semester project is a collectible card game that can be played against people online. The technology we are going to be using is Unity3D for the client side development and Parse as our server. The core idea behind the project is to allow users to buy / win cards that can be used to collect decks that can be used to play against other players.

To play a game players take turns drawing cards from their deck and playing cards from their hand to the ‘battlefield’. Each card on the battlefield can have special effects that active on various triggers, and take / do damage to other cards and the opposing player. The first player to reduce the health of the other player below one wins.


The goal is that we will have simple rules that can be gradually built on to perform complicated strategies. This benefits both us as developers, by making the project easier to develop and manage, and to the players by making the game easier to learn but hard to master.