StarshipColony.com

📧 Email   Discord   YouTube

New Terrestrial Planets

The galaxy in Starship Colony is based on a real map of the Milky Way galaxy - so it's huge!  It would be impossible to pre-make all the planets for all the stars in the galaxy, so they're procedurally generated (by code) as you explore.

There are different types of planets each with their own quirks and details. I've already covered arid Mars-like planets. Now it's time for Earth-like planets which are probably the most complex and varied.

Screenshot

Screenshot

Note how the terrain changes based on temperature due to latitude. We have polar ice caps where the temperature is extremely low, then a more temperate green area, and arid deserts in the hot equatorial regions.

Behind the scenes a temperature map is generated, as well as a precipitation / rainfall map. The sea generates cloud and will even act as a brake on extreme temperatures near the coast.

Screenshot

All the biomes stem from a combination of precipitation (from the sea) and temperature - which is itself a combination of latitude and the planet's distance from the star.

This means it's possible to have hot scorched Earths with very little water or cloud, all the way to frigid snowball Earths with ice caps reaching all the way to the equator.

Screenshot

Screenshot

The aim has been to get something roughly Earth-like from all these parameters, and then we can deviate to more extreme values for more variety. I think that's been achieved.

There are a lot of parameters for all sorts of things I've not yet had time to fully explore. For example, the desert terrain texture is procedurally generated based on eroded strata of different mineral colours modulated by the height field - this gives unique non-repeating texture globally. I've barely scratched the surface (pun intended) with what's possible here.

From this orbital view you'll be able to select your landing site which then becomes your ground-based map. I'm pleased - this is another large missing piece of the puzzle done. :)


As ever, please wishlist Starship Colony on Steam - it helps our visibility with the algorithm. You can also follow the developer page to get notified when we start play tests. The Discord forum is also usually first to hear of any news. Thanks!




New In-Game Vector Editor

Starship Colony now has a built-in 3D vector graphics editor! 😲

It's not quite Blender, but it is a ridiculously large feature to add to any game, let alone a solo indie project. I finally had enough of Affinity Designer's laggy editor and crashing that forced me to reboot every time. So I decided to write my own..! 😎

2D vs 3D

Up to now all the game's objects have been made using 2D vector shapes, with simple gradients, outlines, and 2D bevel fills that fake 3D shapes and lighting. It's more direct and often faster than 3D modelling, and there's more direct control over the colour & lighting which is part of the style. But it's also frustrating trying to use 2D tools to make 3D looking objects.

Take the Captain's Chair for instance:

Screenshot
First game object made - Needed improvement

This was the very first object I made for the game, and I felt it needed some improvement. I wanted to tilt it so you're looking at it from a higher angle, particularly the back piece in the first frame. But this is impossible because it's just a 2D shape with a 2D image bevel. Foreshortening it will just reduce the height. There's no way to make the 2D bevel appear tilted, it's fixed in the centre. We've reached limit of what we can do with 2D effects.

The obvious solution is to extrude the outline curve into 3D, bevel it, then rotate and light it in 3D. So that's what I did:


Until now every object in the game had to be made 4 times over, one for each 90 degree view angle. Now I can just rotate the object in 3D and save out frames from any angle. This is a huge time saver!

Screenshot
1 Object, 4 Angles

This is what it looks like from the 'correct' view angle. But I'd probably like to try a lower angle to see if it works better with the characters. I can easily change it now.

Here's a view of the Bézier curve editor working on a tilted plane in 3D. You can just drag points around and it updates at a butter smooth 60 FPS. :)

I've also made some new GUI controls for editing colour and gradients. You can drag sliders around and see results in real time.

Screenshot
Editing Bézier Curves and Colour Gradients

Primitives in the object scene hierarchy tree view can be dragged around and reordered. The Extrude primitives operate on the Curve primitives added to them, and they in turn use the Points added to them.

I'm sure you could do something similar in Blender but this workflow is tailor-made for the game engine with bespoke settings for custom shaders and object properties. There are no intermediate export / import steps.

Screenshot
Wireframe View - Butter smooth editing

I've designed the architecture with future expansion in mind. Currently there's a more advanced Loft primitive which bridges between any number of Curves, great for pipes and cables. Plus a dedicated Shadow primitive which generates blurred shadow images directly from the shape Curves. This makes it extremely easy to made efficient good looking shadows.

There's also a Sprite primitive which lets you to put 2D sprites in any 3D orientation, including all the existing game object sprites. This lets me reuse all the existing artwork and just make incremental upgrades. It's also great for decals.

I have so many ideas for additions to the editor, but they can be added over time as I need them.

Future Potential

The potential for player-made content is huge, and although I made the editor for myself, having it built right into the game should give things a nice boost! 🚀

Speaking of which, Starship Colony just got promoted to the Popular Upcoming chart on Steam. Traffic is up, and wishlists are climbing steadily despite having no trailer or publicity yet. It'll interesting to see what happens when we do! :)

If you haven't wishlisted already, please do - it helps our visibility with the algorithm. You can also follow the developer page to get notified when we start play tests. The Discord forum is also usually first to hear of any news. Thanks!




← More from 2025