Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: More support options  (Read 860 times)

Felix the Cat

  • Bay Watcher
    • View Profile
More support options
« on: September 08, 2007, 01:57:00 am »

I came up with this idea when thinking about, of all things, dwarven football.

It would be nice to have more options for supporting rooms, especially with the z-axis coming in. Simple vertical supports are nice and simple, but sometimes you want a nice, big, open space, without supports every 6 tiles.

Some options:
-Arches. There's two ways to do arches. One is like a traditional support, as a separate structure (probably made of metal) that supports the roof. The other is to make the roof itself an arched shape, so that it distributes the load outward on its own.

-Rafters/cantilevers/horizontal supports. These run horizontally across the ceiling, or at some point below it with a support system running up to the ceiling, to distribute the load to the side walls. A well-designed rafter system could even use the rafters as catwalks in and of themselves.

-Diagonal crossbeams. These are like rafters, except that they run diagonally from the corners of the ceiling to the walls.

-Lots of combinations of the above.

Dwarves who are in a large room with an engineered support system could be inspired with a happy thought, the magnitude of which would depend on the size of the room and the engineering required to keep it up. ("He admired a large hall lately."/"He was impressed by the size of a hall lately."/"He was awed by the grandeur of a great hall lately.")

Something like this would likely require a fully simulated load-distribution system to calculate cave-ins and the like, rather than a simple check like we have now. On the minus side, this is quite processor intensive, and would probably be quite a bit of work to implement. On the plus side, the physics involved are fairly straightforward, and the system definitely would not have to be simulated every tick, but only every once in a while. (I'd hazard a guess that load distribution is simpler to calculate than fluid dynamics, for example.)

Logged

Tamren

  • Bay Watcher
  • Two dreams away
    • View Profile
Re: More support options
« Reply #1 on: September 08, 2007, 11:51:00 am »

Arches would be a nice addition, the complex mechanics do not have to be programmed in in order to use them.

Arches would simply be two supports that can be placed farther apart than 6 tiles. and support the space between them. The support should have a curve to it obviously but this could probably be abstracted.

Logged
Fear not the insane man. For who are you to say he does not percieve the true reality?

kuro_suna

  • Bay Watcher
    • View Profile
Re: More support options
« Reply #2 on: September 08, 2007, 11:55:00 am »

with z-axis how about domes
Logged

Tamren

  • Bay Watcher
  • Two dreams away
    • View Profile
Re: More support options
« Reply #3 on: September 08, 2007, 03:16:00 pm »

Dunno, see the archest work because it does not have to protrude onto the next level just form a smooth curve from floor to ceiling to floor again.

Domes would be nice but because the mountain is composed of cubes any dome shapes would end up rather cone shaped.

We could get around this with diagonal faced walls (visually at least) but those are a long way off.

Logged
Fear not the insane man. For who are you to say he does not percieve the true reality?

Felix the Cat

  • Bay Watcher
    • View Profile
Re: More support options
« Reply #4 on: September 09, 2007, 04:43:00 am »

Upon further consideration, the load dynamics are simpler than I thought.

It's a simple set of rules.

1) Each ceiling tile is either "supported" or "unsupported".

2) Load is distributed directly downwards.

3) If load cannot be distributed downwards, it is distributed horizontally.

4) Each material has a "strength" rating. This is simply how many tiles it may distribute load horizontally.

5) If a ceiling tile is able to distribute its load downwards within a radius equal to its strength rating, it is supported. If it is not able to do so, it is unsupported.

6) Unsupported ceiling tiles cause cave-ins.

NB. In order to have a whole number for strength rating, the maximum size of room (in current DF) would have to be an odd number, i.e. 5x5 (strength rating 3) or 7x7 (strength rating 4). With 6x6 the strength rating would be any number between 3 and 4.

No numerical load values, no dealing with distribution of load over an arch of a given shape, just a simple on/off boolean value and a check for surrounding tiles one level lower.

Logged