Table of contents
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, DF =
Dwarf Fortress,
CotN = Children Of The Nile,
1701 = Anno 1701, AKA 1701 A.D.,
Hinterland = Hinterland
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 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,
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 (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 (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, 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, 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 programs and games with comprehensible interfaces (see w3m, Dungeon Crawl, mutt, 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 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 or
Spring, 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 (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.
(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 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:
@ 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:
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:
Given that, and note that the L is off-gride, as I've described
things you'd get:
Instead, the system should (at random) pick one place or the other
to put a single L, like so:
RPG/City Building Combo
Hinterland (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.