More Dwarf Fortress, Less The Sims: Medieval

For Boatmurdered type spreading fire, you’d need all in game items to have a damage statistic, a burning temperature, a separate burning animation, etc.

So at minimum we would need item and structure damage and repair systems before we could talk about fire. And what happens if a building burns down? How does fire spread? Etc. How are you supposed to put that fire out without water pumps? So we need those systems too . . .

Game isn’t there yet sadly. Still I’m glad to see him say it’s a low priority, that means it isn’t completely ruled out :stuck_out_tongue:

2 Likes

@Hieronymous hit several on the nose, but here are some more examples (and please remember, this is an artist speaking about engineering issues):

  • How do you actually have fire interact with the world, would it be a 2d simulation or a 3d one? 3d is more realistic but much more computationally intensive, 2d is much simpler but sometimes causes weird issues (imagine multiple stories where the same voxel is on fire on every floor).
  • How does fire interact with buildings? Can each block catch on fire or does the whole building catch on fire at once? Buildings have a lot of logic to make them what they are and having each voxel catch on fire would be extremely complicated.
  • Say you go the really hard way and have a 3d simulation of fire including buildings and for some reason the upper corner of a building catches on fire (like with a lightning strike), how do hearthlings know to put out that fire?
  • How do hearthlings get to a fire? Do they build scaffolding? Does scaffolding burn?
  • How far away do hearthlings prioritize putting out fire? If fire is far away and starts burning, does the whole world eventually catch on fire if the hearthlings don’t put it out? How do you balance that?

And those are just a few that I remember, we talked about it quite a bit and I can tell you: I’m not really interested in getting fire working anymore ; ). But! It was a really good conversation because it helped us get on a similar language as to what is possible with what amount of time.

@BrunoSupremo correct, talking about fire as a physical “thing” in the world that “spreads” on its own - similar to how fire works in minecraft.

4 Likes

with regards to hearthlings getting to fire on buildings, there should be a ladder climbing mechanic. building ladders will cause hearthlings to put ladders in their inventory and allow them to put a potentially long ladder leading up to the nearest block required to get to a place where they can path to the fire.

alternatively we could have fire be applied to building like a sort of mold, with fire popping up randomly and spreading as an effect to show “this building is on fire.” hearthings will go to the base of the building and throw a bucket of water to put out the fire

I get that adding new systems like fire is difficult but you should ask where these systems fit into stonehearth. Fire will become more necessary in the future due to town attacks having to incur some sort of damage to buildings so that players cant just build impenetrable walls to make town defense into a cakewalk. fire will allow smaller units that cant use strength or are otherwise unequipped, to throw firebrands and set structures and fields on fire, which will fit in well especially as an early raiding mechanic. Fire should be considered not now, but later on when town damage becomes something that should be worked on. for now, a focus on the original promises and scope is all that is required.

I might be getting overly optimistic, but I suspect that if and when they get the other solutions and systems figured out (i.e., building damage, water engineering, etc.), figuring out how to do either fire or things like fire (flooding? spreading dirt? etc) will become much more approachable problems. Once they have answers to questions like “how (or do?) do things take damage and get repaired” and “how do hearthlings transport water” and so forth. Right now it’s intractable because there are too many undetermined preconditions but the process of development should work a lot of those out, and it wouldn’t necessarily surprise me if in a few years fire doesnt’ seem like as much of an impossible target as it does now.

Of course the development cycle might not last that long, or they might decide to go in a different direction, or the processing demands might be prohibitive, etc etc etc. But a lot of the problems and difficulties listed above – while real – are ones that they may very well find themselves resolving anyway over time in the process of solving other more pressing development issues.

3 Likes

OK, good points, all good points. I have a newfound respect for the difficulty of adding fire, (even although I suspect, as @hieronymous says, that lots of problems will automatically be resolved later on.)

But because I can’t help myself, I’ll try to take a whack at it anyway. (Some of it might be useful for other systems.) But because I am a noob, and not a radiant engineer, this might be stupid stuff, or stuff that’s already talked about. Don’t feel obliged to respond to everything.

