>
cd $HOME
Blog
Devlog
Projects
Tags
About
GitHub
#gamedev
2026
Shmup Devlog #5 - Collisions, Part Trois
Oct 27
Circles and boxes fit some sprites badly. This post adds convex-hull colliders: the separating axis test, a swept test with conservative advancement and GJK, and a tool that builds the hulls from the sprites.
Collider Generator
Oct 5
Derives convex-hull colliders from a sprite’s alpha channel, one hull per animation frame.
Shmup Devlog #4 - Collisions, Part Deux
Sep 18
Fast bullets flew through enemies without hitting them. This post explains why and adds a swept collision test for every pair the simple check misses.
Shmup Devlog #3 - Collisions
Apr 26
This post is about benchmarking the collision detection system, comparing the brute-force approach to a spatial hash grid approach.
Shmup Devlog #2 - One Life Closer to Game Over
Feb 28
This post is about player lifes, re-spawning, game over, score and pre-shot animations
Shmup Devlog #1 - Weapons, Upgrades, and Damage Mechanics
Feb 8
This article is about the weapons, upgrades, and damage mechanics
Shmup Devlog #0 - No Plan, Just Bullets
Jan 26
I’ve always wanted to make a game. But I always thought that it would be too difficult. Then, one day, I thought “It can’t be that hard, right? Right?!”
2025
Loosely Coupled Game Architecture with Events and Commands
May 10
This article introduces events and commands as a way to decouple game components. A (very) basic space shooter example illustrates how the pattern can be applied in practice.
2024
Framework-Independent Game Logic with Hexagonal Architecture
Dec 30
Implementing a classic table tennis game using MonoGame, but making it so, that the game logic is independent of the framework using Hexagonal Architecture.
A* Pathfinding in 2D Games: Addendum about Cyclic Dependencies
Dec 1
Putting the grid navigation in its own class to avoid a cyclic dependency and to improve separation of concerns.
Older posts
→