This is a little something I put together that automates this cool city history table that I saw on High Score Kid‘s website. Use it when world building to create some backstories for your campaign cities.
I, of course, couldn’t help but add a few of my own personal touches to the proccess. For one, I’ve included a Fantasy-based city name generator that gives each city you create a randomly generated name. I created two lists of words and the generator randomly combines one word from each list.
I’ve also made it so that it is technically possible to “resurrect” a collapsed city through trade. On the original table, a roll of 11 resulted in a new trade route event where you are told to select another city randomly and either both cities gain +1 wealth or +1 food. When I first built this automator, it truely was picking the trading city randomly, so it would occasionally trade with collapsed cities, and on some occasions the trading city was itself!
But, sometimes, it would trade with a collapsed city in whatever that particular city happened to be short on, and BOOM! The city was back in the running! I liked that, and have modified the code so that, when that event is triggered, it’ll keep collapsed cities that lack in wealth and/or food as optional trading partners. That way, a city that collapsed from shortages of food and/or wealth could be revitalized.
This only applied to cities with at least some spirit or population left when they collapsed, however. This got me to thinking if there could be a way to revitalize a collapsed city’s spirit and population. The original table doesn’t seem to give a way to do that, but I think some tweaking to the existing events could work, and that’s what I’m working on doing right now: pick events to add what amounts to a ‘trading partner’ of sorts where both cities gain population or spirit.
Currently, I think the best option for revitalizing another town’s spirit would be the “A citizen becomes a hero” event, but only when the deed they do is diplomatic. It makes sense that a great diplomat would add spirit not only to their own city, but the city they deal with. Not nearly as much, of course, but still *some* amount of spirit should be gained. You could argue that it’s hard to be a diplomat to a city that technically doesn’t exist anymore, but I would say that this is an opportunity to come up with an interesting historical event: perhaps the hero helped the deposed noble of the region regain their title, or supported the rebels against the vicious warlord who had invaded the city the year before.
As far as population boosts, I can only think that people don’t work the same way economically as wealth or food, so I think the best way to add this feature would be to have any event that results in a loss of population in one city be a population boost in another. So when a tyrant coming to power, or a natural disaster results in a population loss in one city, that population could migrate to another city as refugees.
I have added the two features from above. Now, when a citizen becomes a hero and performs a diplomatic deed, a random city on the page gets +1 to spirit. Also, when a city is besieged by anything, a random city recieves +1 population as refugees.
There aren’t any controls in place for what a random city receives, however. For instance, a collapsed city that fell from lack of food could end up receiving refugees and diplomatic aid over and over, never becoming revitalized as a city. It doesn’t make much sense for a city that collapsed from lack of food would be a haven for refugees.
But, I suppose this might be another opportunity for creativity in making historical events! Perhaps refugees from the besieged city were the lower-class untouchables or some other persecuted minority and wanted to keep off the radar by hiding out in the abandoned buildings of a fallen city as protection, or perhaps the refugees are farmers looking to start fresh in the lawless frontier only to happen upon the old ruins of a forgotten ghost town (heck, it’s fantasy, so it could literally be a ghost town). So I’m undecided on whether or not to limit any events that would benefit collapsed cities to ONLY benefit them if they become revitalized as a result. Leaning towards ‘no’ since those unusual results would be good role-playing opportunities, and the code would be pretty convoluted.
There’s one more thing I’m thinking of adding to this generator: a calendar. This table develops a lot of inter-connected events between cities, so it would make sense to know when events happen in a timeline to help work out how you want to write the history of your world.
I’ve added the calendar, and it. is. AWESOME.
There’s a current year at the top and it timestamps the events. Every time an event occurs, the calendar year advances a number of years, depending on how many active cities there are. I’ve also put in a delay in the collapse of the city so that when a city collapses, it might not happen immediately. After all, Rome wasn’t built in a day, so your city shouldn’t fall in one either.
Now that the generator gives you a feel for how fast things are actually happening, I’m going to see about taking cities that have been collapsed for too long out of the running for being revitalized. I’m thinking that anything past a century is too long for a settlement to come back to life, at least without being renamed and considered a completely new city anyway. I cannot imagine people abandoning a city for four generations and have the stats come back only to keep calling what is esentially a new town by a name nobody has used since your great-grandparents.
Okay, this last change was subtle, but when a city has been collapsed for more than 100 years, it’ll be marked as “Ruins” instead of “City”. This only happens if you use the “Roll Events for All Cities” button, by the way. You could conceivably ressurect a collapsed city millenia after it fell if you only ever use the “Roll Event for City” buttons on each city instead of the button at the top. But once it is marked as “Ruins”, it’s dead and gone.
I’m still trying to decide about another aspect of the generator I’m thinking of adding. I’ve had some cities in this generator collapse from lack of one thing, but end up with tons of everything else: this made me wonder if I should “decay” the collapsed city. Have the population of the collapsed city slowly bleed away, along with food production. I would want to keep the wealth and spirit bars the same, though. That way, you could have forgotten ruins of cities dotting the landscape with unclaimed treasures contained therein. The greater spirit the city had when it collapsed, the greater the legends about that lost civilization, the more tragic stories sung by bards of its former glory.
Perhaps it can hinge on the population bar. If a city collapses from lack of population, I don’t see how the other stats can decay. No people means nobody to take the wealth away as they flee, so why would wealth keep going down? No people means nobody to feel bad about the state of their once-thriving town, so why would the spirit go down? Who would eat all the food?
But the opposite is also true. No people means nobody to plant crops or catch fish, so wouldn’t food production keep dropping? No people means nobody to to feel ANYTHING about the former town, wouldn’t its memory fade away in the form of spirit? And sure, no people means nobody is carrying away all the gold in the treasury, but the wealth of the town could be reflected in its arcitecture or industrial might. Wouldn’t those things keep decaying with nobody to maintain them?
So, the argument could go either way. I’ll think about it.
In order to resolve the problem I was having with whether or not to have a city “decay” in some fashion after their collapse I had to revisit what it meant to me for a city to “collapse”. Given the stats that we are tracking, I came to the conclusion that it really comes down to governance. That’s the thing that a city really “loses” when any of hese stat bars run dry. Run out of wealth and there is no money to pay guards. Run out of spirit could mean nobody trusts the guards or noblity to maintain law and order. Run out of food and you have no way to keep people alive, including the nobility and guards. Run out of people and there’s nobody TO govern.
So what happens to lawless areas? Do any of the stats we track continue to break down? I would argue that spirit would not. Just think of the pride people have in their place of birth, even after all traces of civilization in that area are broken or destroyed. Food would probably stay the same too, since I think of the pioneers that could live in a lawless frontier were the ones producing food for themselves. Wealth might go down due to crime (people getting robbed), but it could also go UP because of crime too (people doing the robbing). However, I think the population should drop, simply because populations in a lawless area need the food stat to survive there. Wealth doesn’t need to be sustained by the other stats, and neither does spirit to my thinking only because the “spirit” of a city can live on in the hearts and minds of people in OTHER cities.
Certain types of food production do rely on people to sustain it, but not all: The fish that were caught in the bay will still be there as “food” even if nobody is there to catch them. Same with the wild game in the forests. Farms are a bit of an exception to this in that crops do need people to plant and harvest them, but if the city has collapsed and there is more people than food, I would imagine its the people who DON’T farm or fish or hunt that’ll be the first to leave. With that in mind, I think it makes sense for the population to drop after its collapse if the area’s food stat is less than the population stat.
I’ve also updated the title of the settlements to be dynamic; they will change based on the population. The bigger the population, the Village becomes a Town, which becomes a City and finally a City-State. It only goes one way, since shrinking populations to my mind don’t take the pieces of city with them when they leave, so the architecture stays when the people leave.
Another feature I added was a “create your own event” kind of button. This whole tool is supposed to help one with building a world, not make all the decisions for you. No need to have the tool get in the way of a good story, so I think a button that lets you write your own event along with controls for what stats will go up and down as a result baked in would make that job easier. You’re the god of this universe, you ought to have a god mode, right?
You may also notice that at the end of *most* event summaries, there is a bracketed set of numbers. This lets you know the condition of the settlement as a result of the event described. Thought this might help with writing the city background if you knew what shape it was in when something happens to it.
I decided to add a little something to the top: a way to add to the date. It occurred to me that one might want time to pass without having events happen. The other option was to have a way to boost the rate at which time passes each time an event occurs, but if one were to have a fair amount of active cities, you could end up having centuries pass by the time you get to the end of all the events. This way is much more controlled. Just another tool in the DM’s belt.
I’ve been tweaking and cleaning up the code in the back end, mostly: there were originally two places the same HTML code was repeating for the stat blocks. Now all that is in jquery so any future edits I make I can do once and not twice. Another tweak was to have the “make event” button reset the input fields after creating a custom event. I also made the text for custom events appear purple to make them stand out more.
But the big, noticable thing I did was make the set of buttons and various information for dates and all that a sticky bar at the top of the page that stays visible as you scroll. No more scrolling ALLLLLLL the way back to the top of the page to hit buttons or check dates!
So, you’ve probably noticed the big, stinking box up at the top…
Now, it’s been a while since I’ve touched this project, but I’ve been having a whilwind of ideas that have been building up lately. Most of them concern rebuilding this entire thing as an excuse to really delve into and learn AngularJS (if you aren’t into web development, don’t worry about it). But, I’ve also been wanting to add a world map. I had lofty dreams of making the map have continents, rivers, mountains, oceans and stuff: all dynamically generated of course.
After I woke up from that crazy idea, I still wanted to have a way for people using the generator to be able to actually SEE some of the relationships between the settlements, so I’m working on a world map. Which is the giant box up at the top.
Granted, it doesn’t do all that much at the moment, just randomly generates a location point for the city, labels it, and puts it on the map. But I am hoping before too long to have the map be able to update those points on the map when settlements collapse, and to link up cities that have a relationship; be it trade routes, one founding another, diplomatic acts, etc.
I fully anticipate the initial features to provide some… *interesting* results. Say, for instance, a village founded on one side of the map by a city clear on the other side, or roads criss-crossing every which way, or refugees skipping over the neighboring town to trek across the globe to get to some other city. Given the fact that these same sorts of oddities lead to some of my favorite features, some I might keep, and some not.
In the meantime, enjoy. And if you have your own ideas on how or where your cities are in your world, feel free to ignore the map. It’s just another hopefully helpful tool in the box to help you create, not dictate your game.