Developer Diary 9 – Map Making

We used a well known coastline to test our mapping code.

We got an offer we couldn’t refuse… to use this well known coastline for our mapping code tests.

“Hang yourself or don’t hang yourself, you’ll regret it either way” 

— Søren Kierkegaard

Work on the new game is continuing apace, and the time has come to confront our old nemesis – map making. If you’ve been following us long enough, you may remember my protestations about the amount of map making in the original Unity of Command as well. This time around, the mapping situation is both better and worse, depending what you’re looking at. So let me show you what’s new.

The Sheer Size

The good thing about moving away from Russia (at least for the moment) is that there’s much less terrain to cover. No seriously, if you haven’t had to manually assign a terrain value to every hex from Lake Ladoga to the Caspian – you may have missed how ginormous Russia really is. If you have, go look at the map now, it’s huge.

So, less terrain to work on – yay! In fact, the theater is so miniature, by comparison, that we’ve actually had to zoom in a little. The map scale is now 15km/hex, down from 20km/hex. Incidentally, this shortens the duration of the turn from 4 days to 3. It’s easy to work out why – so that distances covered by units in each turn stay the same.

The Coastline

screen2The never-released map editor for Unity of Command already used GIS data to give us a coastline overlay. However, importing this overlay into the game was not automatic. You had to paint every hex of the coastline manually, and then decide whether it’s sea or land. This was not ideal. For example, this lake hex had to be manually made unplayable in every scenario, otherwise units would be able to cross the lake as if it were flat terrain.

To streamline the process, coastline data is now imported into the game directly, so that the map editor knows whether each hex is land or sea. In situations where the coastline cuts accross say, 50% of a hex, such hexes are flagged for manual adjustment. To fix these problematic parts, entire sections of the coastline can then be stretched or squeezed to fit the hex grid, with a map editor tool. Inevitably, keeping the coastline recognizable and fitted neatly into hex grid is going to take some work. The idea behind these tools is to make this easier, both for us, and for community map-makers later on.

The Beaches

For a bunch of different reasons, we’ve also made our lives more complicated this time around. Mostly this is because the land surface is rendered as one giant heightmap. So instead of just drawing the coastline on some flat 2D surface, we now need to apply a sloping profile across it to make it 3D. This is… complicated. It does make for nice plots in Ante’s debugging tool though.

Straight of Messina, we've been looking at you far too long

Strait of Messina, a piece of topography with which we’ve developed a complicated relationship

The sloping coastline does give us the ability to apply a different slope to beaches, as opposed to regular coastline. It makes the beaches look pretty, but it’s also a gameplay element with the amphibious landings mechanic.

The big landings such as Overlord and Husky should naturally appear as set-pieces in the game, more or less fixed at the start of a scenario. However, we are also looking to have improvised landings, such as Patton’s “end-runs” along the northern coast of Sicily.

To make this whole thing work, we need beaches, otherwise you’d be able to land your troops at the cliffs of Dover! Plus, again, the beaches look cool and frankly we just couldn’t resist.

The Sea Floor

It’s not a game element, but we’re also rendering the sea floor into the heightmap. This is for looks only, no excuses this time. Currently the sea floor only shows as a slightly lighter area of water close to the coastline – the water shader is still being worked on. Eventually it will be nicely visible through the water to give an effect of a deep or shallow sea floor, respectively.

I’m signing off with an in-engine screenshot showing the results of all this. I’ve left some gameplay elements on the map so you can get a sense of scale for this thing. You can see from the angle that the engine allows you full rotation (not just facing north) and that the map is nicely readable even when zoomed this far out.


As usual, I hope the post was worth your time reading it. You can let me know what you think in the comments below. Feel free to ask if you have any questions.




This entry was posted in News. Bookmark the permalink.

