Hello guys,
Our mobile game (Bioocean Fantasy) finally got launched globally on App Store! Thanks so much for the help from the community! I will do a brief tech report and then back to work for Android π
Here's the App Store link:
App Store

Behavior Tree

One of the most challenging tasks is to implement the troop units AIs. At first, we used the State Machine. It seemed to work pretty well at beginning, but soon it turned out to be a mess. And finally we decided to use Behavior Tree instead.

We have a battle replay system so I have to make sure the game is deterministic. There's a switch to record selected troop unit behaviors in dev setting, so we can check to see what AI decisions are made for each frame in the behavior tree.


Terrain
Another part is the terrain of the battlefield. The game is in isometric view and tile-based. But we don't want to be limited by tiles. We use Spine2d to create the terrain's base shape and add detailed decor later on top of it.

So it's kinda a combination of tiles and meshes.
Here's the look at the world map. All the different terrains are Spine 2d objects.

Data-driven storyline

Ideally, I think I should use some scripting language to write an in-game interactive plot but fail to find a good script engine for starling. Currently, we use a CSV file to define stories(triggers, animations, etc.) and sync it using Remote Config.
Any suggestions and comments are appreciated!
Cheers