johan helsing.studio

cargo space

Cargo Space is a coop 2d space game where you build a ship and fly it through space looking for new parts, fighting pirates and the environment.

I started development November 2022, and I have no idea when it will be done.

For updates on the game's progress, join the discord server or follow me on Mastodon.

I write regular devlog entries about the development of the game. They're usually pretty technical, but I always try to include some game footage and high-level features. Below are the entries from newest to oldest.

Cargo Space devlog #7 - Generating space backgrounds

I settled on an RNG crate, added "endless" procedural stars backgrounds, and made sure each run's star background was unique across runs and consistent for all players in a session.

More →

Cargo Space devlog #6 - Steam integration, lobbies, chat

How I got side-tracked into implementing chat, adding Steam lobbies, wrestling logs out of Steam and made a tiny crate for turning crossbeam_channel messages into Bevy events.

More →

Cargo Space devlog #5 - Adventures in physics engine development with bevy_ecs

I started filling in the gaps in my home-made physics implementation. In this post I go painstakingly detailed about my adventures in implementing one-way platforms and prematurely optimizing broadphase collision detection. Bonus yak-shaving sections on bevy_screen_diagnostics, and bevy_sparse_grid_2d

More →

Cargo Space devlog #4 - Playing sound effects in a rollback world

I know there isn't supposed to be any sound in space, but I decided I didn't really care :) So I went ahead and added some sound effects to Cargo Space anyway... In this post, I describe the challenges with adding sound to a game with rollback-based netcode, and how I ended up solving them. I present my solution in detail so you could easily adapt it to your own rollback-based Bevy game.

More →

Cargo Space devlog #3 - Sprites, de-syncs, cross-platform p2p, kayak_ui, cargo-deny

I drew a couple of sprites, added cross-platform multiplayer, added some ui using kayak_ui and fixed a lot of network-related bugs. Last time, I thought I would be able to take a break from the technical side. It turned out I was wrong. I had a lot of tough bugs, both with de-syncs, and NAT-traversal. I guess it's one of those reasons why they tell you not to make a networked multiplayer game.

More →

Cargo Space devlog #2 - ship physics, networking, input

Cargo Space, my coop 2d space game prototype is chugging along. Since last time, I've added physics to ship modules, thrusters, terminals, and peer-to-peer multiplayer. In this post I'll go through the challenges I encountered and how I solved them. And some challenges I solved that I didn't really need to solve...

More →

Cargo Space - devlog #1

I've been working on Cargo Space, my space game prototype, for a couple of weeks now, and I wanted to share the progress I've made so far... and some yak's I've shaved along the way.

More →

Cargo Space - devlog #0

I started working on a new project, again, but this time, I really feel like it’s something I’d like to finish. So I’ll do something I rarely do, I’ll talk about my plans and goals for the project before I start. I’m hoping this will help me feel accountable for what I do, stay focused, and avoid excessive amounts of yak shaving.

More →