Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Possibility of mod allowing steampunky contraptions WITHOUT DFHACK  (Read 734 times)

bloop_bleep

  • Bay Watcher
    • View Profile
Possibility of mod allowing steampunky contraptions WITHOUT DFHACK
« on: September 21, 2017, 12:45:09 am »

Okay guys, I'm tired and should've probably have been in bed by now, but I just got a radical idea that is probably impossible and most definitely crazy.

What if we could allow steam machines to be built *without DFHack*? That is, pure vanilla raw modding.

Hear me out. Suppose we create 6 different material types -- north-flowing, south-flowing, west-flowing, east-flowing, up-flowing, and down-flowing steam. (They would all display as "Steam" in-game.) The trick here is we define steam pipes, valves, and all that as creatures, and have these steam types give syndromes to them.

For example, suppose we have an E/W steam pipe. West-flowing steam would trigger the pipe to produce more west-flowing steam, allowing the next E/W pipe to pick up that new steam, and the next, and so on. Similarly with east-flowing steam. However, all the other steam types won't affect the E/W pipe at all.

With corner pipes, steam of the type of *the opposite* of one of the corner directions would produce steam of the other corner direction. (In the case of a N/E pipe, S steam would produce E steam, and W steam would produce N steam.)

Valves can react to only one steam type. Suppose there is an E/W valve that only allows steam to flow E. E steam would affect the valve but W steam wouldn't.

Pressure-operated valves can also be made -- we could have an E/W valve allow passage only if it has a tag set by N steam.

There are a couple concerns:
  • Unless we can restrict the flow of steam in only one direction, steam can pass between pipes it shouldn't (e.g. two W/E pipes situated above each other vertically can pick up on each other's steam.)
  • I'm not that sure how it would possible to construct these machines in Fortress mode. We could use pastures, but then how do we make the components themselves? They are creatures, after all.
  • It doesn't fit into roleplay that well (and is a bit confusing) that steam components seem to be leaking steam.

Maybe this is all a sleep-deprived ramble or I actually have something here. I don't know. I'll find out in the morning.
Logged
Quote from: KittyTac
The closest thing Bay12 has to a flamewar is an argument over philosophy that slowly transitioned to an argument about quantum mechanics.
Quote from: thefriendlyhacker
The trick is to only make predictions semi-seriously.  That way, I don't have a 98% failure rate. I have a 98% sarcasm rate.

Bearskie

  • Bay Watcher
  • Nyam nyam
    • View Profile
Re: Possibility of mod allowing steampunky contraptions WITHOUT DFHACK
« Reply #1 on: September 21, 2017, 01:39:31 am »

Possible, not practical? Probably not. You don't actually need to have steam imparting the syndrome, a 1-tile touchable interaction would work better in passing the syndrome without spillover.

But that leaves three main issues with using creatures as buildings/reaction hubs:

Like you mentioned, there are already complications when it comes to spawning your creatures. Using creatures as buildings will also cause your unit and dead list to be filled with steam engine parts. Then, there's the primary issue that interactions do not happen immediately when available. It used to, but since DF2014 (I think), units only sparingly use interactions on idle, unless they are in combat, in which they will use them immediately.

bloop_bleep

  • Bay Watcher
    • View Profile
Re: Possibility of mod allowing steampunky contraptions WITHOUT DFHACK
« Reply #2 on: September 21, 2017, 12:52:03 pm »

Well, I had an idea for how to construct these machines -- you can buy them in cages from traders. (Roleplay the cage as "preserving packaging.") After you buy them you would pasture them wherever you want.

Though it might be hard to get enough components for large-scale projects, and then there's the unit menu clutter... I'll think about it.

Also, an idea for a raw-only steam engine -- you would have a "Steam Engine Loading Station" building and a "Steam Engine" creature/component -- you would have to place them close together for it to work. The Loading Station has a reaction which takes a piece of coal and a bucket of water and produces a gas. This gas would trigger a syndrome in the Steam Engine creature which would make it continually release steam for a certain amount of time -- say, a month. After that it would stop producing steam and you would have to perform the reaction again. This allows you to create steam without requiring a dwarf to always be present in the engine.

EDIT: Some new ideas.

  • You said that creatures don't use interactions that often when idle, but they always use them when in combat. If we could make all steam components hostile to each other, we would solve that problem.
  • You also said that we could use touch interactions -- I like it. We would have several different syndromes corresponding to N, W, E, S, U, and D steam that are given by the interactions but only affect certain steam components.
  • Combat interactions would also us to exploit DF's combat AI to simulate pressure. Do you know if the AI has a preference for which enemy to attack based on attributes? If so, we could be able to manipulate those attributes so three-way pipes would choose to "attack" the adjacent pipe with the "path of least resistance" more than the alternative.

I need some help here on determining what is possible and what is impossible. I'm not the best raw modder, so I'm not that much of an authority on these things.
« Last Edit: September 21, 2017, 02:26:06 pm by bloop_bleep »
Logged
Quote from: KittyTac
The closest thing Bay12 has to a flamewar is an argument over philosophy that slowly transitioned to an argument about quantum mechanics.
Quote from: thefriendlyhacker
The trick is to only make predictions semi-seriously.  That way, I don't have a 98% failure rate. I have a 98% sarcasm rate.

Bearskie

  • Bay Watcher
  • Nyam nyam
    • View Profile
Re: Possibility of mod allowing steampunky contraptions WITHOUT DFHACK
« Reply #3 on: September 21, 2017, 08:13:51 pm »

By making them hostile to each other, you're inevitably making them hostile to dwarves - so your dwarves will flee and refuse to repasture innocent steam parts.