Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3] 4

Author Topic: Buoyance  (Read 6391 times)

Rowanas

  • Bay Watcher
  • I must be going senile.
    • View Profile
Re: Buoyance
« Reply #30 on: October 27, 2010, 04:59:24 am »

Ah, Andeerz, I've see a fault with your logic there.

In my vision of a glorious home-ship, I depicted belowdeck tree farms from which I grew the components necessary to build more... no. Wait. It DOES work... but there is an exploit to be found here.

If tiles get flagged with this specific integer, then anything you make on board, say... new ships, will not be of the ship, nor will they affect the ship, so you could just load up your pre-built boat with loads of extra walls and stuff, because they'll count as being supported as normal. Players could make a relatively small ship and just keep adding to it once it's afloat.
Logged
I agree with Urist. Steampunk is like Darth Vader winning Holland's Next Top Model. It would be awesome but not something I'd like in this game.
Unfortunately dying involves the amputation of the entire body from the dwarf.

Andeerz

  • Bay Watcher
  • ...likes cows for their haunting moos.
    • View Profile
Re: Buoyance
« Reply #31 on: October 27, 2010, 05:03:28 am »

Oh, poop!  You are so right, it hurts!  Hmmmm...

Anyway, this discussion rocks.  :D  I'm glad you pointed this out!!!  Gotta go think some more now...
Logged

Rowanas

  • Bay Watcher
  • I must be going senile.
    • View Profile
Re: Buoyance
« Reply #32 on: October 27, 2010, 05:29:28 am »

Pre-message P.S. Hell yeah. A quick moving, constructive and thoughtful topic with lively debate on an interesting and unusual subject, this has been a lot of fun :D Cheers, Andeerz (and the rest of you)

Hmm... I have a solution. I haven't given it the full depth of thought it deserves, but it seems like a solution to both problems. It opens up some entirely new questions though, which I'll say at the end.

If items built on an "integered" construction (which can't happen on land, because constructions are broken down to their components on impact, and would therefore not keep the number they've just been given) were given the number of the thing that they are supported by, you could stop players exploiting by building on a floating ship.

But if you build new ships and dumped them in the water nearby (or dry docked them on special facilities on the side of the ship), they would fall, and thus gain an entirely new number, making them the independent craft I would hope they would be. This way, you can have a mobile fleet that can't be exploited (in that particular way)

Questions arising...

1:If you build a wall or floor on the edge of the ship, but also on the edge of another moving, or stationary thing (land, for instance) would the ship count as being land again, or would the land count as a ship? Simple answer, NO. Not sure though.

2:If you have a floating village, with hundreds of separate buildings, each with their own integers, but you build walkways and such between them, turning them into one super-colony, would they each respond to situations differently, causing the game to average out the effect on the colony as a whole, or would they simply cease to react independently?
Logged
I agree with Urist. Steampunk is like Darth Vader winning Holland's Next Top Model. It would be awesome but not something I'd like in this game.
Unfortunately dying involves the amputation of the entire body from the dwarf.

Kurouma

  • Bay Watcher
    • View Profile
Re: Buoyance
« Reply #33 on: October 27, 2010, 06:41:03 am »

Rowanas, your mistake: if I understood you correctly you were suggesting using only the number of tiles that touch water? Buoyancy doesn't work like that. A boat will sink into the water until the total weight of the water it displaces is equal to its own weight. That's volume we need, not surface area. You need to count up the total number of tiles beneath the waterline, boat interior included (not touching water) and all.

As for Andeerz's (or was it Rowanas'?) problem with players having to work out if it'll float:
Shipwright-ery is itself a highly skilled profession, certainly one that would need a dedicated dwarf to manage. Under carpentry, or maybe mechanics. If your shipwright has a high enough skill, pressing q or whatever over your boat construction would tell you if a) It's too heavy to float and b) It's not watertight.

Those calculations would be easy to simulate provided there was a model set up for defining vessels. Whatever it may be.
The main issue as I see it here:
- Players want to be able to build whatever shape boat they want.
- That makes the (already difficult) task of designating vessels harder.
I mean, if boats were constructed from parts like siege engines, we wouldn't be having this conversation. You'd designate a keel, ribs, hull, deck, mast, sails, rudder, build it in a pit in one whack, flood the pit, and the game would automatically detach it from the ground and (with its pre-known density) it would float as a sort of special case, as in I mean nothing else on the map would get a buoyancy calc...
Logged

