Posts

  • Procedural Dungeon Generation in GDScript: Rooms, Corridors, and Enemy Spawning

    One of the most rewarding milestones in game development is watching a world construct itself from sheer mathematical logic. In roguelikes, action-RPGs, and dungeon crawlers, procedural level generation is the engine that drives infinite replayability. It transforms static architecture into a dynamic labyrinth where neither player nor designer knows what lurks around the next bend.

    When prototyping my catacombs RPG shooter in Godot, I needed a dungeon generation algorithm that was lightweight, predictable, and easy to debug. You don’t always need hyper-complex wave function collapse or Voronoi noise fields right out of the gate. A clean, modular implementation based on Random Room Placement, L-Shaped Hallway Carving, and Weighted Entity Spawning delivers fantastic results in just a few lines of GDScript.

    In this guide, we will implement a complete, production-ready procedural dungeon generator in Godot 4 using typed GDScript.

    Read more »
  • Low-Poly Asset Modeling and Optimization: From Image to Blender and Game Engines

    When building indie games or real-time 3D web experiences, asset production is often the single biggest bottleneck. Crafting unique props, weapons, characters, and environmental objects by hand can take dozens of hours per model. Even worse, beginners and experienced developers alike often run into the dreaded “engine import nightmare”: bloated vertex counts, chaotic UV maps, non-manifold geometry, and heavy uncompressed materials that bring frame rates to a crawl.

    To streamline this workflow, I developed an open-source pipeline: triposr_to_3d on GitHub. It converts a single 2D concept image or photo into a textured 360° 3D mesh (OBJ format) equipped with automatically baked PBR (Physically Based Rendering) texture maps.

    In this guide, we will explore how to configure the environment, generate assets from scratch, import and optimize them in Blender, and export clean, high-performance low-poly models ready for game engines like Godot, Unity, Unreal Engine, or Three.js.

    Read more »
  • The Distribution Wall: Why Getting Users for Enkihost and Enkimail Is So Hard

    As developers, we are plagued by a seductive delusion: “If you build it, they will come.” We tell ourselves that if the architecture is clean, the deployment pipeline seamless, the UI fast, and the service genuinely useful, users will naturally discover it.

    Over the past few months, I built and launched two infrastructure tools I am genuinely proud of: Enkihost (dedicated hosting for Jekyll and Ruby) and Enkimail (a lightweight queue processor for email marketing). The code works. The servers are stable. The free tiers are live.

    Yet reality has hit hard: getting actual human beings to try them out has been the hardest brick wall I’ve ever crashed into.

    Read more »
  • From Prompt to Catacombs: Building an RPG-Shooter with Vibe Coding

    A few days ago, I wrote about the astounding power of Gemini to conjure applications in minutes. Well, the Vibe Coding bug has bitten me once again. This time, I decided to venture beyond educational mini-games and plunge into territory that has always fascinated me: game development with deeper systems and addictive replayability.

    I have begun prototyping a title that blends an RPG with a dungeon shooter, set within the brooding ambiance of subterranean catacombs. And once again, the workflow is blowing my mind.

    Read more »
  • A Breath of Light: The Ephemeral Finnish Summer and the Looming Shadow of Winter

    Those who have lived in the North their entire lives say summer here is not a season on the calendar, but a state of mind. And they are entirely right. A Finnish summer is a flash of brilliant light as breathtaking as it is brief—a golden truce that lasts barely a couple of weeks of genuine warmth before drawing back into the twilight.

    Read more »