To build a realtime data sharing game that uses sockets to exchange and process data. But more importantly, we wanted to build an app we could play together using GPS as a main factor.
What it does
The app is designed to use gps coordinates to translate the position of players into a virtual battlefield as they move around. Each match begins on an even playing field where the players are commanders of their own armies and take control points to be the last one standing. The battlefield is overlaid on top of an Apple Maps view.
How we built it
We used Node.js and used both RESTFUL API and Sockets to communicate between a central server hosted on Heroku and any connecting iOS devices. The iOS devices and central server then communicate via broadcasts.
Challenges we ran into
Networking is really difficult to pull off when your team has little experience. Communicating ideas between members became an issue, so we used a ton of whiteboard space in attempt to remedy that.
Accomplishments that we're proud of
We were able to get almost the entire application completed. The only remaining tasks left were to fix broken communication between the server and client and elaborating on client interfaces. The server is able to execute game logic as intended.
What we learned
Web sockets are hard. Web sockets between two completely different programming languages are harder. However, it's definitely fulfilling to learn and grow as a team learning languages we've very rarely used before. Next time, we will be more prepared for networking!
What's next for SuperAdvancedBattleRoyaleExtreme
To finish implementing communication between the clients and server. The logic is fairly implemented, and communication is the main remaining issue to complete. We will then add new enemies, obstacles, and challenges (4 player mode!)