• Logging Improvements

    Logging Improvements

    Under the covers, Godot uses GD.Print() to send output to its Output tab and Console.WriteLine() is just redirected to nowhere. That quickly made it a pain to do logging because sometimes you’d get to see it, and other times you wouldn’t. Worse, no one wants to change their logging lines…

  • Loopless Infinity

    Loopless Infinity

    There is a concept in development called an infinite loop. It simply means that a loop runs forever without end. In general, you’d expect that to have an infinite loop situation in your code, you’d need a loop in your code. Something like: During a bit of refactoring I accidentally…

  • Scope Creep

    Scope Creep

    For those folks out there that aren’t involved in development, there is a concept known as scope creep. It’s basically the expansion of the requirements for a project without them being properly documented or where fun ideas simply add to the workload before the project is even released. It’s very…

  • Good Architecture

    Good Architecture

    Sometimes you code a thing and hate it while you’re doing it. You figure “eh, it’ll be fine, I probably won’t need to mess with this again” and for a while you’re probably even right. As you start your work you realize that the fragile thing you’ve created, wrestled with…

  • Keys and Locks

    Keys and Locks

    In game design, at least the way I do it, there is the concept of keys and locks. These control what I call objective planning. Essentially, the flow from one place or task to the next. Sometimes the keys and locks are literal, like find the red key to enter…

  • Good Company

    Good Company

    I’ve been working on Fracterebus for almost a year now. I’m still impressed with the work I’m putting in and the fact that I’m still working on it all the time. I’m also actually still enjoying working on it, which is always awesome. This project has started to seem larger…

  • Black Triangle

    Black Triangle

    There is a story I remember reading from years and years ago that really resonated with me as a developer. In this story, which was from the original PlayStation era, a bunch of developers started cheering excitedly while crowded around a TV. Someone that isn’t a developer wanders over to…

  • Work Zone

    Work Zone

    I have been working on Fracterebus and entirely forgetting to blog about it. This post is a little bit of a catch up. It’s been a busy few months of getting all sorts of things figured out and making progress on various underpinning systems that I need for the game…

  • Game Engine Versioning

    Game Engine Versioning

    Games that generate their worlds randomly have the problem that the generation should probably be deterministic. Meaning, using the same random seed value should always make the same world. This means seed codes can be shared with friends and they would all get to play the same world together. This…