I was a Game Engineer for TURBO Studios, a mobile F2P eSports game company started with major investments from Softbank, Nexon, McKinsey and GungHo as our publisher.
My expert contribution focused on Unity3D client development, external designer tools and artificial intelligence in concert to support and drive my team to success under aggressive time, budget and resource constraints.
The result was my team being able to rapidly test new mechanics, robustly implement them into the core engine and deploy them on our servers with minimal effort. We were honored by Apple as Best New Mobile Game App in 2016 and featured as Editor's Choice on the Apple Store in North America in April 2017, reaching #5 most popular app across all categories.
Core Gameplay System
I architected, built and supported the core gameplay system in C#. This turn-based engine was built from the ground up to run on:
- In-engine mobile client (Android and iOS)
- Standalone server execution (no Unity Engine required)
- AI simulator
Engine features include, but are not limited to
- Player-to-player (PVP), Player-to-AI (PVE), AI-to-AI (Simulations/Training)
- Local-multiplayer (Pass'n'Play), Remote-multiplayer (Server/Client), Playback
- Switching between core mechanics (i.e. different win conditions) through data
- Rapid prototyping using text-based scripting
- Player action recording and playback
Artificial Intelligence System
I build from scratch the artificial intelligence system, named Spark, which supported incremental development of new sub-systems that could a) use different techniques (utility system, influence maps, etc) and b) cross-communicate with each other.
The system also can be packaged and reconfigured in many ways to run simulations independently, play on the server, and execute on the client.
The AI's behavior can be tweaked using a custom in-Unity editor without requiring a new build. The editor allows tweaking the utility-based algorithm, generating new influence maps and high level strategy goals. Designers can also observe the results during runtime to debug behaviors.
I built an editor tool inspired by Starcraft's Trigger Editor to allow our designers to script tutorials, test custom mechanics and author new content all without having to edit code or make a new build. The architecture allowed engineers to extend the editor's capabilities trivially while the UI was intuitive and used actual sentences (as opposed to a node-based visual editor) to make building scripts as easy and as understandable as possible.