My whack at fire mechanics
  • To get computational load away, I thought it would be good to make fire spreading a “turn-based-inspired model”. That is, the computations only happen every stonehearth hour. Then, if you are insistent on the fire not spreading in a single instant, you can make the fire play out it’s moves over the next 10 stonehearth minutes.
  • This might aid your hearthlings in fighting the fire, as fighting fire will now come in battles, not wars. It’s about getting out more fire every hour than the fire creates every hour.
  • Also, if other systems can use this model, (maybe sickness), then you have a tool to keep load off your cpu, by plannning the computation time to be at a different spot. For instance, the fire is computed at every whole hour, while the sickness is computed every half hour. This is why this idea can be usefull even before you actually start working on the fire

  • buildings can burn by parts, just like the way they are build by parts.

  • to balance the world not burning off at every lightning strike, you rip off the dynamics of the real world. (Video for reference) Bottom line: Forests which have recently burned are less likely to burn, due to the fact that there is less shrubbery on the ground. i.e. by introducing differnt levels of forest shrubbery that burns and grows, you can balance it so that forest fires sort of balance themselves, with an occasional big fire, which you need to protect the town from.

  • this also partly answers how far the hearthlings have to prioritize fire fighting. Since forest fires generally balance themselves, the hearthlings mostly needs to protect the town from fires, and only go into the forsts actively to protect wood farms, allies and to fight unusually big fires.


  • As far as 2D and 3D are concerned, maybe a hybrid system can work. It has a few parts, which can be useful for other systems as well:
  • First, the game keeps a heat map, a picture next to the save game .json, which specifies for each 2D voxel how many layers there are in the world in the column of that voxel. This lets the game know how 3D the world is. That building analogy you had malley, that applies to this too, where every ‘building floor’ counts like a +1, which affects the colour of the pixel in the heatmap.
  • changes to this map can be scheduled at every nn:15 hour in the stonehearth world, to keep computational stress low, similar to how I described above.
  • This 3D-ness map also sounds like something other systems will gladly benefit from. For instance: any other heatmap, which will have to come in different parts because of the 3D-ness of the world, can use the 3D-ness map to decode which of those parts corresponds to an item in the game world, counting from the bottom up. (The item on voxel (x,y) on the second floor of building Z is on the 4 layer in the world, thus there are three things directly below it, and you need to find the items heatmap values on the 4’th picture/layer of the picture(if you use photoshop or paint…net to create the heatmap, which have layers)).
  • Then you make a 2D system, which cycles through all the layers of a column when it handles that columns voxel. The game determining for each layer whether or not the thing in that layer can burn, and will burn.

Maybe we should begin a new thread to continue the talk on fire, if necessary. This as to not derail the thread. @moderators, what do you think.


On the topic at hand, this is from a satisfied fan’s perspective:

As for the feelling of The Sims, what I think you are frustrated with is ‘skewed development’. The fact that hearthlings (and related systems) are the current focus of the dev’s means that the feel of the game changes. This is because these hearthling-related gameplay systems are in the game, but also because systems focussed on other areas of gameplay, like siege mechanics, the crafting overhaul, building repair, are not in the game yet.

Add to this the fact that the speech bubbles above hearthlings heads are a shallow feature in The Sims, and your association is complete. This is not to say that the association is wrong, and that the feel of the as-is game being too focussed on hearthlings is misplaced, but it is not a problem.

Ok, this comes from a longer post I was wanting to write on this, so I will have to explain what I mean by shallow features.

By a shallow feature, I mean a feature close to the surface, i.e. a feature you’ll likeley see as a player, and one which you will prominently see. Think any particular class, a certain race of enemies, main gameplay systems like building and combat, and that kind of superficial stuff. What I do not mean is one of the many interlocking systems which work on the background until the time is ripe for them to play a big role in some unfolding story, like the fire mechanic in boatmurered Hieronymous talked about.

I believe the dev’s have made the right choice in starting with the hearthlings. After all, to quote @Brackhar: “If the game is about hearthlings, start with the hearthlings.” That said:
When the hearthlings are done, and the team moves on to building, economy, environment, combat, or something else, this skew will become less noticable. (Not sure, just sounds like it would be true). At some point, the modd system will just be another system among many. It’s just that they decided to start with the hearthlings.

And isn’t this what you can expect in an alpha stage of development: That the feel of the game is off from what the released game is promised to be due to skewed development.

It’s like a puzzle: We currently have the border (engine) firmly in place, and we start in a corner with fitting pieces in the final puzzle (gameplay systems), meanwhile we have some pieces stitched together next to the puzzle board, which we don’t yet know how they fit in (engineer without siege mechanics, maybe a model of a titan somewhere, etc.). In that way, it’s not like a blurry picture that gets a higher resolution every pass you have at it.

2 Likes

Those are some interesting ideas about fire, sadly I can’t say I understand all of what you’re saying - but I will pass this post on to the engineers ; ).

1 Like

how about creating a separate topic dedicated to fire and magma?

1 Like