Timeframe: 01/2012 – 07/2013
Position: Lead Gameplay Engineer
Technologies: Torque3D, C++, Unity, C#, .NET, Powershell, AWS EC2, Memcached, REST APIs
Status: No longer active.
The Story:
My second contract after transitioning from being an Indie to Professional game development. DodgeBots was a fast-action, 3D, browser-based, real-money game. Join a game, contribute to the pot, and place in the top 5 to be able to win a portion of it. Silly DodgeBots spawn inside an arena that has a turret circling it that fires dodge balls or dodge bombs (if you’re unlucky). It was legal in 33 states, and most of Canada, at the time!
The original proof of concept was created using Torque3D to get 64 players in a closed arena, networked in real-time. With GarageGames beginning to sunset, we then transitioned to Unity. At first experimenting with Portalarium’s web player, and the with Unity’s own, I created both the game client, and the game server, which was a headless Unity server instance. The game client was tied into the web-store via REST API calls, and the game server pulled its info from a SQL database.
On the back-end, the Unity server’s were spawned by a game-server management app that would spawn up to 10 instances of the game server per EC2 instance. An additional EC2 instance was used with another management app that monitored the game servers, spawning additional EC2 instances for when player traffic was high enough, and decommissioning them when traffic dropped below a threshold. It also managed saving game server logs and errors, and both management apps had GUIs for administrators to directly manage.
During the development of the game, I developed both the client and the server and management apps, but also had an intern from a local (to the main office in Canada, that is!) doing minor coding tasks, as well as a fellow coder who would pick up game tasks when not working on the website functionality. The game went live in the spring and held nightly tournaments with a jackpot of $100 for several months.