johan helsing.studio

dice another day - jam devlog

Dice Another Day is a game I made for GMTK Game Jam 2022. It’s a puzzle game where dice are missing pips and you roll them around and try assemble the right pattern. In this post, I’ll go through its development, both tech and design-wise.

More →

evaporate - devlog and post mortem

evaporate is a game I made for Ludum Dare 50. It’s a first-person 3d game where you encounter a camel-obsessed snowman, in the middle of a desert… And you try to help him survive. This is a devlog and a post-mortem, with source code included.

More →

Making Dis order - post-mortem and reflections on Bevy

I made a jame game, Dis order, for Mini Jam 100 using the Bevy game engine, I thought I’d share some thoughts on the experience.

More →

Extreme Bevy: Making a p2p web game with rust and rollback netcode

In my previous post, Introducing Matchbox, I explained how Matchbox solves the problem of setting up peer-to-peer connections in rust web assembly for implementing low-latency multiplayer web games. I said I’d start making games using it and I figured it’s about time I make good on that promise, as well as write a tutorial while at it. I’ll explain step-by-step how to use Bevy, GGRS, and Matchbox to recreate the old classic Extreme Violence by Simon Green with online p2p multiplayer using rollback netcode.

More →

Tutorial: Making a physics engine with Bevy

In a sudden and ambitious outburst of not-invented-here syndrome combined with hype-train, I decided there weren’t enough physics engines out there and it would be a good idea to write one myself using all the latest buzzwords. In this tutorial series, I’ll explain step-by-step how to build an extended position-based dynamics (XPBD) rigid-body physics engine using entity component system (ECS) architecture in rust.

More →

Unity VR Quick Start Guide

This is a brief and opinionated step-by-step guide for how to get VR working in a new Unity project.

More →

Introducing Matchbox

I’m very happy to announce the Matchbox project. A solution for painless peer-to-peer networking in rust web assembly.

More →

Dead Heroes Don’t Cry Released for Android

I just finished up the last fixes for the Android version of Dead Heroes Don’t Cry, and it’s finally available on Google Play.

More →

Cmyk Zero

I made puzzle game about subtractive color blending. It’s available online at itch.io.

More →

UniRx observable reference

UniRx is a great reactive programming library for Unity. However, I found it a bit difficult to write a clean reusable and decoupled user interface, so I wrote a small add-on library for UniRX which I think solves the problem quite nicely.

More →

Automatically building and deploying Unity applications to itch.io

When doing game jams, you can easily waste a lot of time fixing one bug, manually build for four or more platforms, upload each to itch only to find there is another critical bug and you have to start all over again. In this post, I’ll explain how to set up continuous deployment so all of this will be done automatically when you push to your git master branch.

More →

Making Universal Render Pipeline Look Decent

In this tutorial, I’ll start with an empty project/scene, add a couple of basic objects, make sure we’re using the univeral render pipeline and step by step go from quite underwhelming to decent.

More →

Choosing a graphics pipeline in Unity 2019.3

Unity has released a lot of news lately about new graphics pipelines in Unity, and it isn’t always obvious which one you should choose. While Unity likes to brag about the benefits of each pipeline, they don’t really do a good job about explaining the limitations.

More →