• Register

The game you are trying to view has ceased development and consequently been archived. If you are a member of this game, can demonstrate that it is being actively developed and will be able to keep this profile up to date with the latest news, images, videos and downloads, please contact us with all details and we will consider its re-activation.

Aurora Heir is a single player village builder game with RTS elements which rests on Finnish folklore and mythology. Game is based on harvesting various resources and building up from handful of workers into a functional network of villages in which every resident has it's own role. Player may choose to micromanage everything or let workers do the decisions by assigning professions to villagers which will guide their actions and focus on higher level decisions.

Report RSS Dev Blog #1: Aurora Heir

Some information related to current progress in terms of optimization.

Posted by on

Greetings friends,

I've been busy with optimization related to both GPU and CPU. The most important update related to CPU is optimization of A* navigation algorithm.. Basically this one has been in my TO-DO list for a while, but I haven't yet had enough time to get my hands dirty. Now then, I've re-implemented navigation algorithm with optimized data structures and here is how I did it:

I have a PathFinder pool and limited number of threads, which may be acquired by agents and utilized for navigation. After PathFinder has completed it's job, it will be returned to pool for reuse. I implemented both, open set and close set as a boolean arrays, which leads to the fact that I can check for existence of node within them relatively fast by acquiring boolean value from array by node index instead of executing costly contains methods or loops.

Another performance gain related to navigation is to replace open list (yes I have open list and open set as a separate structures) with binary heap data structure. Previously I just had simple list, which obviously is not the most effective in terms of performance. Binary heap eliminates the need of excess iteration while figuring out node with lowest "fCost" value within path finding loop.

In GPU side, I've optimized all humanoid models and environmental details. Currently vertices count per humanoid model is around 1600, which might still be a little too much. In the end, all depends on how many characters there will be in the screen simultaneously. Let's see if I will do some more optimization related to humanoids in the future. I've also done some repainting with the models (meaning that they now have updated skins and some parts of armor). Here are some close up screen shots of current models:

Female Ranger

Female Ranger


Male Scoundrel

Male Scoundrel


Female Shaman

Female Shaman


Female Warrior

Female Warrior


Female Worker (taking a nap in the turnips bush?!)

Female Worker


Male Worker

Male Worker


Sounds and background ambient are currently work in progress. Planning to do some more composing in the near future and yes, need to do some more vocal acting so that character will have varying responses to payers commands : ) Will they crank? let me know!

My apologies if this update was too technical. Do post a comment if so, after all I'm writing this for you.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: