← All transmissions

Stuck in a loop ♻️

Hey there!

Tim the RoboToad here again to share an update on what I've been up to over the past month. I've covered a lot of ground working on my upcoming sci-fi game and want to share a couple of focused updates on two areas of interest.

The loop, the loop, the loop is on fire! 🔥

First, it's all about the loop! A fundamental component of games is their "core game loop" which is basically just answering the question: "What captivating activities are players engaging in over and over again as they progress from the beginning of the game to the end?" In my case, the core loop is basically:

You descend to the planet -> roam around the landing site collecting data and salvage -> return to base (the ship) -> sell data for money -> combine salvage with money to upgrade and unlock new abilities -> head back down to the planet and do it all over again.

Of course, there's a bunch of complexity, intrigue, and sub-loops hidden behind that terse description, but stubbing out that core loop is currently my main goal. To that end, I recently created a "home base" in the form of a ship orbiting the abandoned colony world. The colony world is where you'll spend most of your time in the game loop, and the ship gives you a reprieve from the harsh environments planet-side. At the moment, the ship includes three interactable areas: a communications terminal to interact with other non-player characters, a navigation terminal where you'll choose your next landing site, and a trusty landing craft that will convey you safely to the planet's surface.

Communications terminal for upcoming sci-fi game

Communications Terminal

This is where you'll interact with various non-player characters such as the Colony Corporation Handler, the Data Broker, and many more!
Landing craft for upcoming sci-fi game

Landing Craft

Your trusty landing craft will get you down to the planet's surface and back again in style!

Landing Craft, but Spinning!

Now who doesn't love a good gif? This one was too good not to share here.

Landing craft animation for upcoming sci-fi game spinning

A walk in the park 🏞️

Now that I have the ship in a functional state where you can receive quests, select a landing site, and collect rewards (in the form of sweet, sweet cash) for your efforts, the next step is to get the landing sites set up. This includes the wider landscape, buildings to explore, and interactable items to engage with. Setting, intrigue, interaction!

For the landscapes, I'm trying to keep things interesting by leveraging procedural generation to create unique terrain features for every landing site. At a high level, it works like this:

  1. First you create a flat plane with many points arranged in a grid. Imagine a checkerboard where the corners of each square are points that you could raise or lower to create mountain peaks or valleys.
  2. Then, you generate a black and white noise texture and capture the color for each pixel in the image as a number from 0 to 1. For our map, 0s would be the "low" terrain areas and the 1s would be the "high" areas such as mountain peaks.
  3. Once you have your "map" of height values collected from the noise texture, you apply those to your flat plane to raise or lower each of the points on the checkerboard. The result is a natural-looking landscape with rolling hills and valleys.
Noise texture example

Raw Noise Texture

This is an example of a noise texture used to generate the terrain. In this texture, the white areas represent the high areas of the map while the black areas represent the low spots.
Noise texture applied

Applied Noise Texture

This shows the same noise texture above applied in the level generator to create a dynamic play area.
Perspective view of applied noise textures

Perspective View

This shows a bit of a perspective view of the applied noise texture. On the right side of the image you can see the high areas with white rock formations. On the left is a "low" area in red where grass and trees could be found.

As a secondary step, I also use those height values to create "regions" where different landscape features could be placed. For example, at the higher points, I could add rocky cliffs. And at the lower points, you find grass, trees, and other flora. Putting this all together gives us natural, flowing landscapes, along with organic clustering of trees, rocks, and other features that would otherwise have to be placed by hand.

Next up: procedurally generated colony sites. This is where you'll spend most of your time during the core game loop and I want to make sure these areas are full of intrigue and charisma. So I'll be creating modular building parts to keep the buildings unique, abandoned equipment for salvageable resources, and buggy terminals to collect raw data from. More to come on that in the next transmission!

Until next time,
- Tim the RoboToad


P.S. - Just for fun, here's a couple of renders showing a concept landing craft that I ended up not using. The idea I was working with had the player descending to the planet in the same ship they occupied in orbit. In practice I couldn't balance a big enough interior space with a small enough ship to fit in the landing zones.

Front view of a ship concept

Front View

Kind of a cool design but it didn't really fit into the 80s Cassette Futurisim vibe.
Front view of a ship concept

Back View

I'd planned on having the various terminals and interaction zones inside this ship but it was just too cramped.

Get the next one by email

Screenshots, progress reports, chances to join the beta, and news as soon as I can share it. No spam. Unsubscribe anytime.