HomeGamesUpdatesPricingMethodology
Steam News2 May 20233y ago

April 2023 Development Update

Welcome, Rock Hoppers, to the 1st of May edition of our devlog. I've been working on adding some core and core-adjacent functionality and I've started a concerted effort to optimize the multiplayer experience.

In this update4

Full notes

Full Rock Hoppers update

Read the full published notes in a cleaner layout. The original post stays linked below.

What changed

0 fixes4 additions5 changes0 removals
  • Gameplay
  • Workshop
  • Server
  • Maps
addedWelcome, Rock Hoppers, to the 1st of May edition of our devlog. I've been working on adding some core and core-adjacent functionality and I've started a concerted effort to optimize the multiplayer experience.
changedSteam Workshop IntegrationWe were always planning on implementing the Steam Workshop, but to be honest, I didn't expect it to happen before early access. I decided it would be a good use of my time after realizing I had dozens of prefabs and maps with dubious names scattered all over several development machines. So now, players can upload their prefabs, including complexes with multiple elements, and entire maps to the workshop right from the menu.
changedSteam Workshop IntegrationWhen you want to release a complex, which can consist of any number of prefabs, all you have to do is publish the root prefab. The game will find all connected prefabs (corridors, rooms, and adjacent structures, for example) into a single bundle and publish it as one workshop item. Once subscribed, any world you generate will include all of your subscribed prefabs. It's like magic, if magic consisted of several thousand lines of indecipherable code.
addedSteam Workshop IntegrationWorlds are similar. You can publish your generated worlds just as easily as a prefab, but there's an added benefit: You can launch a dedicated server with nothing more than the Steam ID of a published world, and the server will download the world on first launch. More importantly, any player connecting to your server who doesn't already have the world it's running will automatically and transparently download it from Steam, saving bandwidth on the server, and -hopefully- a lot of frustration.
addedWorld Map & Rock LODsThis one's straight up smexy. you can pan and rotate, highlight your desired waypoint and active mission, and add new waypoints, all from the map menu. And see those adorable little asteroids? They're lowres versions of the actual asteroids which, it turns out, can be used as a reduced level of detail model when you view an asteroid from a distance. They may look low-poly, but the triangle count on these big asteroid models is pretty high, so having a lowres alternative allows me to show all asteroids all the time, instead of popping in the full detail asteroid when you get (too) close. I feel like this makes a big difference in conveying a sense of scale. And, of course, being able to see your destination makes navigating a lot easier.
changedVisual ImprovementsI've upped the default graphics fidelity with sharper shadows and more shadow casting lights. This will be configurable eventually, but the performance hit between reasonably well defined shadows and what amounts to shady blobs turned out to be far smaller than I expected.

Rock Hoppers changes

addedWelcome, Rock Hoppers, to the 1st of May edition of our devlog. I've been working on adding some core and core-adjacent functionality and I've started a concerted effort to optimize the multiplayer experience.
changedWe were always planning on implementing the Steam Workshop, but to be honest, I didn't expect it to happen before early access. I decided it would be a good use of my time after realizing I had dozens of prefabs and maps with dubious names scattered all over several development machines. So now, players can upload their prefabs, including complexes with multiple elements, and entire maps to the workshop right from the menu.
changedWhen you want to release a complex, which can consist of any number of prefabs, all you have to do is publish the root prefab. The game will find all connected prefabs (corridors, rooms, and adjacent structures, for example) into a single bundle and publish it as one workshop item. Once subscribed, any world you generate will include all of your subscribed prefabs. It's like magic, if magic consisted of several thousand lines of indecipherable code.
addedWorlds are similar. You can publish your generated worlds just as easily as a prefab, but there's an added benefit: You can launch a dedicated server with nothing more than the Steam ID of a published world, and the server will download the world on first launch. More importantly, any player connecting to your server who doesn't already have the world it's running will automatically and transparently download it from Steam, saving bandwidth on the server, and -hopefully- a lot of frustration.
addedThis one's straight up smexy. you can pan and rotate, highlight your desired waypoint and active mission, and add new waypoints, all from the map menu. And see those adorable little asteroids? They're lowres versions of the actual asteroids which, it turns out, can be used as a reduced level of detail model when you view an asteroid from a distance. They may look low-poly, but the triangle count on these big asteroid models is pretty high, so having a lowres alternative allows me to show all asteroids all the time, instead of popping in the full detail asteroid when you get (too) close. I feel like this makes a big difference in conveying a sense of scale. And, of course, being able to see your destination makes navigating a lot easier.