19 Responses to Developer Diary 9 – Map Making

  1. Tankista says:

    Hello tom,

    I have two questions (maybe a bit off-topic):

    1. Isn’t 15 km/hex too much? You mentioned that Russia is big (and it is), so are you not afraid that whole 1940 France campaign will be just 3-5 missions?

    2. Can you please tell when we can expect final product? I guess this is frequently asked and gets more and more irritating, but I’m not asking about specific date (way too early for that I presume). Any estimation would be nice – even year.

    Best regards

  2. tom says:

    You mean do we need to zoom in even more? So far it doesn’t look like that.

    Going from 20km to 15km stretches disctances by 33%, but gives you 78% more hexes (area is proportional to square of the scale). In the simulations we’ve done, this looks like the sweet spot.

    For example, going to 12km would give you 177% (!) more hexes, and then you start struggling with unit density.

    No comment on the release date. This is not a kickstarter or anything, we’re actually ok to ship it “when it’s done” 🙂

  3. Tankista says:

    thanks tom for the reply

    As for the km/hex – I didn’t think about units, I thought more about map size. If you say it’s tried and works then enough about my doubts.

    OK, I understand your release date policy. How about a different angle then – can you say what is the development progress? As far I I understand you have all major things covered (eg mechanics), what remains are maps, scenarios etc.. Any % would be appreciated as well (say, 75% done, 25% still to go).
    Of course, if not – no hard feelings, I’ll just wait for the final product.

    By the way, what will be max/min zoom level? I mean is, say, Sicyly most zoomed out, or is it possible to see all of Italy?

    I should have started with this, but I think you did a great job with UoC1 and hope that UoC2 will be even better!

  4. John P McMenamin says:

    Hey Tom,
    Thanks for the update. I am just starting playing UOC1 again and man that is a great game. As addictive as the first Panzer General was to me. I hope you and I am sure you do but with these updates you create more excitement about the game and it’s release date. I also was hoping for at least a target on the year the game will be released. 20017? 2018? Of course I am not pushing but look forward to the release! Take care.

  5. tom says:

    @Tankista: you can view the map from very far out, but obviously it becomes unplayable at some point. We will limit it to some usable range (but allow it to be unlocked, either via options or mods).

    @John: thanks for the kudos. We would like, and we hope, for a 2017 release, but I don’t want to commit to a date. Since, you know… whichever date I give, we will inevitably miss it, so what’s the point 😉

  6. HappyDaze says:

    I must admit that I am getting a little antsy for a new installment of the Blog. The almost monthly reports of the first half of the year may have spoiled me, but I hope that development has not run into more than a usual number of snags. Anyway, you have my best wishes for the holidays and the coming year.

  7. Andreas says:

    Always looking forward to read your new blog posts. Developing a game myself I know how hard it can be to find interesting topics to bring up. UoC 1 was an amazing game. Keep up the good work!

  8. Panno says:

    Looking forward to the new game 🙂 I hope it will moddable, because the current game has a lot of hardcoded values.

  9. tom says:

    @Happy: I am holding off posting because the screens we currently have are still a little raw (i.e. like the one in this post)… and if I post raw screens then people think we’re not progressing 😉

    @Panno: no worries, much less hardcoded stuff this time around.

    Thanks for the good wishes all.

  10. Ken Tyson says:

    Hello Tom and Merry Xmas. I look forward to this game so much and have very high hopes. While I understand it will be the western theater will this encompass North Africa as well and if so has a start date been decided on? Will flanking amphibious landings be a player option or scripted? With the Italian campaign being constructed to the narrow and mountainous boot of Italy flanking and supply cuts will be almost nonexistent. Same question regarding paratroop drops. Very excited though. Thank you.

  11. kvnrthr says:

    I hope the menu UI can be improved also.

    For example, a scroll bar, search, and sort functions would be useful in the scenario lists. Once we start messing about with custom scenarios we need to do a lot of clicking just to scroll down to get where we want!

  12. Caleb . says:

    I have been eagerly awaiting another entry into the blog but its been a few months… Is there any word when there will be a new one or if they will become more continuous?

  13. tom says:

    @Ken: the plan is to start around the time of Torch landings, or a little later. We’ll see what works well as a campaign start. We have a sweet new mechanic lined up for amphibious “end-runs” in which they’re *not* scripted, but we need to test it in detail before going public.

    @kvnrthr: added to TODO list 🙂

    @Caleb: mea culpa, I should be doing more diaries. Rest assured that the development is progressing though, no matter if I’m neglecting them a little atm.

  14. Caleb . says:

    Hello Again Tom, I was wondering if Operation Dragoon( the invasion of Southern France in 1944) will be in the second game. I only recently learned anything about it( American schools don’t teach anything in depth besides the bare basics). Also, will we be seeing the Australians and Canadians as well? I know you were talking about factions, so I was wondering if they fell under the British since they were part of the British Empire at the time.

  15. HappyDaze says:


    Good to hear from you again and to know that the game is progressing. I can hardly wait to get it onto my HD and start playing it. I also hope that once the first olive is out of the bottle, additional modules will come along a little quicker.

    Best wishes,

  16. tom says:

    @Caleb: the only reason Dragoon wouldn’t be in the game is if it doesn’t work well as a scenario. We dropped a couple of scenarios in UoC1 for this same reason, but I hope it won’t be the case for Dragoon.

    Australians will appear as units only, while Canadians and the British will have units *and* HQs. The faction, techinically speaking, for all of them is “allies”.

    @Happy: dude, no one will be happier when the new modules start coming out. But yeah, the entire holdup is due to this new engine based on python 3/OpenGL. Once we’re done, I expect normal service to be resumed.

    Speaking of which, there is now stuff to show, so expect a new dev diary, finally, April-ish 🙂


  17. Spencer says:

    Hi! I only very recently discovered Unity of Command as it was on sale, I love it! Cannot contain my excitement for the next iteration!

  18. Boyan says:

    Heya, any teasers or progress updates? I’ve been following the diaries regularly hoping for something!

  19. Michal says:

    Dear Tom, you are worse than George R.R. Martin, in passing us info about the new part. Awaiting new post in your blog…

Leave a Reply

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