Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Better Contaminant Handling  (Read 1067 times)

TheSummoner

  • Bay Watcher
    • View Profile
Better Contaminant Handling
« on: December 27, 2010, 01:44:06 am »

As the game currently is, contaminants are incredibly annoying to deal with. This suggestion would hopefully deal with the issues involving contaminants as they exist.

All contaminants would have a hidden value that represents the total amount of the contaminant. There would be no way to determine the exact number, though the relative size of the contaminant would affect whether it is a spattering or pool or smear.

Whenever a Dwarf or other creature steps in a contaminant, an amount of it would be subtracted from the contaminant and added to the Dwarf's shoe/sock/feet. As the Dwarf walks around with contaminants on his feet, he would track it around, subtracting from the amount on his feet and adding it to the tiles the Dwarf walks over. Eventually, the Dwarf would track enough around that there is no longer enough covering his feet to continue tracking it.

The exact rules concerning how much of a contaminant can transfer from one thing to another are something Toady would need to hammer out. In general, I would say that no more than half of the contaminant can be transferred in one movement, transfer is always done from high concentration to low, and the high-concentration thing cannot transfer if it has less than a certain (incredibly low) amount.

At intervals (to be decided by Toady... perhaps daily, perhaps seasonally), X amount of most types of contaminants will be removed from anything it exists on. If a tile has 100 forgotten beast juice on it and every time the season changes, 5 of each contaminant are removed wherever it exists, it now has 95 forgotten beast juice. The juice would disappear on its own if left alone long enough... Snow would be an exception to this... It would not disappear at intervals and would remain temperature dependant.

Certain contaminants (I'm thinking mud and perhaps dust) will not disappear on their own. Others (blood and vomit) will change into different contaminants instead of disappearing (into dried blood and dried vomit, which will not disappear but will no longer spread).

Contaminants in water will naturally spread out as thin as possible given the space allowed. Contaminants in water will not dry (those that would on dry land anyways) but will instead disappear.

A cleaning designation needs to be added as well. Dwarves should require a source of (uncontaminated) water and a cloth to clean. Certain contaminants could be more difficult to remove and also require soap.

With these changes, contaminants would be much less of an annoyance and would become something that can be dealt with. No longer would fortresses have to be caked in piles of blood and vomit from ancient battles. No longer would a full quarantine be necessary after battling a forgotten beast with a particularly nasty syndrome.
Logged

Max White

  • Bay Watcher
  • Still not hollowed!
    • View Profile
Re: Better Contaminant Handling
« Reply #1 on: December 27, 2010, 05:21:02 am »

While this method would require more processing then the current enum values for puddles/pools/dustings ect, that is for an equal number of instances. Because this method limits the number instances, the potential for FPS drop is a lot lower.

This also plays in well with the idea that one day we will be able to amount enough blood for 1/7 deep, and deeper.

I support this.

Norseman

  • Bay Watcher
    • View Profile
Re: Better Contaminant Handling
« Reply #2 on: December 27, 2010, 07:24:05 am »

I think your point about contaminants decaying is probably the most important one. Blood should decay into dried blood, which, due to bacteria and vermin, should decay into dust. Any organic contaminant should decay pretty rapidly, except when it's extremely cold.

Dust, by the way, does not need to actually exist in the game. Unless a dwarf has recently cleaned themselves, they should always have dust on them. Being dusty should be the default state of everything in the game. Dwarven civilizations live deep underground, regularly dig into soil and rock, haul the resulting debris around, and burn charcoal, wood and lignite in underground furnaces, smelters and kilns. When they're not doing that, then they're traipsing around on the surface getting covered in dirt and mud. Everyone here is familiar with having to regularly clean dust and take showers, and we surface-dwellers aren't likely to be exposed to even 1/10th as much dust as dwarves would get. Your typical dwarven fortress would probably have a layer of dust, pebbles, food bits and soot 6 inches deep in every room. It's unnecessary for the game to calculate how this dust moves and where it is. Just assume it's everywhere, and label everything as being dusty and dirty.

There should be a [CLEAN] tag for things that are actually clean. This could be regarded as an anti-contaminant. Clean things should give dwarves better than normal happy thoughts, e.g. "Urist had a fine groundhog roast in a clean dining room recently." or "Urist admired a masterful and very clean platinum door recently."

I like the idea of using cloth to clean things, but I think it would be better if dwarves had special-purpose cleaning tools. A mop and bucket, for example, should be a very effective way to clean up a contaminant without getting it on your hands.
Logged

TheSummoner

  • Bay Watcher
    • View Profile
Re: Better Contaminant Handling
« Reply #3 on: December 27, 2010, 01:33:22 pm »

Well... As things exist now, you never see dust unless you cause a cavein. I was simply applying real-life logic that dust typically isn't something that will just go away if you ignore it long enough. Blood on the other hand will soak into the dirt or dry and flake away over time. Mud shouldn't decay simply because it would be a major problem for newer players now that it is required for all farming... If that were changed back to dirt OR mud, I would see no problem with mud turning into dried mud and decaying away, but I think requiring new players to irrigate and reirrigate an area is a bit too advanced.

Mops would be effective for cleaning floor tiles, and I don't see anything wrong with them being added, I just don't think it is necessary either.

In addition to what I said in the first post, Dwarves should have their behavior modified to clean themselves on a more regular basis... Perhaps once per season as the default value, but modified based on personality. Also, if a dwarf has nothing else to do and is covered in filth, he would clean himself even if the full season hasn't passed (unless he is the type of dwarf who enjoys being dirty that is).
Logged