Daniel J. Petersen’s Devblog

Documenting my struggle to make a videogame.

It Always Ends in Nuclear War Update 1

In my spare time I’ve been working on a game which I’m calling It Always Ends In Nuclear War. It started out as a clone of the Civilization series, but with my own twist. I had some design requirements I imposed on myself, such as eliminating the mathematical nature of the game, reducing micromanagement, and making the game more dynamic by including mechanics such as revolutions.

As I made progress on the game, though, I began to realize that the design requirements I imposed on myself and the mechanics of traditional 4x games like Civilization are a bit at odds with each other. I’ve decided that I’m going to just embrace what I want to do and ditch the more Civ-like requirements.

I don’t quite know how to describe the game, because I don’t think there’s anything out there that’s doing what I’m trying to do. I’m aiming to make something akin to , but modeling human history instead of cells. A huge difference is that Conway’s Game of Life is passive, where as this is going to be more game like. You’re going to be in control of a Civilization and making overarching decisions for it. A lot of your civilizations development will be based on rules that you have little control over, but I’m going to try to strike a balance between simulation and gameplay.

That’s the best explanation I can offer for now. I’ll go into how it plays when I’ve made more progress, because I’m still prototyping.

I spent my free time in the past few days working on taking my existing code and gutting a lot of functionality that I don’t need anymore.

One of the main things I want to do is show the player the more macro side of history, so I made the decision to increase map size by quite a bit. The previous maps were 70x75 – The new maps are 280 x 300. That’s a change from 5,250 tiles to 84,000 tiles. I think if we compare this to the real world it comes out to around 50 miles per tile, but my math might be off on that?

The old game:

First I increased the number of tiles to 84,000 and decreased the physical size of the tiles (I think they were previously 64x32, now I think they’re 16x8?)

My game has a boolean value where I can turn tile textures on / off. I decided to turn textures off hence the ugly tile colors. I think the new tiles are much too small for textures to make sense.

I had a pseudo 3d effect (was trying to go for something akin to alpha centauri) in the old game which doesn’t work so well with this new set up. The screenshot above is actually the first attempt I made to scale it down, because it looked even more ridiculous than that. The second try was much more reasonable:

Decided to get rid of the ocean floor. I never really did quite like the way it looked:

I think around this point I decided to get rid of the tile height completely. It can be turned back on by uncommenting one line, but I think it’s for the best with it off.

The zoomed out view shows that the map generation algorithm needs some tweaking. It’s designed to work on much smaller map sizes (5250 tiles vs 84000!)

I didn’t want to create a new algorithm for generating maps. I decided that the easiest solution would be to generate a map for the old map size of 5250, and then just scale it up to a larger map size. The map is scaled up by a factor of 4 compared to the old one, so I’m basically just treating every one tile in the old map generation algorithm as a group of 4x4 tiles in the new map.

Whew it compiled! But it didn’t quite work…

Closer, but what the hell is going on with the water and the topright side of the map?

Fixed the water, but something still isn’t quite right. I am happy at this point, though, because the general theory I had seems like it’ll work.

There we go.

Now I just need to make the shoreline not so rigid..



So that’s going to be the default camera view. Conveying information with such a high view is going to be a bit of a problem. I need to figure out how to display the locations of cities, as well as nation borders. I think maybe having a red outline around tiles with cities might be the way to go. I tested it out by randomly outlining tiles here, but I’m going to sleep on it:

I’m thinking if you mouse over a tile with a red outline, maybe a tool-tip like popup will appear with the city name and some more information.

Also tested to see how bad the height looks if it’s turned on again:

Pretty sure I’m going to leave it off as it clutters the game.

When I next get a chance I’m going to work on the generation of tile types since that’s still using the algorithm designed for small maps. For the record, though, the tan tiles are desert, white tiles are ice, and the green tiles are grassland. I’m also going to work on adding in rivers to the game.