Early ship box model

Published on
Last changed on

An enjoyable break from entities and site upgrade…

I couldn’t help myself. I have been thinking about how to approach the overall shape and organisation of ships - and stations, for that matter.

I have not experimented with L-systems yet, but I spent about an hour on a first procedural box model. Placement is fully procedural and relative module volumes are respected. Even with an extremely primitive engine, a lot of future questions are already obvious:

  • Boxes are boxes are just boxes. While this may be useful for rough procedural volumetric placement, it is far from enough for mesh generation, etc. Even though everything will remain low-poly for sure, many aspects I still have to start drafting on: random meshes within constraints imposed by module types, textures, etc.
  • This short video above is arguably for "low-tier" ships. But what of stations? What of specific frames and other types of entities slotted in ships/stations/colonies? What of ship role, if any? What when tier increases? A ship built around topological folds and spacetime curvatures is very unlikely to look like the utterly primitive canbox shown in the video, surely! :-P Similarly, a smallish ship built for atmospheric (re)entry is surely built around different rules than one built solely for vacuum operations. One good piece of news is that extremely advanced ships and stations will surely evolve towards sphere or sphere-like shapes. Don't ask me why, it just feels like a natural evolution towards a universal form of perfection. But variations might be interesting here as well…
  • Some units attract each other, while others repel one another. For example, it is probably a bad idea to install a reactor/generator next to a habitat or sustenance module (look up why the Odyssey in 2001 had the engines sit so far away from the bulbous "head"). Conversely, units such as generators, heat sinks and/or propulsion probably want to be not too far from one another. All that is somewhat taken into account by the current ultra-mega-drafty-dirty code, which of course has to be massively improved!
  • Some interesting/frustrating cases not taken into account in that video. For example: what of spin gravity, which is the only one available at the beginning of the science tree? Surely that means something that looks like one ring or more? How to handle that and which module(s) need gravity so that they or their occupants can operate normally? Such a module would need to be placed accordingly and certainly not in boxes, but more in torus-like volumes…

All this to say that procedural ship arrangement and appearance look like fun - however, many different approaches can be had and I have barely begun to scratch the surface. One thing is for sure, though: a player should be able to "randomise" their ships until they are satisfied with it, perhaps to make up for the fact that manual placement is probably something I do not intend to support given how even harder it would be to implement.

Food for thought again… :-) But in short at the current stage:

  • Should ships be generated from module graphs, hull archetypes, or both?
  • Which modules require gravity?
  • Which modules repel or attract each other?
  • How much should tier alter overall geometry?
  • Can randomisation replace manual placement without frustrating players?

Please signin to add your comment.