Welcome, Rock Hoppers, to the 1st of May edition of our devlog. I've been working on adding some core and core-adjacent functionality and I've started a concerted effort to optimize the multiplayer experience.

Steam Workshop Integration

We were always planning on implementing the Steam Workshop, but to be honest, I didn't expect it to happen before early access. I decided it would be a good use of my time after realizing I had dozens of prefabs and maps with dubious names scattered all over several development machines. So now, players can upload their prefabs, including complexes with multiple elements, and entire maps to the workshop right from the menu.

When you want to release a complex, which can consist of any number of prefabs, all you have to do is publish the root prefab. The game will find all connected prefabs (corridors, rooms, and adjacent structures, for example) into a single bundle and publish it as one workshop item. Once subscribed, any world you generate will include all of your subscribed prefabs. It's like magic, if magic consisted of several thousand lines of indecipherable code.

Worlds are similar. You can publish your generated worlds just as easily as a prefab, but there's an added benefit: You can launch a dedicated server with nothing more than the Steam ID of a published world, and the server will download the world on first launch. More importantly, any player connecting to your server who doesn't already have the world it's running will automatically and transparently download it from Steam, saving bandwidth on the server, and -hopefully- a lot of frustration.

World Map & Rock LODs

This one's straight up smexy. you can pan and rotate, highlight your desired waypoint and active mission, and add new waypoints, all from the map menu. And see those adorable little asteroids? They're lowres versions of the actual asteroids which, it turns out, can be used as a reduced level of detail model when you view an asteroid from a distance. They may look low-poly, but the triangle count on these big asteroid models is pretty high, so having a lowres alternative allows me to show all asteroids all the time, instead of popping in the full detail asteroid when you get (too) close. I feel like this makes a big difference in conveying a sense of scale. And, of course, being able to see your destination makes navigating a lot easier.

Visual Improvements

I've upped the default graphics fidelity with sharper shadows and more shadow casting lights. This will be configurable eventually, but the performance hit between reasonably well defined shadows and what amounts to shady blobs turned out to be far smaller than I expected.

Multiplayer Improvements

The least exciting thing I did this month is probably the most important. I finally installed some tools to let me analyze the network traffic generated in multiplayer and, well, hoo boy.

It turns out I was, among other things, sending about 300 bytes of information every second for every humanoid mob in the game, even while they're standing still doing nothing. How did I manage that? Well, let me tell you about a little thing called a dirty bit. You see, when you change a variable on the server that the clients also need, the networking middleware (Mirror for Unity, for those interested), sets a bit that tells the server the variable has changed and it needs to inform the clients. Only if the new value is different, of course. Otherwise the server would waste massive amounts of bandwidth telling the clients something it already knew.

But what happens when you clear a variable and set it, say thirty times a second? Well, because you cleared it, the dirty bit gets set, and setting it back to it's original value doesn't clear the dirty bit, so every NPC in the game was telling every connected client, 30 times a second, that yes it was still wearing its boots, thanks for asking.

There was a lot more hidden shame out there. Sending generator power levels to every player no matter how little they changed from one tick to the next and no matter how far away the player is. Sending every player's hunger and power levels to every other player 30 times a second. Players can't even see each other's hunger level!

Suffice it to say that, after about a week of tweaking, bandwidth usage is down by something like 90%. It doesn't show on screenshots, and it's not glamorous, but boy does it make a difference!

Okay, that was April. As of right now I'm still working on smoothing out the multiplayer experience. The provisional plan for May is to start working on procedural quest chains and maybe even branching quests with a bit of story behind them as part of the larger effort to make the human NPCs feel more, well, human.

If you want to learn more about Rock Hoppers, join us on discord and follow us on twitter.

Source

Steam News / 2 May 2023

Open original post

Changelog.gg summarizes and formats this update. How we read updates.