lampyridae

  • Escaped Lunatic
    • View Profile
Re: Buoyance
« Reply #34 on: October 27, 2010, 08:21:31 am »

Rowanas, your mistake: if I understood you correctly you were suggesting using only the number of tiles that touch water? Buoyancy doesn't work like that. A boat will sink into the water until the total weight of the water it displaces is equal to its own weight. That's volume we need, not surface area. You need to count up the total number of tiles beneath the waterline, boat interior included (not touching water) and all.

Thank you for that Kurouma! Let's say we pretend that all wall tiles and 7/7 water tiles weigh the same. (I know that's abstracting a lot of data, but in terms of game play this can be a good thing. A game is bound to abstract out certain details and DF does that a lot.) This would mean that a more coherent model for buoyancy would be to have the structure sink until the number of displaced water tiles is equal to the total wall tiles of the structure, at which point it floats?

PS: I want a submarine megaproject.
Logged

Rowanas

  • Bay Watcher
  • I must be going senile.
    • View Profile
Re: Buoyance
« Reply #35 on: October 27, 2010, 12:59:18 pm »

Hmm. Extreme abstraction can be a good thing, but I'm not entirely sure....

It would cut down on any CPU-eating calculations.

I dunno. I spent a quarter of an hour trying to come up with a decent reason to turn this proposal down, but in the end it just turns out to be purely gut-feeling.
Logged
I agree with Urist. Steampunk is like Darth Vader winning Holland's Next Top Model. It would be awesome but not something I'd like in this game.
Unfortunately dying involves the amputation of the entire body from the dwarf.

Farthing

  • Bay Watcher
    • View Profile
Re: Buoyance
« Reply #36 on: October 27, 2010, 02:19:37 pm »

bouyancy is an affect of pressure on an object's position a body of fluid. Keep this in mind when searching for topics. There's a thread on the front page titled steam and pressure that covers a decent number of the same topics and could also float in this direction.

Andeerz

  • Bay Watcher
  • ...likes cows for their haunting moos.
    • View Profile
Re: Buoyance
« Reply #37 on: October 27, 2010, 03:25:09 pm »

bouyancy ... and could also float in this direction.

I see what you did there... :P

Also...

Kuroma: the on-the-fly designation system me an Rowanas have been talking about (provided my ideas as to how things work in the game are at least for the most part correct) I think might precisely offer the model for defining vessels that is needed.  :D  It just needs some more thought and development! 

