The City Building Game I Want

I've been pondering in my head a city building game along the lines of some of the city building elements of Black & White 2 (an otherwise wholly mediocre game) for a while now. I don't much care about getting credit or payment for these ideas; I just want to play the game, so everything on this page is explicitely released to the public domain.

Abbreviations: B&W2 = Black & White 2 (external link), DF = Dwarf Fortress (external link), CotN = Children Of The Nile (external link), 1701 = Anno 1701, AKA 1701 A.D. (external link), Hinterland = Hinterland (external link)

The Basics

The specific thing I liked about the city building in B&W2 is that there was more than one city on the map, and people in other cities could be drawn to your city by it being a great place to live. (I'm going to call this "cultural takeover" or "citizen stealing" or "people sucking", depending on my mood.)

The reason I like this is twofold. On the one hand, I don't much like pure (meaning "no goals") city building. I want there to be some form of challenge to overcome that is external to the city (i.e. something other than the balancing of structure locations or whatever). I like there to be an over-arching goal or threat or enemy. On the other hand, the way many city builders handle this is having a combat sub-game, which doesn't really work. For one thing, they all do it poorly. For another, it really breaks the flow of managing a city.

Having pre-built cities on the same map (or having the AI build them, but that's much harder, of course) from which one can steal citizens, and having the goal of being the only city on the map, is exactly the kind of challenge I'm looking for. The game could also have a military component (a la B&W2's good vs. evil tracks), but hopefully not as poorly done as, umm, every city builder I've ever played. Given the player more ways to win is always good, of course, but the rest of this document will largely focus on people sucking, as that's the exceptional gameply style I want to see more of.

Having said that, the concept isn't all that complicated, so there's a lot of other general city builder stuff in here too.

Base Gameplay

The world spawns (ideally randomly; I like replayability!) with a limited number of people; the human player(s) get very few people to start (a la DF's 7 dwarves). People move between towns based on how much they like where they are (which is both about the town overall and their own status and such) versus how much others like where they are, as well as other considerations such as the wealth of the various towns.

Citizens are individuals and are simulated as such; each and every person in the city has their own needs, desires, drives, and so on. CotN does this, as does DF. DF has much richer people, and much better insight into how they work. CotN, as far as I can tell, does a better job of protecting the citizens from the player; that is, citizens do whatever they want to do, the player can only really provide an environment for them to do it in. I prefer that method, although there should be sort of emergency ways to break people out of ruts, because it's frustrating when you've solved a problem but people are taking a long time to notice because they're busy protesting, for example.

The individuals might be taken to represent groups, as even a 10K person virtual city sounds hard to manage if the individual people are "real" in this sense.

There should be a vast technology tree, but it should be as realistic as possible. That is, making things (including buildings) requires having other things, and those relationships should try to be realistic. Making a plow requires having wood and metal and something like rope, for example. The exact type of materials can, in some cases (such as the type of metal for a plow) be substituted for different levels of effectiveness. The most advanced things makeable should be at least 5th tier creations, and the web between jobs/shops at the high levels should be quite complicated. At no point, though, should it seem arbitrary.

I'd like to see gameplay a bit slower than most city builders; I'd like it to take a while for problems to manifest, and a while to fix them. In other words, if we're short on food, I should find this out far enough in advance that I have a significant amount of game time (10-15 minutes, at least) to deal with it before people start leaving.

This game shouldn't have in the way of protesting or rioting at all. Discontent people will simply move to another town. This makes downward spirals challenging: the most skilled people have the most needs, and hence leave first. There's a good chance they'll leave holes behind in the economy, and those holes may be hard to fill if the job requires sufficiently specialized skills.

This means that even something as simple as a "how happy people need to be to stay" slider can allow for a wide range of levels of challenge to the game.

I'd also like to see the game be a bit more spread out than, say, CotN. People can walk 3 or 4 blocks to shop. Seriously.

Jobs, Skills And The Societal Pyramid

There should be a wide variety of different jobs available in the game. Which jobs citizens try to fill will be determined by the player: they can only engage in jobs for which the buildings exist, and the player places those.

People will always take the highest-paying available job for which the have the requisite skills. Skill requirements and pay should be vary together.

Jobs induce requirements in the citizens. That is, particular jobs lead to the citizens wanting particular things, entirely seperate from what the jobs themselves require. For example, a garbage hauler is going to want beer. A fine furniture maker might have a thing for chocolate, totally independent of his need for wood to make the furniture. Even better, there might be any number of possible needs for each job, and a few are randomly selected by each individual.

The more basic a requirement is, the more angry people get without it. 1701 to the contrary, people really shouldn't revolt or quit their jobs or whatever if they can't get perfume.

If no-one at all has the skill set required to do a job, anyone can take it, but they'll be bad at it for a while. There may also be absolute minimum requirements, i.e. you can't become a scribe if you're not literate, period. How bad they are and for how long is determined by the number of skills and the number of skill levels they are from correct; this should be severe enough that plopping down a 5th tier building right at the start is completely useless: the amount of time required to get up to speed is longer than a citizen's life.

Money flows from raw material producers. That is, it costs nothing to dig up iron ore, but the iron ore itself has value. All money in the game should flow from this source; there should be no magically appearing money. I'm not an economist, so that may not be sufficient, but wherever money comes from, it should be transparent and non-magical. By "sufficient" here, I mean that lack of money in the economy should not be a constant in-game problem, although it can certainly be an occasional one. This means if no-one buys furniture, the furniture maker doesn't get paid.

The top of the societal pyramid, if any, will probably be nobility, who trade taxes for protection as usual.

Needs

Citizens, of course, have needs. Some of these needs are for buildings as such (i.e. "I want a school for my kids to study at") and some are indirect needs for buildings (i.e. "I want chocolate", which means making a chocolatier's building so someone can fill that job).

The opacity of citizen requests provides an excellent, and entirely ignored as far as I know, difficulty scaling mechanism. At the "easy" end, the game can routinely pop up dialogues saying "12 citizens need a chocolatier", or whatever. This very nearly reduces the player to an automatic button pusher, since all they have to do is figure out where to put the building, but sometimes even that is fun, at least for me. At the "hard" end, you have to go look at individual citzens to find out what they want. At the "insane" end, all you know is how upset they are, but I don't know if that's viable at all.

Migration And Happiness

Citizens will move into or out of a city based on how attractive other cities look. This is based on a few things, in loose order of importance.

  • needs not being met (actual effect is based on severity)
  • lack of current personal wealth (actual effect is based on severity)
  • happiness of people in the best available job
  • wealth of people in the best available job, estimated if necessary (i.e. the job is available but no-one in that city has ever held it)
  • overall city happiness
  • overall city wealth

The reason for factoring wealth in is that the entire merchant class might be furious that they are out of pastries or whatever, but if you're coming from a city where as a merchant you're flat broke, that still looks pretty fine.

Each cit should say, in detail, what they are happy / unhappy about, and when it happened. The effects of events on happiness should be strongly time discounted.

There should be many ways to find happy or unhappy citizens of different types or reasons for unhappiness.

Citizens should have life log that shows all major events: career, social class, milestones in skills / happiness, etc.

Hinterland also has the idea of people visiting your town for a while, and then moving on unless you build homes for them (or, more to the point in this game, designate a home site and let others build it), which is neat in that it gives the player the option of not expanding if they don't want to.

In an RPG/CB mix, I also like Hinterland's system of giving the town more fame when people from the town clear out a dungeon or bit of infested wilderness or whatever. I don't much like Hinterland's time scale, though; going to clear out a dungeon should be a Serious Quest, where weeks pass in town and you don't have to go running back there every 20 wall-clock minutes (no, really) to help the poo bastards.

Relationships

Citizens have relationships with other citizens, on an individual basis. The closeness/quality of these relationships is tracked.

A threshold exists, which we'll call the mourning threshold. Relations above this threshold lead to mourning if the related person dies. All relations are two-way: if X is above Y's mourn threshold, the reverse will also be true.

Immediate family start at the mourn threshold. Working the same job or using the same building at the same time increases relationship strength. For more ideas on increasing and decreasing relationship strongth, see DF; it doesn't have exactly this idea, but it has lots of miscellaneous ways citizens can interact.

There should probably be other relationship thresholds, such as the possibility of fueding. This could get very deep.

Death

As mentioned above, death starts mourning in those close to the victim. Mourning ends almost immediately if there is a priest of the diety the deceased worshipped (if any) and a mortuary available. If neither are available, mourning takes a Long Time. If the dead person was an athiest, no mortuary only counts as one missing building, so it's not as bad.

Mourners do not work, but they do everything else. This means they can end up broke, which makes them very angry.

Mysticism/Superscience

I'm a big fan of supernatural type stuff in my games. I really want to see magic or superscience or other things I can't get in real life. Anything that's too much like a historical simulation just bores me. That's just me, though, so anything in this section is even more optional than the rest of this document.

For "magic" here, please feel free to read "superscience"; a bioengineer being able to heal with nanomachines is, for the purposes of a game anyways, exactly equivalent to magic.

Religion

My initial thought is that citizens have a particular god they primarily worship, and that they pick gods at semi-random. Certainly some skills attract citizens to particular dieties; a scribe is unilkely to be worshipping a warrior god. How much influence the player has on this is up for grabs, but I would like to see citizens converting from one diety to another based on more or less the same factors as migration. If it worked like that, the player could influence everyone to a particular god, or to atheism, by making sure that people of the desired bent prospered excessively. Which sounds really hard, and hence and interesting goal.

The possibility of miracles from happy gods or divine retribution from slighted gods adds a whole other level here as well.

Magic

Magic should require components, so as to tie into the rest of the economy. Magic should also have effects that tie in to the rest of the game, although if the game has a military component, some of the spells might be very typical attack spells. For spells that tie into the city component of the game, having them provide passive benefits over time would work well, although "Conjure Raw Material" might be awfully nice.

Spell acquirement is a place where a lot of depth could be added to the game; here are some ideas:

  • Favour with dieties. This could get very deep; whole trees of diety-favour buildings or whatever.
  • Research, but less stupid than in most games. Citizens with higher intelligence have a random chance of making discoveries, as opposed to "spend X on research and get rewarded reliably", which is the stupid shit other games tend to do. Whether even that kind of research makes sense in the time scale of the game is up for grabs; depends on the timescale.
  • Learning from others.

If you want to have religious magic, priests or temples could give passive benefits (more children, better crops, etc). You could also give priests spell magic.

Spell magic could give more active benefits; go to particular houses and induce children, smite enemies, heal particular sick people, etc. Non-magical healers should probably also exist, but be less effective, at least in a low-tech setting.

Mages need schools, but mage schools need mages to be built. Same with temples and priests. As usual, the holes can be filled by anyone if empty, but the first mage or priest must be literate and will suck very badly; skill of teachers should have huge impact here, more than many other professions.

Interface

The game should have as many user-settable difficulty settings and victory conditions as possible. 1701 is like this, but it's not nearly as good at it as 4X games; Galactic Civilizations 2 (external link) is a good example. The list of ways to modify difficulty and victory is astounding.

I'd like to see templating, similar to SupCom FA (external link), so the player can make a template for, say, "rich shopping district" and have all the relevant houses and shops laid out in a nice grid.

I'd like to see something like DF's Z axis system, because I think that could be a lot of fun in a game with real graphics. That is, things can be higher or lower than each other, and this includes digging into the earth or creating tall towers. Roads can be built over changes in elevation, but they need ramps to do it (hopefully the game auto-builds ramps for you). This means you can carve your city into a mountain, or build multi-level buildings (depending on worker skill and materials used). It does, however, add a lot of complexity, both to creating and playing the game.

Regardless of that, I'd definately like to see the ability to expand buildings with add-ons that both change it visually and enhance its abilities.

Other City Building Games

Here are some city building games I've played, and why I like or dislike them.

Black & White 2

Black & White 2 (external link) (B&W2) is obviously the impetus for this whole idea. So, you might be asking, why not go play that?

Well, two reasons.

One is that the city building game in B&W2 is very shallow. Seriously. Extremely. B&W2 is shallow in exactly the way that DF isn't.

The other is that B&W2 has no skirmish mode, nor multiplayer, nor any other replayability. Not counting tutorials, there are something like 5 lands in the main campaign, most of which are short, and are trivially easy to complete as a good god (i.e. converting people with your awesome city building rather than fighting them).

If it had a skirmish mode to go with its map editor (yes, there's an editor, but no way to get to the edited lands without replacing the main campaign; is that weak or what?) I'd still be playing it. As it is, it was an interesting 20 hours or so. Weak.

Dwarf Fortress

Dwarf Fortress (external link) (DF) is, in many respects, the best city builder I've ever played. It's certainly the deepest, no question. There are not enough good things that can be said about the world generation, the depth of the building and job system, or the way the world seems real around your citizens and can throw arbitrary stuff at you.

Besides not having the citizen-stealing gameplay I describe here, there are a few other reasons I don't play it. I'm mentioning them on the off chance Bay 12 might decide to fix them, although I've already asked.

  • It's not actually text-based (external link), it's OpenGL that just happens to use tiles that look like characters. No, seriously, I'm not kidding. This means that even if it was ported to Linux, I can't run it under GNU screen (external link), which is much of the point of playing text-based games for me; I can play them from anywhere with ssh, and pick up where I left off from anywhere else.
  • The documentation is ... unfortunate. The DF wiki helps, though.
  • The interface is, I'm sorry to say, about the worst I've ever seen. Seriously. And I write really bad interfaces myself, so that's saying something. There are two completely different ways to lay out a building (mark corners vs. grow/shrink height and width), there are no less than five (5) sets of movement/sizing keys (IUOP (in the world params), 2846, /*-+, UMKH, and the arrow keys) with shift forms of all of them, and none of them work in the help screen (there you have to use tab). I could go on; it is possible to make text-based (external link) programs and games with comprehensible interfaces (see w3m (external link), Dungeon Crawl (external link), mutt (external link), etc, etc), but this is very, very much not one of them.

Playing DF actually prompted me to write this document in the first place: I was thinking about writing my own TUI (external link) city building game with a less horrifying interface. I'm still thinking about that, although if I were to do such a thing I might make a mod for an RTS, such as Glest (external link) or Spring (external link), and get all that pretty to go with it. Right now (July 2008), though, I'm mostly waiting for Spore to come out to see if it scratches this itch.

Children Of The Nile

Children Of The Nile (external link) (CotN) is a lovely game, and I really like the way that individuals are not under the player's control really at all, but it has no external challenges really, and it's quite easy, so I got bored of it faster than I'd have liked.

To be fair, I never tried it on "hard", but the game is shallow enough that the things that could be changed to provide more challenge don't strike me as very fun. I should try it on hard, though, some day.

Anno 1701

Anno 1701, AKA 1701 A.D. (external link) (1701) is a lot of fun, and plays very smoothly. It's also the only city builder I've played besides B&W2 that has multiple cities on the same map. It also has the best selectability of victory conditions, by far.

Unfortunately, the only way to deal with other cities is militarily, and while the military aspects are better than every other game on this list (with the possible excepting of DF, which changes about every twenty minutes) that is not a compliment. With the right victory conditions, you can just ignore them, but that's no fun IMO.

Miscellaneous Ideas

Replayability

Besides having goals and lots of ancillary events and so on, it seems to me that one way to provide replayability is to have such a vast tech tree (I'm using "tech tree" here loosely: actual tech trees suck; tech improvements should fall out of the building requirements hierarchy) with such steep requirements that a civilization must specialize in one tiny piece of it.

Leaders

  • trade protection for taxes
  • Can get thrown out if protection fails; most politically skilled takes their place
  • Initial "nobles" (mayor) created at first need of protection (wolf attack or whatever)
  • implies possibility of war, otherwise not much need for protection

Soldiers

  • player has per-unit "go here and be hostile" flag (where "here" may be a route)
  • time spent in this mode increases warrior skills
  • at certain levels of "Warrior", soldiers become smarter
    • increased propensity for defeat in detail
    • increased propensity to target most dangerous first
    • increased propensity to target attacking ranged units first
    • increased propensity to move with the slowest units
  • level also increases damage / defense, of course
  • as such, a unit of relatively lightly armed veterans should be able to obliterate to equal numbers of better armed amateurs
  • member of unit with highest "Warrior" is leader, gives bonus to others' Warrior skill
  • all units in hostile mode are assumed to be actively training, so you can just leave them there indefinitely

Races

  • different ads/disads
  • dwarves die less, born less, harder to kill
  • elves born far less, die not at all, as hard as dwarves to kill, but the *entire* city has mutual mourn threshold relations, so you'd better have a priest and mortuary before a wolf nails somebody!
  • undead not born or die, start with more people, don't eat, move slowly, hard to kill, can't convert others normally, get no caravans, but if others are within influence range of the undead city they "get sick" and become undead with the same triggers as normal conversion but *far* faster; all such conversions lead to military response?. Also, undead do not convert, ever, so dealing with them means one-way attrition.
  • The Lost (chaos worshippers) have random passive bonuses / penalties to all citizens, and to all buildings and those who use them. Temple bonuses also random, but almost always good

Skills

These are basically just examples

  • farmer
    • increased by: planting seeds, weeding, harvesting
    • each failure means less crop from that field
  • book-keeper
    • increased by: buying or selling, proportionate to amount
    • failure means some money from the transaction is simply lost
  • warrior
    • increased by: hostility, fighting
    • not directly rolled againts; see Soldiers
  • defense
    • increased by: hostility, fighting
    • success takes no damage from hits
    • failure takes full damage from hits, less armour
  • [weapon] attack
    • as defense, but hitting instead of defending

Buildings

  • are buildings multi-function? This is a key difference between DF and CotN/Anno: in CotN/Anno each building produces only one good
  • DF style means fewer buildings, but more management of them

Completely Misc

  • water-borne trading from other cities / independant traders (like CotN)
  • cities have a radius of influence based on citizen happiness; shows up as a ring of light. Anyone in this radius, including enemy soldiers, has a chance of changing sides

TUI Ideas

Some of my notes relate to when I was thinking of making my own TUI (external link) city building game.

  • mouse support like w3m
  • easy localization with something like that Perl locale text thing
  • modes to move through buildings, people, or all squares

TUI Zooming

City building games, IMO, really need a zoom function to be playable. I am not aware of any TUI game that has such a thing, but I think it's possible.

There needs to be a most-fine-grained level. My suggestion is that at that level a cat or rat or pixie takes up a single square. At that resolution, humans take up 4 squares (and hence, assuming diagonal attacks, can be attacked by 12 cats:

 ........
 .cccc...
 .c@@c...
 .c@@c...
 .cccc...
 ........
 ........
 ........

@ is the human, c is a cat, . is the floor. Note that the human can only move two squares at a time; otherwise the zoom doesn't work. That's why the view is lopsided. To zoom, we reduce by 2 in both directions. A 4-square that contains only one item/creature presents that in the new view. A 4-square that contains more than one (not shown here) not counting the ground would flip back and forth betweent he symbols:

 ccc.
 c@c.
 ccc.
 ....

The system should keep track of the cats, and that they were 1 character at a prior level of zoom, and delete them at the next level of zoom:

 @.
 ..

The @ itself will be deleted at the next level of zoom after that.

This allows for egregiously large monsters, like 8x8 dragons or whatever. More to the point, though, things like buildings will remain visible fairly far out, since they'll presumably be at least 4x4 at human=1 scale (the second zoom).

This means the overal map must be a power of two in both directions, as must all sizes of coherent objects (characters, buildings, whatever). These seem to me to be fairly minor restrictions to trade for the advantages of being able to get a visual overview of one's city, and having sense of scale built in that will make graphical clients far easier to write.

Alternative: allow objects to be/move off their exact multiple grids, but when confusion results in zooming out, simply pick a place to show them at random. This is almost certainly better in practice; forcing 8x8 dragons to move in steps of 8 will lead to some very weird situations. An example:

...#..
LL....
LL...@
...#..

Given that, and note that the L is off-gride, as I've described things you'd get:

L#.
L#@

Instead, the system should (at random) pick one place or the other to put a single L, like so:

L#.
.#@

RPG/City Building Combo

Hinterland (external link) (a game I've not played yet, as I'm not around a gaming PC just now - 14 Oct 2008) has the very interesting idea of combining a city bulding and a hack-and-slash RPG (two of my favorite genres) directly. I think this is a lovely idea, and it's spurred a bunch of thoughts about how I could do the same thing in my putative city-building game.

Story

One of the nice things about having the player be a character in the world is that you can wrap a bit more story around the whole thing than just "you're the governor appointed by Caesar" or whatever (why are 90% of city-building games Roman? srsly?). In particular, since many city-building games last longer in game-time than a single person's life, a story that centers around the PC(s) as a rare but naturally occuring immortal (a la Highlander) seems like an obvious way to go.

Time

I get really annoyed at games where things happen simultaneously that would actually occur at totally different time scales, such as a minor skirmish (hours) and building a castle (months) happening in about the same length of time. This pretty much rules out every RTS game except Total Annihilation and Supreme Commander; nanotech actually could be that fast. But I digress.

Having both the hack and slash and the city building occur on anything like the same time scale would, obviously, be a pretty egregious example of this sort of thing, and I won't have that. So, how to avoid it?

For single player games, you can have an advance time button; click here to advance to the next season or whatever. In multi-player games, keep the world persistent, so that when the player is logged out overnight or whatever enough time will pass for the next wing of the castle to get built.

Stability And Feedback Loops

One of the interesting things about city building games is that it's possible to reach a steady state. That is, if you're any good you should be able to set up your city to just keep running indefinately. There are things to interrupt this, but resources running out are far more frustrating than they are an enjoyable challenge, and disasters should be extremely rare. So you end up with an effect where a good player can be left with nothing to further motivate them; the city's working just fine, thanks!

The entire dynamic of stealing other citys' people helps this out a lot; there's always motivation to grow the city so you can suck people from other cities faster.

Having a PC, though, adds a whole other motivational level, or at least it can. There are all sorts of ways that you can require the player to build up the city to get better in the RPG portion. Here's some ideas:

  • Required training to level up the player or other party members. Each level of technological improvement in the city leaves the city dwellers with more time to persue such training, so unless you want your people to take realy-time years to level up, you have to improve the city.
  • Monsters carry no useable weapons, let alone armour or magic items; all of these must be made in your city. The more advanced your city is, the better your stuff.
  • Party members of too high a level will simply move on, as they want to be paid more than your small city can afford.

I'm sure there are others. If you allow parties of adventurers that don't even need to have the PC with them (which is pretty much how DF works) you can let the player have a pure city building experience but still use the hack-and-slash side of things to motivate them to improve the city, especially if there are ever more dangerous monsters or an overall plot or whatever that they need to equip their adventurers to handle.

The converse problem, of allowing the player to have a pure hack-and-slash RPG experience without having to bother with the city bulding, is quite a bit trickier in that city-building AI is, I expect, fairly difficult. An obvious way to get the same feedback loop in the other direction, though, is for the (NPC) lord of the city to need certain rare, monster-derived materials to build the more advanced buildings, and the player wants them to do that so they can get the better equipment.


Created by rlpowell. Last Modification: Wednesday 04 of March, 2009 11:20:27 PST by rlpowell.