Aurora Heir is a single player RTS / simulation / tower defense game 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.
Build up your towers, recruit and train war band to protect your domain from various mythical creatures. Establish vital production with fishers, hunters, farmers, miners, woodcutters etc. Beware that harsh Nordic winters may easily eat up your tribe leaving nothing more than frozen soil behind. Player may choose to embrace or defy ancient gods for decisions like this will determine the outcome of the game. Harness the power of your shamans for interaction with the gods.
There are currently two tribes with different starting conditions and bonuses, which player may choose from. Game consists of five different classes (workers, shamans, warriors, scoundrels and rangers), 19 different professions, 25 different buildings + roads and paths and various critters and mythical creatures.
Maps are randomly generated and contains bunch of various resources, critters and of course space for building your village. Choosing the most efficient starting point in terms of nearby resources and sacred grounds has it's advantages.
This is indie project made with Unity engine and game is currently work in progress. Playable pre-alpha version has been completed and development efforts are currently focusing on optimization, lore implementation and nuances which will affect on game-play (hopefully positively).
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 Worker (taking a nap in the turnips bush?!)
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.
No articles were found matching the criteria specified. We suggest you try the article list with no filter applied, to browse all available. Post article and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.