NoisyOwl [he/him]

I make indie games.

  • 13 Posts
  • 9 Comments
Joined 10 months ago
cake
Cake day: September 18th, 2023

help-circle

  • Since this is happening inside a multiplayer game, where other players might not be doing automation gameplay, I want to be mindful of how much server horsepower an automation player uses. So giant Factorio-style megafactories aren’t a good fit (It’ll still be possible as a self-directed challenge, especially if you’re running a single player server, but it’ll need a hefty computer since I doubt I’ll optimize it as well as Factorio.)

    Which means I can’t do Factorio’s thing where an X requires 10 Y requires 10 Z and the massive scale causes problems you need to work through, so I need to add complexity elsewhere to make factory play still challenging. Machines that require inputs from multiple different transport mechanisms are one way to do that. Another might be time-sensitive parts.

    I’m up for suggestions on more ways to make particular machines a nuisance to work with.


  • I’m working on a 3D voxel game, where I plan to have automation mechanics eventually, so this has been on my mind.

    In the current (very possibly changing) plan, the first automation tier will be conveyors that go straight into buildings, but later materials will be too delicate for conveyors and need to use pneumatic pipes, and the final tier will include materials that must be handled with Opus Magnum style swinging arms (which are also inserters).

    I like changing the transport system is the best way to do progression in one of these games, because it’s directly tied to the map, and thus has the most options for subtlety and cascading changes. And having multiple separate systems feeding into the same process is of course good for adding complexity.















  • Air is a compressible fluid, so ultimately you’ll need Navier-Stokes, but actually figuring out how to translate those equations into code is infamously annoying, so definitely check out an existing solution instead of trying to implement from the equations. Foster & Metaxas is an old a grid-based solution. Theirs is designed for incompressible fluids (water), but I think it should be fine if you raise β₀.

    There’s a lot of math in the paper, but it’s easier to implement than it looks (each step, run [2] on every cell once, then run [6] [7] [8] on every cell ~6 times), and it’s mostly just transcribing equations. It’s super fiddly though, just incredibly fiddly, expect to have to spend a lot of time debugging.

    There are probably suitable simpler solutions too though, so definitely spend some time searching for them (or just copyable implementations of Foster & Metaxas) before diving into that.