Pelayo Inc. is a US based games development startup that specializes in developing casual and social mobile games for the iPhone, iPad and Android devices.
THE PROBLEM AND THE FOLIO3 SOLUTION
Pelayo wanted to develop an asynchronous, offline, multiplayer, turn based social puzzle game similar to Draw Something and Scramble With Friends called “ClueDrop” for the iOS platform. The company had already created the game’s design and device side code including its interface methods, parameters etc. and was looking for an experienced and reliable iPhone game development partner to help it develop the server-side multiplayer platform for the game.
Pelayo chose to engage Folio3 for this work, due to Folio3’s extensive expertise in Android & iPhone game development – particularly server side development in J2EE, cloud based development and NoSQL databases. They were also impressed with the work Folio3 had done on the SecretBuilders virtual world and the Android & iPhone game development work that Folio3 had done for SecretBuilders, and therefore chose to engage Folio3 for this project.
After scoping the requirements, Folio3’s team of 8 developers started work on the project. The team first created a detailed application and database design for the server side platform in collaboration with Pelayo’s management team. Once the platform and backend database designs were finalized, the team started work on the server-side multiplayer platform itself.
Working over a period of 6 months, Folio3’s team was able to deliver a custom server-side multiplayer platform to Pelayo. This platform provides the core functionality behind ClueDrop’s multiplayer mode such as:
- Communication of moves between players
- Game matchmaking
- Maintaining the games word clues database
- Saving users’ progress in any game
- Access to users’ Facebook profiles and social graph
The multiplayer platform is also highly scalable and responsive, as it employs automatic scaling (based on load) using Amazon’s EBS which is integrated with the game’s code, and uses Amazon’s high performance NoSQL database DynamoDB, to provide a lag free, multiplayer gaming experience. The multiplayer platform is also deeply integrated with Facebook and allows users to post their high scores and achievements on their Facebook profiles while also providing game matchmaking, by matching users against their Facebook friends.
To facilitate the game’s multiplayer mechanics, the Folio3 team also developed its own Apple Push Notification Server that manages all push notifications that need to be sent to users such as “Player1 is waiting for your move”, “Player 2 just sent you a new clue”, etc. This Push Notification Server also tracks and maintains the notification count shown in each player’s iPhone app, thereby eliminating the need for using third party services like Urban Airship.
Folio3’s team also created a separate client side iOS API for communicating with the multiplayer server, so that the entire multiplayer functionality is de-coupled from game’s code. This allowed Pelayo’s device side developers to save considerable time and effort in their iPhone game development as they only had to integrate this API in the game’s code for the multiplayer mechanics to work.
Thanks to Folio3’s iPhone game development efforts, Pelayo was able to deploy a custom made server side, multiplayer platform for its ClueDrop social word game that not only provides all the multiplayer features offered by Apple’s Game Center but also offers a more scalable and lag free multiplayer gaming solution that is tightly integrated with Facebook. All at a fraction of the cost required by third party multiplayer platforms such as Parse and Stackmob.
TECHNOLOGIES USED IN iPHONE GAME DEVELOPMENT
The primary technologies used on this iPhone game development project include Java J2EE, DynamoDB, NoSQL, Amazon EC2, APNS, Facebook SDK, Objective C (iOS) and Amazon EBS.
DEVELOPMENT METHODOLOGY USED
Folio3 used the Agile development methodology on this project with Jira as the project management tool and Git for collaborative development. MVC design was used to create the game’s multiplayer functionality while Unit tests were written and conducted for all database transactions.