So I’ve started working on the world map for Himeko Sutori. Not the actual map to be used in the finished game, but the functionality for navigating the map, getting from one place to another, and triggering events.
I started off thinking about one of my favorite games, Final Fantasy Tactics. There are a lot of great things about that game. Unfortunately, the world map is not one of them.
Everyone I know who has played Final Fantasy Tactics has remarked on how annoying travel across the world map is. You just click on where you want to go, and every time you travel across a node outside a city, there’s a chance for a random encounter. You have no way of seeing the encounters coming, and if you’re looking for a fight you may have to travel for weeks before an encounter, or you may be waylaid multiple times when you just want to get from A to B.
I contrasted that with some of the other systems I’ve seen in use. One of my favorites is from Mount and Blade.
Travel across the world map in Mount and Blade isn’t perfect, but there’s a lot to appreciate.
Your characters have stats that improve your vision radius and movement speed. You travel faster during the day and slower at night. You can see the enemies coming and decide whether to run away or meet them head-on. A smaller army moves faster than and costs less to feed and pay than a bigger army, details which you rely on to survive your early levels. All of that adds up to make travel on the world map interesting and fun. It ends up being an addition to the game rather than an annoying distraction from it.
So when I started planning out Himeko Sutori’s world map, I decided I wanted to make one more like Mount and Blade than Final Fantasy Tactics. And I’m going to make a few tweaks and improvements to make it work as a fully turn-based strategy game.
To start off, I wanted travel on the world map to indicate the passage of time, to give some scale to the size of the world and the length of your adventure. And with that in mind, I started on a day-night cycle with this shader:
Unreal Engine 3 doesn’t handle dynamic lights extremely well, so I’m faking the changing light using some variables in the material shader. I have some changing values for the direction of the light, the main light color, shadow color, and highlight color, and those all change depending on time of day.
I put that functionality into all of the materials shown in the animated gif at the top of this post. I guess the changing light works pretty well. I’m not entirely satisfied with the colors yet, especially at sunrise and sunset. I also had turned down the highlights from what you saw in the brick sphere, but I think I’d like to bump those back up to make the world look a little less flat.
I had really wanted the game to look more like Civilization V, which is a visual masterpiece:
What you see there is a beautiful earthy palette, with dense texture detail and intricate 3D models. What we have in Himeko Sutori so far is cartoonishly saturated palettes and low-polygon models. I had to go that direction for several reasons, not least because I’m a solo developer and an old-school pixel aesthetic was easier for me to work with. But I did try to put more detail into the world map when I added these mountains:
I thought they looked pretty good. But unfortunately, they just didn’t work with the rest of Himeko Sutori. Just to get them that integrated took a lot of work: tweaking the colors in photoshop to match the existing palette, and making ring-shaped decals to make them blend into the surrounding terrain (you can see that I should have fixed the decal sorting there; the hex grid should have drawn over the top of the grass blend). Even with all that work, they still just stick out.
They look too realistic and detailed next to the rest of the game. And not only that, I had no way to extend the mountain ranges across multiple hexes. Maybe I could make it work by swapping in different models and changing the decals to not draw between mountain hexes. Or I could shell out the $250 for a copy of World Machine and make my own mountain models to fit any combination of adjacent hexes I would need. But even if I did that, I would probably have to replace everything else in the game to match the detail of the mountains.
And as of now, I’ve decided to use the less detailed mountains that you see in that picture. I made those using the in-engine landscape editor. I put a lot of effort into making the landscape shader look good, and I think the world map will be OK with those mountains. I’ll just need to work on other things to make it look right: Plants, rocks, lighting, and fog can all go a long way to dressing up what we have as of now.
Like the title says, this is a WIP, or a work in progress. I’ll keep working on the look and functionality of the world map and hopefully soon you’ll see some improvement.