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!
12 comments:
I like the idea of the global scope. I suppose that was in the original idea.
I'm curious to see how you're going to do scale. And what you'll do with empty space. Currently it seems like our society only leaves stuff unpaved for aesthetics purposes or because it is too difficult to attempt to development (financially or physically).
Also are you going to consider modeling non-air based pollution such as watersheds, rivers, soil, etc?
I think that 'water' as a whole should be tackled, at the least.
Without water...we can't do too much...
It depends. I want to avoid trying to model everything and getting lost in the sheer complexity of it all. If I add complexity, i want it to be things that can be presented to the player in layers, learning to handle one thing at a time.
I'm thinking we're mostly going to focus on Energy, transportation, and resources. So, we'll probably use unused land in ways that support that.
I really need to start hitting the books again in order to come up with some ideas, though. Super Energy Apocalypse taught me that my basic instincts about the environment were pretty way off, and learning more about environmental studies gave me all kinds of ideas for new mechanics.
One of the big, tangible problems with the "pave everything" approach in real life is flooding -- forests and wetlands soak up water, and prevent it from all heading for the same place at the same time. Additionally, wetlands provide other services, like filtering. But I don't know if you want to get into modelling e.g. flooding.
Traffic: there was a really interesting article in Scientific American a few years ago about modelling traffic. Unfortunately, I don't remember title, author, or anything like that, but you still might want to look for it.
What is the win condition for the game?
And don't people buy cars like they can walk to a car dealer and use a car from then on
The global scope is good, eventually you should make it so you are building the city but have to keep the area outside of your map clean two. We also should get natural disasters thrown in there sometime like a flood wiping out half your subburbs or something.
there is a flaw in this, i can't control the traffic!
i want to use road to control traffic, but they keep using the shortest path to their destination, so it would be :-
walking out of the house,
use car when its on a road tile
then walk on another house
then use car again to the factory!
This isn't like real life :O
I sincerly hope that the new game isn't just about that. Who's trying to stop the city from being made? Who's the "zombies" of the new world? Please don't tell me that there isn't going to be one!
Oh and a word of advice. The reson I thought your games were great (Besides the epic storylines) is the fact that the sprites are very detailed at a simple level. I sort of know that you aren't going to use that model's sprites for the actual game but I just want some verification.
...I'm an idiot. I missed a part of the text. First question is already answered.
Hey! water doesn't have to be a resource but you could make a hydro dam into the game?
Speking of advice, the picture "the world is our parking lot" gave me an idea. I think it would be realistic to have to build a parking lot within 1 or 2 squares of a factory. In real life if you just randomly park the roads will get filled with cars. Causing traffic jams, lower production, ect.
Post a Comment