Did this sketch while explaining over Google Hangouts to Jery how in-game cursor areas work:
Having hard time concentrating on a complex problem of navigation, so my mind starts to wander around getting up to speed to deal with that by doing minor bits and pieces. Right now – cleaning up the code: removing unused commands, parameters and variables.
P.S. Just did the 1400th revision to the NG repository 🙂
Unit navigation is one of the core systems of the game which effect almost everything: terrain, passability, unit interaction, fighting, city planning, houses, gui, resource mining, and other things.
Since the dawn of ages we used so-called Tiled navigation. Terrain was made of square tiles (game engine treated them like squares irregardless of displayed shape) and each unit took exactly one tile at a time. Unit movement consisted of series of moves from one tile to another. Units could interact only when they were on a tile. Anything inbetween tiles could not happen (with just a few rare exceptions). Overall that resulted in clunky and unresponsive unit movement.
New Recast navigation is a step forward. It allows units to move around the terrain freely. Units walk and interact each tick. Changing direction and response to orders is almost immediate now.
Naturally the quest to rip it out and plant a totally new system in its place is huge. It took me several weeks to find a good starting direction to get to it.
This weekend I’ve been working on splitting the unit navigation code into two distinct branches. Legacy branch (Tiled navigation) and Recast branch (new free movement). Idea is to refactor the code to allow these two branches to co-exist. There are several benefits to that divide-and-conquer approach. That allows to rethink the code design to try to keep navigation code more compact and out of the systems that should not rely on its implementation details.
With that plan in works, NG is going closer to public announcement 🙂
I’d like to keep AI up to date because it can build towns in a very short time and that is a good simulation of the load put on CPU and GPU. As well a showcase of the games looks.
AI refused to hire more units because they required Cloth instead of Gold. Had to update the AI and units to include proper costs fields (Cost1 and Cost2). Now AI properly hires units again 🙂
AI is still acting weird, placing GoldMine right next to the Camp. Must be something to do with not yet implemented Gold mountains.
Thinking about more polished Alpha2. The word “polish” can hardly associate with concept of Alpha, yeah, but still I’d like to put that one out before the GP day (going public).
Since last “live progress”, I did some more Tavern texturing and fixing and started with Fishermans. I’m not happy with basement stones layout and plaster texture, so I need to take a break before returning to them with fresh ideas.
Meanwhile Jery has been working on flag animations. We have discussed implementation ideas and picked the simplest for now – procedural animation in vertex shader. Surprisingly it came out very good.
Here’s our joint result:
P.S. I believe I have mentioned Jery. He gives me a hand with the NG from time to time. He did the cursor-terrain intersection code around summer 2014 iirc.
This is a new fishermans house sketch.
Fishermans house has a few key elements.
The house is quite colorful and I especially like the blue/orange tints complimenting and enriching each other. Door and house walls are a bit stripey/monotone, so maybe there will be plaster walls.
Been working on houses for the past few days. Modelling, texturing and previewing.
This is Fishermans house model I’m refactoring now, optimizing polycount, covering holes and fixing proportions.
Now house area can be set from GUI, with handy chechboxes.
P.S. Fixed a couple more bugs in the games code, for smooth in-game previewing.
I did not show you the Tavern art yet, right?
For the last 2 months I’m completely occupied with RecastNavigation – porting and bugfixing, with addition of rigging now, which goes slowly .. very slowly.
On the brighter side – here’s a little glimpse of whats going on behind the scenes (aka Krom bought a color laser printer)