City State sounds like an interesting mix of politics and simplified city building. What it actually is, is an ambitious indie title that feels like it was released a little too early.

What is the gameplay?

You place roads, zone structures, and mine for resources to earn money. You can enable different policies to change the laws in your state. This affects… well the game isn’t always clear on what your policies effect. Actually, that’s not strictly true. It can sometimes tell you what changed, but you’ll have no idea why those changes happened and why they are important.

What is the point of the game? Honestly, this could have been a game with just sliders, and called City Manager or something. The map building aspect, whilst the most fun part of the game, is also the area least focussed on.

I say fun not because it’s actually fun, but because it has the potential to be. I love city builders, and this game does not have enough of that to keep me playing. There are very few buildings to place and only one zone type. The roads are all the same size, meaning you lose out on planning out roads ahead to make room for larger roads. There didn’t seem to be any service buildings in the time that I played.

Most of the city changes happen in the stats screens, and not in the map itself. That’s why editing the map isn’t fun or meaningful; I want my map choices to affect the city. At the moment, the real gameplay happens in the menus and with sliders and checkboxes. Why not have the player place buildings that enable certain policies? The developer chose to put parks in the game instead of just a park slider, so why not have the extra services?

I get it: this is not meant to be SimCity. But what is it instead?

Obviously if a tutorial system is added, I might find myself finding a lot more depth and interest in the game. I haven’t given up yet! Maybe with more time, I will find more interesting buildings further down the tech tree, and more interesting political choices to play with. I don’t-not recommend the game, I just don’t-do recommend it either.

Also, the store page says “no tech trees”. Well, it has an unlock system, which cannot seem to be unlocked early (your population unlocks it), so I consider that worse than a tech tree I can research at my own pace. Either let me unlock it all like a true sandbox or give me an interesting research mechanic. Who knows, this might come in the game later. I haven’t played much of it.

What is the overall quality of the game?

It feels a little amateurish in places, which would have been fine for a £2-£5 game, but it’s a little disappointing for a £7.99 game. Especially one that isn’t in early access.

Everything needs tweaks or big improvements. Some of the GUI elements feel like default Windows elements. It needs a tutorial. The terrain editor needs a larger brush option for changing larger portions of the map. The game shouldn’t freeze whenever a big change to the map is made (including placing roads, which for a city builder is quite annoying).

The game has a large minimap that provides no further information. Why is it there? Why is there no traffic overlay, or even just a visual of the radii of parks and roads. How do I know how often to place them? Why does the text on the side not fit exactly in the GUI panel?

The user interface is a bit clunky, the tutorial hints do not hint to much, and the GUI doesn’t always update when the game is paused (weirdly, sometimes it does!).

Skip this section if you don’t care about programming:

When programming a game, you typically have an update call and a render call. You use the update to modify the logic of the game, including the user interface. The render call, also referred to as one frame (update sometimes being referred to as one tick) draws and sends the visuals to the graphics card.

Simulation games typically have a special Simulate call too! So when the logic of the world (in this case, the city) is updated, that is put inside Simulate. That can be called 1 time per frame if the game speed is 1. It can be called twice per frame, if the speed is 2, or called zero times if the game is paused. If you figure this out in the early stages of development, it can save a lot of headaches.

By putting the user interface inside update call, it should still be able to update when the game is paused. Otherwise, it can freeze up if put in the simulate call. This happened with the terrain editor in Prehistoric Kingdom’s demo- the terrain would not raise or lower whilst the game was paused. You also don’t want it to modify faster when the game speed is increased.

Programming rant over.