Dynamic Pollution |
So, it's been a little while since my last post, but I've been hard at work on both the analysis of Prototype 3 as well as the upcoming Prototype 4 code, which I'll post in a little bit.
So, with Prototype 3 we added dynamic pollution - ie, pollution that would stack over time and be emitted in proportion to human activity, rather than just magically appear around roads and buildings. What were the results?
Well, I'm pleased to say this simulation is starting to look a little bit like the actual situation we face:
- There's actually an incentive to use roads now. The cars system works pretty well.
- Factories and roads are not dangerous just by themselves.
- The pollution builds up nicely over time and then dissipates
- Congested roads build up smog quickly, but if they're nice and spread out, pollution doesn't stack up too badly.
The dominant strategy is no longer "pack 'em in like chickens." Let's take a look at a couple of scenarios I set up:
Suburbs & long highways |
In the above scenario, we've cloistered off our houses at the top of the screen to keep them as far away from pollution as possible. Then we've connected a highway down to our factories at the bottom. People zip to work, plug in their hours, and then zip back home. There's a bug or two with the way pollution displays, but we don't care too much because this is a prototype and we're just trying to get a feel for how it works.
In general, this is pretty cool. We can notice some problems already: that super-thin road is creating some serious smog pollution. Now, the cars spend so little time in that pollution that they only get affected by it a little bit. This makes me think of some things:
- We need to model traffic. A clogged highway has this exponential effect when it gets clogged: more cars make them all slow down, which makes them stay on the road and produce even more pollution. I think I can throw in a little modifier that makes it so that congested roads slow down cars. Might be good to research some actual traffic simulations for this.
- Local air quality and health is not quite enough of an incentive for the player to reduce all pollution. You see, as long as the player can just drive his/her cars through the pollution, it doesn't matter how smoggy the roads are if it doesn't directly affect the health of the city's people, sine the game doesn't model any other ill effects. What we'll probably do, is make the pollution disappear from the local system and enter "global" (as in "global scope") system.
This smog system is interesting so I'll touch on it separately real quick. Instead of like in Energy Apocalypse, where smog was only an overall problem, this model takes into account the local, air-quality issues of smog as well. You see, transportation isn't nearly as large a contributor to global emissions as say, Coal power plants, but most of us live a lot closer to highways than power plants, and we have to breathe that air.
What we'll do then is use both systems - local and global, for this game. Smog comes out of your little factories and cars, and produces health problems, then dissipates. But when it dissipates, what that means is it's going out of your city and into the surrounding atmosphere - specifically, into the land the zombies inhabit.
This is an interesting opportunity to model something my boss, Robert Harriss, has been talking about - stocks and flows.
Okay, next example:
The world is my parking lot |
Here was another situation that resulted in high health for people and a fast rate of production. Basically, you put your houes on one side of the map, and produce roads to get them to work. Now, if you only have one way to get to a factory, that road gets really smoggy, so instead you just build roads all around. People spend very little time on a given road and have multiple routes to get to work, overall smog is low and health (and production) are high.
The problem with this model is that there is no dis-incentive for "paving the earth." There is no incentive to NOT develop roads, because unpaved dirt gives you no reward. At this point, we might have to consider adding features outside of our "roads, houses, and factories" prototype toolset and start adding other features we'll eventually see in the full game.
Also, this model still produces about as much smog as the previous one - it just spreads it out so it dissipates faster and doesn't make people sick. That's good locally, but those emissions have to go somewhere, they don't just go "away," so again, another strong reason to start modelling what happens to pollution when it leaves the immediate local system.
Finally, I decided to test out the classic "suburbs / inner city" model to see what would happen:
Suburbs + Inner City |
Here, people live in the suburbs and commute downtown to work, with a big beltway/loop all around the city. (Kind of like modern-day Houston). So, the industrial core gets polluted pretty fast, and you can tell that overall health is a bit lower than some of the other models. People aren't stabilizing at gold levels of health, but tending towards blue and even dipping into grey now and then. They heal up pretty well at their very clean homes, but the center gets polluted and STAYS polluted. It stabilizes and then doesn't get much worse, but obviously this is not an ideal way to run a city - it moves your problem "somewhere else", away from where you live, but the smog still accumulates and it does make people sick while they're working.
People have been commenting that the sizes of buildings are a bit of an oversimplification - and in game design terms, I have to agree. Equivalent graphical size implies some sort of physical equivalence - and in real life, factories can house much more than a single household of people. Also, roads are absolutely enormous, and you run out of map really quick.
So, in the next version what we'll do is start playing a bit with scale: we'll scale up factories, scale down houses a bit, and scale down roads even more. Once it all works we'll see what implications that has on the strategies that work best,a nd even the effects on pollution. Then, we'll start talking about adding other features, notably : bringing energy into the equation. This is Super Energy Metropolis, after all!