After a long summer break, I'm dipping my toes into gamedev again.

Here's a concept/idea I have for a welding tool in Cargo Space.

It was surprisingly hard to make something that didn't look like a gun... and something that also worked well at smaller scales.

#cargospace #gamedev #indiedev

Just finished another devlog I've had lying around for a while. My take on procedurally generated parallaxing space backgrounds:
https://johanhelsing.studio/posts/cargo-space-devlog-7

#rustlang #bevyengine #cargospace #gamedev

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.

Johan Helsing Studio

Alright new devlog. I've been fighting Steam in various ways for a long time, teaching it not to eat my logs and exit codes, but think I have it under control now :)

I got lobbies working, and chat through #matchbox new reliable channel support.

Hoping to get back to some actual gameplay stuff now

#bevyengine #rustlang #gamedev #cargospace

https://johanhelsing.studio/posts/cargo-space-devlog-6

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.

Johan Helsing Studio

I'm making my own bevy_ecs-based (#xpbd) physics engine for cargo space. Wrote a post about tilemap collision, one-way platforms and how I implemented and optimized the collision broadphase.

https://johanhelsing.studio/posts/cargo-space-devlog-5

#cargospace #gamedev #rustlang #bevyengine

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

Johan Helsing Studio

I wrote a post about how I handled sound effects and rollback netcode in Cargo Space. Curious if anybody else have similar solutions?

https://johanhelsing.studio/posts/cargo-space-devlog-4

#cargospace #bevyengine #rustlang #gamedev #ggrs #cargospace

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.

Johan Helsing Studio

I just released Matchbox 0.5 (painless p2p networking for wasm)

Native-to-web cross-play is now finally supported :D And a nasty Firefox issue is also gone.

Here I'm dogfooding the feature in #cargospace starting a three player session between chrome, a native windows build and firefox on my phone (streamed back to my computer for capture).

Thanks, everyone who contributed!

#bevyengine #rustlang #ggrs #gamedev

Cargo Space devlog #3: Making a coop 2d space game with #bevyengine

This time: Finding non-determinism/desyncs with bevy_ggrs' synctest session, cross-platform p2p, trying out kayak_ui, setting up automated builds with xtask/gitlab-ci, cargo-deny.

https://johanhelsing.studio/posts/cargo-space-devlog-3

#cargospace #gamedev #indiedev #devlog #ggrs

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.

Johan Helsing Studio

Cargo Space devlog #2. Making a coop 2d space game. This time: using leafwing-input-manager with bevy_ggrs, rollback networking and debugging non-determinism, 2d platforming on moving ships.

https://johanhelsing.studio/posts/cargo-space-devlog-2

#gamedev #indiedev #cargospace #devlog #ggrs #bevyengine #rustlang

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…

Johan Helsing Studio

I started working on a coop 2d space game and wrote a devlog entry about it. Might be of interest if you're working with #bevyengine, #rustlang, 2d platforming, tilemaps, #LDtk, or procedural generation.

https://johanhelsing.studio/posts/cargo-space-devlog-1

#gamedev #indiedev #cargospace #devlog

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.

Johan Helsing Studio