Friday, July 12, 2013

Multiplayer Framework

Perfect day out for bike riding, hopefully it will carry over into the weekend.https://airextensions.net/wp-content/uploads/2012/11/gamecenter-300x300.png

As to work, Matt starting looking into how we should go about constructing the framework of our multiplayer system. We have tried to do this twice already, but always shelved it due to potential instability. There are a few options/considerations to make.

1. Scalibility: We need to be flexible on the backend. Should a ton of people be playing at the same time, sharing/storing data, we need to be able to handle that kind of traffic. This was always something we had worried about with our previous attempts because all of the game data was just stored on our website server, not a dedicated box.

2. Security: If your doing match making, which we are, you need to worry about the information your collecting. While ours has always been innocuous (just email addresses) its still important to try to keep that data safe. On our own server the data could be pretty easily hacked by anyone who knows what they are doing, since we don't have any knowledge about website security.

3. Stability: What are the chances the multiplayer will just break due to a million different problems? (save data corruption, uninstalling the game, Logging in/out, etc)

3. Platforms: Different methods of setting up this multiplayer system will alter how much time/energy it takes to go to multiple platforms.

So the question on what to do, really boils down to two choices:

1. Build our own solution for Multiplayer with the knowledge that we have.

2. Buy a Game Center plugin and utilize the built in game center asynchronous multiplayer framework that is already in place.

There's plenty of pros and cons to both sides of the coin.By using the Game Center Plugin we don't have to worry about scalability, Apple will handle our traffic, don't have to worry about Security unless Apple is compromised, Game Center is proven and known, we won't have to worry about stability, however where the plugin fails is that the game would only be for iOS Tablets. End of story, users would not be able to play PC - iPad, or Web to iPad, or iPad to Kindle or any of the really cool cross-platform things that could make Pathogen stand out.

On the other hand, if we build it ourselves we could choose an option that would allow for cross-platforming gaming. The issues then become Scalibility, Security, Stability.https://www.flox.cc/img/welcome/carousel-flock.gif

From the work Matt did yesterday we have have found a good way to tackle some of those issues. FLOX is a service provided by the guys who made Starling (the current AS3 framework we are using) and it is seems to be exactly what we are looking for. It provides a Scalable service for network traffic and cloud storage. ok, 1 problem down, two to go.

For security we are actually going to use Game Center to authenticate the user, we then use that data to create a player on the FLOX side of things. That will take care of security on the iOS end, for Android we would do the same thing, but authenticate with Google Play instead. For web, we might have to build our own, or potentially could use Facebook. This authentication is super important because it allows us to recognize unique individual users. In addition the data is stored in FLOX, who is responsible for protecting it, not us.

The last thing which always worries me is Stability. Stability will (hopefully) simply come in time and testing. We just have to be really thorough during development to try to have an answer for every possible/conceivable problem that occur on the clients and our server side.

Matt is continuing to gauge the potential of FLOX and will do so until we officially enter production again when we sign the contract.

 

 

No comments:

Post a Comment