Kluest
Kluest is a Social MMO for IOS and Android. In the game, the player can move on the real world to battle enemies, collect objects and participate on Adventures, Gymkhana-like experience that include conversations with NPCs and battles with monsters.
The game client was build with Unity Engine while the server-side database was written in Python. The game is still on active development.
I worked on that project during my time as Programmer at Sons of a Bit. My role was of Generalist Programmer, moving through different parts of the projects as required. During the first months, I worked fixing bugs, doing server maintenance and adding small improvements to the game.
Later on, I was tasked with a major rework of their “NPC Interaction” System. It took me a year to replace the old, very limited system with the new one, much more robust and extensible. The new system was based on the State Machine Pattern. Dividing the NPCs behaviors in states made easy to the developers to add new states on futures updates but also let the player personalize the actions of their NPCs more easily.
With the new system, I also extended the Combat System of the game, allowing me to implement 6 enemies: three old enemies that needed to be reintegrated into the game and three new ones build from the ground up.