BUT!!! I like your idea of having boats sort of like siege engines.  The only reason I would love to toy around with the former suggestion is that it not only offers a designation system for boats, but also ANY moving object and could possible provide a plausible platform for applying physics (no matter how abstract a system it might be) to these movable objects.  It could make doing things like intentionally collapsable structures, movable parts of buildings, and other things possible.  :D  I would argue that the CPU load might not be game breaking since many games (like any Source Engine game) that simulate physics do this kind of stuff anyway (provided that it's only a handful of objects and doesn't have 100's of path finding calcs to de every frame like DF does so I might be full of shit here...)

Anyway... long story short, Kurouma's suggestion = kewl and awesome, but... but... ._. I wanna explore this other suggestion a bit more!  Just in case!  If not, just for shits and giggles and Fun!

Rowanas, your solution to the building-on-top-of-moving-objects-problem by having built things gain the same moving-object flag as the thing it's built on works or is at least thinking in the right direction!  And you bring up some awesome ideas!!!

With multiple objects being linked together via bridge or something, or even by falling on each other, perhaps the objects could fuse together their object flags and for the sake of simplicity behave as a new, larger object (I'm ignoring any sort of structural strain sort of model... we can assume everything for the sake of simplicity (and tackling one physical phenomenon at a time) is infinitely strong and rigid).

To address the problem of touching the ground and stuff... The way I see a drydock sorta thing working is having the supports on the bottom of the boat (or side or top or whatever).  Link them to a lever.  When the boat is done, remove the supports.  Buoyancy calculations start.  If its surrounded by air, well, it's screwed.  If falls and is destroyed.  If it is in water, it might float depending on if there's enough water depth and if the object's not too dense.  If it touches ground, it's screwed and falls apart.

I think if an object starts on the ground, it should not be destroyed and stay intact.  But then, how would it be defined as an object separate from the ground in that case?  Hmmm... Perhaps a cludgy "build movable object" designation which would make the designated facet be able to give any object constructed on it a movable object flag?  I need to think about this more...





 

Lampyridae, I see what your idea is trying to do, but I don't think it will significantly benefit performance (assuming this would be working within the on-the-fly moving object designation I proposed.)   

Logged

Rowanas

  • Bay Watcher
  • I must be going senile.
    • View Profile
Re: Buoyance
« Reply #38 on: October 27, 2010, 03:42:08 pm »

Ah, Andeerz, you reminded me of why I thought the simplified idea was a worse one.

If we can make a "moving object" physics simulator, then we won't need new ones for conveyor belts, lifts, etc. We'll have one all-encompassing solution which would be handy to have :D


If its surrounded by air, well, it's screwed.

I don't think this is necessary, or desirable. If ships exist, people WILL want magma boats and subs, but if ships can only be  safe if they start partially submerged, magma ships will be near impossible. Surely leaving the "does it explode into many tiny pieces" calculation until it hits something is a better solution, as it allows people to dump-dock (building it up high and then releasing it into water below, like uncontrolled lifeboats) and make magma ships more easily. Plus, if a player accidentally screws up and the water hadn't completely filled up a drydock, they would be safe.

The answer to multiple floating objects linknig up seems pretty good, but I think you misunderstood my ground-touching question.

I meant to ask about touching ground after the ship has been floating for a while. It's already a floating object, so how does the game reconcile this with the fact that it's now a stationary, land-bound object? I think this will be essential to the running of submarines.

While we're on submarines (:D) how will ships be powered? I had thought screw pumps, with the pump simply pressurising the water on the outside, or perhaps have a little contained, water-accessible set of pumps, so it pushes water through to move. But how will ships (or subs) control vertical movement? Ballast? then they either float or sink right to the bottom. not good enough...
Logged
I agree with Urist. Steampunk is like Darth Vader winning Holland's Next Top Model. It would be awesome but not something I'd like in this game.
Unfortunately dying involves the amputation of the entire body from the dwarf.

lampyridae

  • Escaped Lunatic
    • View Profile
Re: Buoyance
« Reply #39 on: October 27, 2010, 03:53:37 pm »

I think if an object starts on the ground, it should not be destroyed and stay intact.  But then, how would it be defined as an object separate from the ground in that case?  Hmmm... Perhaps a cludgy "build movable object" designation which would make the designated facet be able to give any object constructed on it a movable object flag?  I need to think about this more...

That's something that's been bothering me too. That's it. I don't have a solution either.

Lampyridae, I see what your idea is trying to do, but I don't think it will significantly benefit performance (assuming this would be working within the on-the-fly moving object designation I proposed.)

I'm a little worried about predictability as well. As a player you'll want to have some clue of your vessel's ability to float before baptizing it or at least, once it sinks miserably, you'll want to have the impression you had a chance of figuring it out but failed (the feeling that the game "plays fair").  It could bring the player to do some calculations, but not ridiculously large amounts of it. I definitely might be overdoing the amount of abstraction I'm suggesting.
Logged

Andeerz

  • Bay Watcher
  • ...likes cows for their haunting moos.
    • View Profile
Re: Buoyance
« Reply #40 on: October 27, 2010, 04:10:36 pm »

About submarines: well... shooot.  It would be EXTREMELY difficult, I think, to do with any plausible physics model in this game, in part due to the fact the game deals with tiles...

But I think it's possible with the given system.  This part of the wikipedia article on submarines pretty much sums up what would have to happen to have an object submerge and then be able to resurface or stay underwater at the same level without having to take into consideration pressure and stuff.  You just need a boat with a mechanism to allow it to effectively decrease or increase its displacement of water at will (i.e. ballast tanks).  It might require a mechanism, though, to sort of allow water to be considered part of the object...    It might be possible if the suggestion we have is in place even without air pressure, but it would probably be possible in the same way the dwarf-puter is possible; it would take a lot of obsessive-compulsive work and trial and error.  :3  But it would be Fun.

I think if an object starts on the ground, it should not be destroyed and stay intact.  But then, how would it be defined as an object separate from the ground in that case?  Hmmm... Perhaps a cludgy "build movable object" designation which would make the designated facet be able to give any object constructed on it a movable object flag?  I need to think about this more...

That's something that's been bothering me too. That's it. I don't have a solution either.

Well, the designation solution I suggested would be a plausible solution, methinks... it would be a designation for static ground tiles only, and somehow only affect one side of the ground tiles (the top) or all sides.  It could be thought of as telling the dwarfs building stuff on it to not set it into the ground... just to set it on top of it.

I'm a little worried about predictability as well. As a player you'll want to have some clue of your vessel's ability to float before baptizing it or at least, once it sinks miserably, you'll want to have the impression you had a chance of figuring it out but failed (the feeling that the game "plays fair").  It could bring the player to do some calculations, but not ridiculously large amounts of it. I definitely might be overdoing the amount of abstraction I'm suggesting.

I like the shipwright idea, though maybe the skill could be thrown in with architecture or engineering depending on how skills work out in the future.  The dwarf with the skill could give an idea of whether an object with the movable-object flag could float or sink in water, erring on the side of caution, with the error being greater depending on the skill of the dwarf, like you suggested. 

However, the predictability thing I don't think would be much of a problem and necessitate a new skill nor novel use for an existing one.  Just building a boat shaped object out of wood would be easy enough, I think, that any player without knowing the physics of the game or metagaming would be able to build a workable boat without much if any trial and error.  Optimizing the design or using other materials, however, might require trial and error on the player's part. 
Logged

Andeerz

  • Bay Watcher
  • ...likes cows for their haunting moos.
    • View Profile
Re: Buoyance
« Reply #41 on: October 27, 2010, 04:14:01 pm »

Oh, and about powering ships!

Screw pumps would be cool for places without wind.  That and oars.  Or sails for when wind is present.  Or swimming cats tethered by chains or ropes.  Or... for air ships, cats with buttered toast on their backs.

Steam power is something I'm not going to touch with a ten foot pole, though. 
Logged

Rowanas

  • Bay Watcher
  • I must be going senile.
    • View Profile
Re: Buoyance
« Reply #42 on: October 27, 2010, 04:31:11 pm »

I think screw pumps are the way to go for ship movement and having had a little think about submarines, I don't think it would be as difficult as I thought it would be. The wikipedia article gave me the solution.

All you would need is 4 or 5 rooms in your submarine with a free space, a pump and a lever operated hatch. A dwarf sitting in the cockpit could pull a lever which would open hatches on whichever ballast rooms you wanted and then close them. The added weight (all of this only works if the mass of things on board is important) would cause the ship to sink. Then, with another set of levers, that dwarf can control how many rooms have operational pumps, forcing the fluid out of the room and removing that weight from the ship as a whole, allowing it to float or rise as required.

Again, only works if on-board mass is worked out on the fly. I think that'll be too frame-rate-chewing. Needs more thought.

P.S. The moment air pressure and steam is in, I'm making ironclads and steam subs. I'm one of the pro-steampunk dwarf fortress people.
Logged
I agree with Urist. Steampunk is like Darth Vader winning Holland's Next Top Model. It would be awesome but not something I'd like in this game.
Unfortunately dying involves the amputation of the entire body from the dwarf.

Soralin

  • Bay Watcher
    • View Profile
Re: Buoyance
« Reply #43 on: October 27, 2010, 07:20:43 pm »

Even easier submarine plan - have a room  in your ship, or several, with a door/hatch/etc to the outside that can be opened by lever to let water in and allow the submarine to sink.  And in those rooms, have a bridge, so that you can close off the room, and raise and lower the bridge to atom-smash the water away, so you can float back up to the surface.  Dwarven physics at it's finest. :)
Logged

logismo

  • Bay Watcher
  • the answer to life the universe and everything
    • View Profile
Re: Buoyance
« Reply #44 on: October 27, 2010, 11:23:45 pm »

boats ftw
Logged
"Only the educated are free." - Epictetus
Pages: 1 2 [3] 4