-

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
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
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
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
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
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
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…
-

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…
