So I was basically involved in the game from the start. I came in just after some initial prototyping. We developed the game engine and editor from the ground up. At the start I was working a lot on the framework of the engine. We ended up developing a pretty sophisticated object oriented engine, considering it was for a cell phone game. We had a pretty robust editor made in C#. I ended up designing a lot of the file system and file format. I also designed the scripting language and the networking strategy. I worked on the combat systems, movement and special attacks. I also got to some of the rendering code.
The scripting language was designed to be just that: A language for scripting situation. It was pretty simple and only intended to describe a series of events to get the timing correct. For this the primary benefit of using was the ability to 'wait' for commands to finish. For example: you could make a series of calls to move a bunch of people around, mark them all for wait, then just call one wait function which will pause the script until all movement was complete. The script was also used to time all the combat attacks so we could properly time when the damage would show up and how each attack behaved since there was a lot of variety to the attacks.
The movement ended up being its own complicated beast. The game is a turn based RPG, similar to Final Fantasy Tactics. You can move around on a 2D grid with 2 levels of height. This wouldn't be so bad except we added interesting things like:
It ended up taking quite some time getting the movement right but in the end all the different types of movement worked pretty well and felt 'right'.
Special attacks were very fun to work on. We basically used a full screen renderer for the effects with all sorts of different blends and effects for different attacks. Some were simple 'videos', some were overlays over the whole screen, and some were lot of particles bombarding the screen. All were impressive.