Shipyard Evolution

Development is going ahead at full warp. I’ve been so busy that I haven’t had time to keep you all updated on what I’ve been doing. I’m going to try to post more regular updates with a quick snapshot on what I’ve been up to, as well as some more details on particular aspects of the game.

The game has been through 2 small rounds of closed betas at this point and the feedback I’ve been getting is very positive. I’m aiming to do a larger beta once the next batch of features and content are polished to my satisfaction, probably around the first week of September (fingers crossed).

In the past month, I’ve worked on:

  • Started working with the composer, Moritz, on music for the game
  • Crew UI work, started working with the portrait artist on crew character portraits
  • Implementing player controls for secondary weapons
  • Missile and beam improvements and technologies
  • Heat dissipation and simulation
  • Shipbuilding updates
  • Lots more minor tasks and features

I mentioned in the announcement that the shipbuilding system has undergone a significant overhaul, so I thought I’d give a little more detail on that.

In Starcom: Nexus ships were built on a hexagonal grid with module prefabs. In the game logic, a ship consisted of a hex coordinates and the corresponding module. Each module only occupied a single hex in the ship layout data, but some modules had special logic to “fake” being larger than a hex.

For the sequel, I had a few changes that I wanted to try to implement: modules of different sizes and shapes, support for module rotations, and a unified set of modules for both player and NPCs with faction coloring being handled in the shader, rather than each faction needing their own set of module prefabs with their own materials.

The first step was to produce a prototype of the new module layout logic, shown below:

Animation of the multi-hex module layout prototype

Getting this working was a bit harder than I envisioned: modules needed to define both the hexes they occupied, as well as the edges that were valid connectors. With these definitions, the ship-building logic needed to transform both the occupied hexes and their edges by their rotation, as well as handle “reflection” for asymmetric modules. It also needed to maintain a map of connections so that if a module was removed (or destroyed in the case of NPCs) any modules that no longer had a path to the bridge would also be removed.

Once I got the prototype working, the next step was to find out how it would look with actual 3D models. In Starcom: Nexus, I made all the modules myself in Blender. They came out “okay” but it was obvious I think that they weren’t made by an artist. And it took me a ridiculous amount of time to make them.

For Starcom: Unknown Space I was able to work with a concept artist and 3D modeler to produce much better models in much less time.

It took a lot of work upfront to figure out what kind of module shapes and designs “worked” with this system, and how to create a shader that could make them a) look good, b) distinctive, and c) not overload the GPU.

The very simplified workflow was I described what modules I needed along with a very bad sketch and some reference art, Ruslan (the concept artist) would come up with some more detailed sketches and then Povilas (the modeler) would use these as a guide for creating the final model:

Here is a small ship being built in the shipyard with some of the new modules:

The modules use a custom shader which has a number of color multipliers for the various layers (plating, detail and underlying). I can modify these for the different factions (and players with Chromaplating tech can customize their own colors).

Changing the default Starcom colors to a muted desert theme.

One new feature I’ve been working on in the past week is thermal dissipation. In Starcom: Nexus, players got a small boost to their weapon fire rates for every empty space they were next to. I’m now experimenting with high-energy modules like plasma and lasers generating heat as they fire. This heat flows to cooler modules and into space. When modules are too hot, they suffer an efficiency penalty. This creates a trade-off between compact well-protected layouts and layouts that can sustain intense energy use.

Simulating heat build-up in the shipyard. Most systems stay nominal, but the Mk Plasma Turrets start to run a little hot after a few seconds.

There’s more new features and changes to shipbuilding, but I’ll leave off for now. Thanks for reading!

Don’t forget to wishlist and follow on Steam so you don’t miss any important announcements!