
Reworking the Asset System (and Rethinking the Engine)
Before making Kaban Engine public, I started reworking the asset system. What was supposed to be a small, focused change turned into a larger cleanup pass, because once I touched it, several weak spots became obvious. The original goal was simple: end up with a built asset file that the game can load quickly and query efficiently. That meant tightening definitions, removing ambiguity, and enforcing rules. Tags The first thing I tackled was the tag system. ...

Kaban Engine Devlog – The Engine Is Now Public
A stubborn attempt to build a game engine from scratch. Introduction After several years of learning, experimenting, and slowly turning a Handmade Hero practice project into something independent, Kaban Engine is now public. It is early, imperfect, and incomplete, but it represents a real foundation to build on. The goal of publishing it now is not to claim it’s ready, but to let the development become open and visible. REPO ...

Building a Golf Ball Counting Machine: From Idea to Working Prototype
About a year ago, I joined Replay Golf Supply Inc. as a Golf Ball Technician. The work was simple but repetitive — sorting and counting golf balls by brand, sub-brand, and quality. It didn’t take long to notice how manual the entire process was. Counting thousands of golf balls by hand was slow, error-prone, and exhausting. The first thought that came to mind was: why isn’t any of this automated? ...

Implementing Navigation Meshes
In my previous blog post, I explained what navigation meshes are and why they’re essential for my game. In this post, I’ll walk you through how I implemented this functionality in my game engine, breaking down the process step by step. Step 1: Creating Native Polygons The foundation of the navigation mesh is a set of “native” polygons that define all walkable areas in the game. I call them “native” because the mesh generation process relies on them. To create these polygons, I added tools to draw, edit, and save them within the engine. For now, this manual approach works well since the map is relatively small, but I’m considering automating this process in the future to handle larger or more complex maps. ...

Progress on Navigation Meshes for Map Editing Mode
Over the past few weeks, I’ve made significant progress on the navigation mesh system for my map editing mode, a core feature for creating interactive game levels. This post dives into why I chose navigation meshes, the details of what I’ve built, the challenges I’ve faced, and the next steps I’m tackling. For those unfamiliar, the map editing mode in my game engine allows users to design game environments, including ground tiles, entity placement, and navigation meshes. My current focus is on navigation meshes, which are critical for enabling entities to move intelligently within the environment. Let’s explore the motivation behind this choice and my recent progress. ...