Refactoring Kaban Engine: UI

It’s been a little while since my last update on the Kaban Engine refactor, and I’ve been busy wrestling with input handling, integrating Nuklear more deeply into my codebase, and sorting out some UI quirks. Progress is steady, and I’m starting to see the light at the end of the tunnel—or at least a less foggy path forward. Here’s what I’ve been up to since last time! Input Handling: Borrowing from GLFW After ditching GLFW for window management (see my last post for that saga), I still found its input handling code pretty solid. So, I peeked under the hood, grabbed some of its input-fetching logic, and ported it into my engine’s platform layer. Nuklear needs specific inputs—keyboard, mouse, the usual suspects—and GLFW’s approach fit the bill. Porting it was painless; I just tweaked a few things, wrote some wrapper functions, and it was good to go. ...

April 1, 2025 · 4 min · 812 words · pvlso

Refactoring Kaban Engine: Wrestling with Libraries

It’s been about a week since my last post, and I’ve been neck-deep in figuring out GLFW, GLEW, and Nuklear for the Kaban Engine refactor. I also squeezed in some OpenGL tutorials because, let’s be real, my OpenGL knowledge was more “vague vibes” than actual expertise. Here’s how it’s been going—some wins, some headaches, and a clearer path forward. GLFW: Not My Cup of Tea I kicked things off with GLFW, excited to ditch the Windows API mess. Getting a window up was easy—honestly, I spent more time skimming the docs than coding. But then I hit a snag. Running in windowed fullscreen mode, the window insists on staying on top. If I’m on a single-monitor setup, stepping into the debugger is impossible because the window hogs the screen. On two monitors, it’s still a pain—clicking the debugger iconifies the window. There’s an auto-iconify disable option, but then I’m back to the “always on top” problem. ...

March 18, 2025 · 3 min · 529 words · pvlso

Refactoring Kaban Engine: Debug Systems, UI, and Rendering

Since I “finished” working on the Clipper library, I decided it was time to refactor my game engine. The last time I touched it was almost six months ago, and when I opened the source code, my first instinct was to throw everything in the garbage and start over. One of the biggest issues I faced was the debug system. Originally, I had implemented a system inspired by Handmade Hero, and while I love how it was designed, it had dependencies on both rendering and asset management—something I wanted to eliminate. ...

March 9, 2025 · 3 min · 530 words · pvlso

Update on Clipper Library Implementation

I wanted to share a quick update regarding the Clipper 2D library I’ve been working on. Initially, my goal was to fully reimplement Clipper2 with various optimizations. Over time, the project evolved into a streamlined version tailored for use in my game engine, focusing on efficient boolean operations on polygons with improvements in memory management and performance. Given that I have two larger projects that require my attention, I’ve decided to pause further development of the library. However, I’ve finalized a working version, which is available in its repository. It successfully performs the core polygon operations I originally set out to implement, and that was my primary goal. ...

March 1, 2025 · 1 min · 140 words · pvlso

Clipper2 Reimplementation

While developing the navigation meshes for my game, I ran into a persistent issue: clipping polygons. I initially implemented a polygon subtraction algorithm that worked well for most cases, but it quickly became apparent that there might be a better approach to polygon clipping. Inspiration from Godot Engine After taking a short break from game development, I decided to dig into the Godot game engine, specifically its latest version, which includes navigation mesh support. After setting up everything in the debugger, I discovered the library Godot uses for polygon clipping. At first, I was confused by how it worked and why it was implemented that way. But after reading the documentation and doing some research, I gained a clearer understanding. ...

October 23, 2024 · 3 min · 574 words · pvlso