I spent some time today working on a little toy model game, wherein you have to arrange "ship parts" that are made of squares, paying attention to weight distribution, center of mass, aerodynamics, etc. It was a bunch of vibecoding to test whether the shipbuilding was actually a fun thing to do, something that wouldn't have been possible to do rapidly before the LLM, at least not with the current rust on my programming skills.
It's pretty fun, but would require a lot of work to add any amount of balance, especially when The Vision is that it would be a roguelite part-drafting FTL type of thing.
A few things that occurred to be during the prototyping:
It's fun to have two different modes for construction, "bolt" and "rebuild". When you're out and about, flying from planet to planet, you're using "bolt", attaching parts to your ship as well as you can, jettisoning things you no longer need to make space, trying not to unbalance it. But then you get to some kind of rest point, and you can take the whole ship apart to engineer it into the best version of itself. Like healing in Slay the Spire, but you're getting in the guts of the machine!
There's something really pleasing about polyominos, which is that they increase in complexity as you add in more squares. There are two shapes you can make with three squares, seven with four squares, and twelve with five squares.
It would be interesting to have the polyominoes have mechanical identity based on their shape. Storage is O-shaped, power is S-shaped, weapons systems are L-shaped, thrusters are T-shaped ... the problem with this approach is that if part of the gameplay is ship-balancing, we don't want there to be a "standard" ship. So probably three of the shapes are "core" predictable ones, cargo can be any shape, and then the other non-core functions? Mostly I like the idea of going from tertomino T-shape to pentomino T-shape.
Tiny little one-square or two-square shapes are good here as a method of balancing out the ship and making sure that aerodynamics are good? I'm thinking of them like little bonus pieces you're almost always happy to gobble up.
Shipbuilding will depend on tension, and if there's "aerodynamics", mass balancing, center-of-thrust vs. center-of-mass, then there can naturally be archetypes that arise from that, like aerodynamic "missions" or "events" or whatever, which you are either optimized for or not. All this would be for TBD gameplay, but I was working on the bones.
Center-of-mass, center-of-thrust, and aerodynamics are all somewhat unintuitive, particularly if the pieces have different weights to them, so this needs to be very clear in the UI when you're fiddling with ship design, super reactive to the player moving pieces around.
Aerodynamics is handled via rise-over-run along the left and right edges, and I don't know how to calculate that and show that calculation in a way that's instantly legible.
Once the bones are done, there are a lot of neat events you could do, things like adjacency buffs, debuffs that inflate a piece by a square, miniaturization that makes a piece smaller (but might unbalance the ship until reconfiguration), and stuff like that.
These are mostly notes for my own benefit, as I don't intend to throw away more time on this. Vibe coding and prototyping is nice to see the shape of a thing, but the actual work of game-making is a lot of testing, tuning, etc. To actually have a collection of rules for how ship parts are generated, and a long list of events, takes much more than minimum-viable design.