Go Go Bots

 

Role: Lead Developer
Client: Meta
Team: ustwo
Technology: CocosCreator, TypeScript, JavaScript, Facebook Instant Games, Azure PlayFab, Azure Functions, Azure Logic Apps, Node.js, Gulp, Facebook Analytics


Overview

Go Go Bots is a competitive, fast-paced, robot climbing Facebook Instant Game set in a glitchy, cyberpunk future.

Goal

Build a flagship game to showcase the capabilities of the Facebook Instant Game platform.

Challenges

  • Enable friendly competition and instant playability
  • Engage users via a high-quality, casual, gaming experience
  • Inspire developers by showcasing the unique possibilities of the Instant Games platform

Role and Team

My responsibilities included leading the architecture of the game front-end as well as the backend.

For the front-end, I laid the foundation for and contributed to the core game systems including custom (Redux-based) state management, finite state machines for animation, a custom level editor plugin and the core game mechanic. I was also responsible for developing numerous prototypes to validate assumptions and game play mechanics through the beginning phases of the project.

For the backend, I used Azure (Functions, Logic Apps, PlayFab) and Facebook Instant Games. I was also responsible for implementing Facebook Analytics for tracking all important KPIs at a fairly granular level using.

The team consisted of 3 developers, 2 designers, 2 technical artists, 2 project managers and 2 QA engineers collaborating closely with client stakeholders.

Final Product

Home screen
Players can choose to play the current season – each season consists of unique levels – or invite up to 3 friends to tournament.
Character Selection
Players can select one of five robots, each with a unique set of abilities and attributes.
Race!
Players race against the clock to get the best time and rank.
Leaderboard
Each player can play their turn asynchronously until the game expires.
Character Ability
Players can use their characters ability after collecting a certain number of points.
Navigating Obstacles
Players draw connections between nodes that have unique attributes, to navigate through a hazard-strewn obstacle course and collect points.
Tiers
Players can choose from 3 tiers with varying levels of difficulty as well as two modes of gameplay – multiplayer tournament and solo.

Results and Learnings

  • Utilizing Azure PlayFab, PlayFab, Azure Functions and Logic Apps – instead of a custom Node.js application – resulted in a high performing backend and optimizing development time/effort/cost. This solution helped easily scale to over 600k monthly active users without any failures on the backend.
  • I learnt how to build and implement a custom frustum culling system which increased the performance of the game to consistently be 30-60 fps on older mobile devices. Other optimizations included, reducing the load times to 5-10 seconds by consolidating API requests and lazy loading numerous game assets.
  • I streamlined the level design process and enabled designers to quickly create, test and iterate game levels by building a custom level editor CocosCreator plugin.
  • I successfully enabled the entire cross-functional project team to effectively collaborate on GitHub.
  • The game garnered coverage from The Verge, engadget, Creative Review and VentureBeat