swarm-game / swarm

Resource gathering + programming game
Other
836 stars 52 forks source link

Steam press device for more environmental/resource-management play #1420

Open byorgey opened 1 year ago

byorgey commented 1 year ago

I had a potentially interesting idea, which goes something like

Originally posted by @byorgey in https://github.com/swarm-game/swarm/issues/348#issuecomment-1151827619

p3rsik commented 11 months ago

Maybe it can be balanced using a mechanic where you need to supply the press with water for it to work? But then it evolves into a more complex task, of course.

byorgey commented 11 months ago

Yeah, I like that idea. There's currently not much you need water for, so this could be a nice application. Also potentially relevant/related is #550 .

p3rsik commented 11 months ago

Hey @byorgey! I saw that and some other discussions, and while I'm not a fun of water spilling idea, I am fun of finite resources vs green energy idea and have a proposition on to how combine this issue with resource depletion and green energy. What if we have 2 variants of the steam press device, where one would work on water and combustible fuel, and the other on solar energy(like, "hydraulic press", for example)? That way you would need to supply steam press device water and fuel(and some amount would be used PER crafting). For this you would be able to use jars of water(or maybe think about something like pipes?). So you would have water carry robots with jars which would supply the press with water continuously.

byorgey commented 11 months ago

What if we have 2 variants of the steam press device, where one would work on water and combustible fuel, and the other on solar energy(like, "hydraulic press", for example)? That way you would need to supply steam press device water and fuel (and some amount would be used PER crafting). For this you would be able to use jars of water(or maybe think about something like pipes?). So you would have water carry robots with jars which would supply the press with water continuously.

Sure, all of that sounds good to me. The thing to keep in mind is that this is a programming game, so we should add things that create interesting programming challenges, rather than just adding yet more devices and things you have to craft for their own sake. So e.g. a steam press that you have to continuously keep supplied with water is interesting because you have to e.g. program a robot to go back and forth fetching water---though on the other hand there are already other things where you have to program robots to go back and forth fetching things. Part of the idea with #550 is that if water spills when you move, it creates an opportunity for more interesting programming challenges: e.g. you have to create your own "pipeline" of robots handing water to each other along a chain.

p3rsik commented 11 months ago

Yep, I understand your point about interesting challenges, I'm just talking about coming with creative ways for that that don't compromise on logical side of things. Challenges must be interesting not because we impose some restrictions for the sake of it being interesting(though, that also can be seen as a challenge in the dedicated scenario), but because we create interesting system that player can understand and accept as logical to him.

That's not to say, that your idea is bad, or something like that, I like the idea in general, I just think that we can come up with something more interesting for the particular implementation of that general idea. If we're talking about water and water-consuming buildings, we can think about managing flow-rate in some form of "smart pump" because if flow-rate is too low, the press would slow down, or if it's too high, pipes/press can blow up/cogs would not be produced, since leakage caused malfunction.

What do you think about this @byorgey?

byorgey commented 11 months ago

Challenges must be interesting not because we impose some restrictions for the sake of it being interesting(though, that also can be seen as a challenge in the dedicated scenario), but because we create interesting system that player can understand and accept as logical to him.

Yes, makes sense, I agree.

I just think that we can come up with something more interesting for the particular implementation of that general idea.

Yes, probably so!

If we're talking about water and water-consuming buildings, we can think about managing flow-rate in some form of "smart pump" because if flow-rate is too low, the press would slow down, or if it's too high, pipes/press can blow up/cogs would not be produced, since leakage caused malfunction.

Sure, that sounds interesting. And by "smart pump" I assume you mean a robot that you have to program? e.g. I am imagining a scenario where a steam press has a small "reservoir" that can hold e.g. 4 units of water; if you try to operate it when the reservoir is empty, or try to overfill the reservoir, the steam press is destroyed/does not work/etc. Then you could imagine programming another robot to sit next to it to serve as a larger "storage tank/smart pump" which could hold a large reservoir of water and feed water to the steam press as needed; other robots could deliver water to the smart pump robot. I'm not attached to that specific scenario at all, it was just random brainstorming, but is that the kind of thing you're thinking about?

p3rsik commented 11 months ago

By "smart pump" I meant anything that would manage the flow rate :sweat_smile:

Yep, that's what I was thinking about.

Also, we can consult ChatGPT, I find it very useful for when you have a general idea, but can't come up with the particular details/implementation of the idea.