One thing that has been bugging me for a while is the administrative aspect of the world's population. Several races coexist in the world, sometimes not so peacefully. One of the important questions is, how to divide the population groups? This can answer questions such as who lives where, who likes whom, how does the player interact with each group, etc. The context is always important: this is a game where the player controls a single character over the course of maybe several in-game decades, in a persistent and procedural world, where there are lots of self-sufficient cities with guilds, shops etc.
One way of dividing them is DnD/Forgotten Realms style using nations. Each nation has different government type (plutocracy, magocracy, autocracy) and has citizens of potentially many races. This is a nice, "realistic" division, but comes with a number of complications for a type of game where you're an adventurer going around in the world and doing stuff. Just a few issues below:
- Nation conflicts and diplomacy. When there are several nations, it's only natural that over the course of time conflicts arise. If relations were all nice among them, there's no reason not to be unified. Modeling nation-wide war in a game where the player controls a single or a few characters can be problematic. What happens if nation A wages war on nation B? What does that mean for the player? Can the player not safely visit several cities of nation A or B anymore?
- Nation-wide AI, city-wide AI, unit AI. With nations, there's more AI to develop. What responsibilities does a nation have? What can it do? Found cities, wage wars, etc? We're getting heavily into 4x game territory, and that becomes a bit much for solo development.
- Nation identity. When creating a number of fictional nations, effort must be put so that the nations are unique, individual, interesting. I'm personally very averse to fiction where the differences are superficial. For example picking a name from a generator list, roll a dice for government, roll a dice for alignment, etc and that's it. That's not enough. Forgotten realms for example has quite good depth for each nation, but that's over tons of books and game supplements. Solo development can not afford such depth.
Another way to split nations is by race, where the race would also be the nation. You have dwarves, elves, humans, etc. That's nice and simple and at least addresses the "identity" issue above. There are still potential conflicts and AI to be modeled though, but they are nothing compared to the effort in creating a striking identity for a nation. The identity of the races still needs to be developed to escape the confines of the generic high fantasy elf/dwarf and other races, but that would be done for the nation-based division anyway, as a separate task. ( Create identity for dwarves, humans, orcs, etc, also create identity for nation of Whatever and Etcetera). Issues with race-based division:
- Not sensible. It just doesn't make much sense that, at least "good" nations would prohibit citizenship from other intelligent species, as long as they could all co-exist peacefully. Of course dwarves could be reserved against other races, or elves be haughty and racist, but having that at 100% everywhere makes the races one-dimensional and not so believable.
- Player interaction limitation. In the game, several guilds exist that the player can join. If the player is from race A, do you get excluded from guilds in cities of race B? Otherwise, why would they be the special cases of allowing members of different race? It would take quite a bit of writing effort to make that sensible and believable. The game would force you to be part of a big group, where inadvertently you'd have situations of "us vs them" at a nation/race scale.
Another way to divide the world is to ignore the nation-wide scale using city states (Elder Scrolls cities feel sort-of like that). Cities are self-sufficient, can contain guilds and various other buildings and people that a player can interact, and have the following advantages:
- No need for full-out warfare. A nation gathering army and ganging up to attack a city is much easier than a city gathering army to attack another city. So all-out warfare between city-states is not something that one can expect to naturally happen. Subterfuge on the other hand is much more likely, and can create very interesting scenarios: for example a guild hires you to steal a relic from a rival guild of another city-state, or the government hires you to sabotage a mine operation that belongs to another city-state.
- Multicultural. A city-state can optionally be multi-race, or single-race, or anything in-between. A fully dwarven city in the mountain is as plausible than a hillside settlement with hill dwarves and hill orcs, as long as the races can coexist peacefully.
- No nation-wide simulation layer. Easier to develop as there's no need for nation AI. Nations don't need to found new cities, as the time scale of the game is not centuries (which would take for a city to start, grow and have some sort of history). There's no resource management layer between cities and nations (does a mine's ore go into nation coffers? Does a nation have resources, or they are per-city?)
- Emergent identity. The city-state types are used as a prototype several times, but the simulated and played history can affect the development of individual city-states. A dwarven city in the mountains can start as poor, if surrounded by not-so-resourceful environment, but its fate might change if they discover a rare mineral nearby and mine it. A different dwarven city could have a completely different fate, for example it could be eradicated by Unknown Destructive Forces or sabotaged to oblivion. The basic identity (how does a dwarven city look like, how does it function, etc) is written for a limited number of prototypes, while the emergent identity via history generation and playing is what will make it rich.
The above are just some thoughts; not final, but representative of my current development mindset. While originally I started with the race-based approach, I'll be using the city-state paradigm unless I can think of a blocker.