Developer Diary 12 – So over with Under-The-Hood

The rendering finally does most of what we want it to. It was about time frankly.

We’ve added billboards to display unit status: step count and the rest. I was unhappy with the amount of zoom normally provided by other games using this Civ-like perspective. I think this is partly because scaling the billboards is hard, which we learned (duh) the hard way. Now that we can scale them though, we’ve been having a great time zooming in and out. It’s really awesome.

The Allied faction gets its own color, which is green, unsurprisingly. Our original idea was to keep it blue vs. red, but that puts us in problems for future Axis campaigns. Axis would be blue when playing against Soviets, but red against the Allies. There are no good solutions here (don’t even get me started on making the Allies red) so we simply gave the Allies a jacked up green.

A bonus is that we can now use yet another color for when we want to be historically precise. For example, Finland in a 1939 scenario would be classified as Neutral (faction), rather than Axis. Feel free to propose a color for the neutrals… finding enough distinct colors for all the things we want color-coded is our daily nightmare, and we gladly welcome you to it.

The Part with the Neat Pic

We improved hex grid rendering: because our terrain is proper 3D, having the grid boogie up and down the mountains was highly unsatisfactory. The solution with dashes seems to be the way to go – it has held up in tests so far.

There are quite a few new graphical assets and improvements, though mostly the last few months were still about exploring the technology. We did (insert large number) of tests to make sure that coastlines and river beds look good at all zoom levels. We played with roads and bridges, and while the technology is now settled, there is still much to learn about using it to make the game both look good and be readable.

The units are still drowning in the terrain, which is fair play since this is kind of the point of military uniforms. Not really good for gameplay though. We tried incidence angle shading as a simple way to boost the units and make them stand out but the results were decidedly meh. We’ll probably try some sort of shadow/glow combination next, as eventually we have to find something to make them stand out more.

Under the Hood

Most of our time during the summer, fun stuff above notwithstanding, was a real grind involving fairly low-level stuff. We did finally create the full game state, the arrays and tables which make the game run under the hood. This is a relatively fun thing to do… if you’re into spreadsheets. This work builds on original Unity of Command, and that’s good news because it means we’ll be able to do things much faster now.

A surprising amount of work went into data validation. If you didn’t know what this is: the game reads almost all of its data from what are essentially text files. Now, if Joe Modder goes and makes a bunch of changes to these files, this is something we generally approve of. It would be decidedly uncool however, if any small typo or a syntax error in one of these files would crash the game.

For example, if Joe wanted to increase max steps to 9 and typed in “max_steps: NINER”, the game would not understand the intention (sorry Joe!) but it would cleanly report an error rather than crashing to desktop. Exposing your game data like this, and then painstakingly validating each value is, again, a surprising amount of work. I sure hope the mod support results in people coming up with cool mods, that would make it so worth it.

Not the Map Again

Finally, the map, our old nemesis, accounted for a good share of our time once more. We added support for combined map assets to the editor. For example: a mountain is a heightmap, plus some decals, and there is a smattering of trees that go with it. While the trees are still handled separately (reasons!), the rest handles like a single asset in the editor, which means you can move it, scale, rotate etc. We did a similar thing with farms, where we allow you to combine several of the small farms into larger patches and stamp those on the countryside, rather than working one by one which was super annoying.

We added full command buffer stack support to both map and scenario editors (undo/redo), z-ordering of map decals, and proper elevation for soldiers positioned in a mountain hex. We also fixed about 3 million self-intersection issues related to coastline editing and this is now decidedly the most fun tool in the map editor to use.

The work continues! 🙂

This entry was posted in News. Bookmark the permalink.

21 Responses to Developer Diary 12 – So over with Under-The-Hood

Leave a Reply

Your email address will not be published. Required fields are marked *