Tower Update:
I am still working feverishly on the Tower. I finished a task I called “Entity Serialization” on a weekend game jam recently. Let me explain.
In the Tower (which is the name of the game engine I’m building), an Entity is anything that is rendered to the screen. Back in January, I was able to complete all the code needed to render things, but it’s kind of sloppy and needs to be refactored.
Refactoring is a process engineers go through to refine the solution to a problem. Some solutions to complex problem will work in a pinch, but need to be added to and moved around before they are in a good enough place to move on and forget about. This work is a lot of refactoring existing, working code.
At this point, I have the Simulator map working again. This is a simple rendering demo that shows the ship I’ve made, the Zipper, flying through space.

Each Entity now exists in the code in such a way that I can create them dynamically, using a coding pattern known as a Factory. Maybe I can explain this some time later. It’s also pretty neat.
Next up:
Now that my Entities are in a good place, I am working on a database that I will use to store all the data for the game.
This data will include map information, item stats, character save files, enemy stats, game dialog, and more! I am using sqlite3, a Nosql engine. I chose this because sqlite3 saves each db as a single text file that I can commit with the rest of the game files. This makes the database nothing more than a runtime game asset! This will help me build an editor soon, where I’ll be able to change the position of objects by clicking on them, and then I’ll be able to save the map for next time.
Right now, the way I made the Simulator map was by hand. I position each wall with an equation. I just space them out, and loop over them all. It’s not a great system, but it works.
I want to be able to make more interesting levels without having to painstakingly position each object in code. This was how they did it when they made games on the N64, and it’s one of the reasons the games took as long as they did to make (which is still less than Elder Scrolls VI is taking lol!). Game editors, powered by databases are some of the modern advances I’m allowing in my engine.
I’m starting the database with the configurations needed to run the game. That includes things like the screen resolution, and graphical settings like how many Entities to render. Later this section of the database will also hold things like the input map for the controller and other user preferences.
When this is finished, I’ll be writing an installer, so that all needed c++ libraries can be installed on your computers, and you can try my game out with me. I’ll be publishing the demo on itch.io, a site where indie game developer share projects.
Thinking about Art and me…
I almost named this blog “Not an Artists”. Growing up I labeled myself a “math” kid, and not an artist. I was bad at drawing. I could never capture the forms and figures in a way that I was happy with.
I worked as a Software Engineer at a web hosting company in the 2010’s. I started in tech support, and I had a lot of time to read while at work. I knew that I wanted to work with computers, and I was interested in code.
I built a simple game engine in c#, and then another one in c++. I learned how to use Unity, and participated in a Global Game Jam. It was pretty cool. I was able to make a game with a team of artists helping me.
I started drawing, with a goal to draw daily that I fail at more often than not around this same time. I started to see improvements… I still don’t have the skills that I am looking for, but I’ve realized that the art I am making is not just drawing really well. The code itself is art.
Flash forward. I’m not working as an engineer any more, and AI is quickly closing that door on me. In a world where there is the Unreal engine, which is free, and the Unity engine, which is free, and the Godot engine, which is free, why would I, an out of work software engineer, choose to willingly make a game engine by hand?

I have this poster hanging on my wall. It says that programming is art, basically. And, if you can read that signature… that is John Romero, of Romero Games, formerly of ID software! He is one of the makers of the original Doom games, among many other awesome games. He’s a talented artist and engineer, so he would know about this more than me, I think.
In a world where I could ask an AI bot to generate the code for a game for me, I am choosing to think through it myself. I’ve been working on this project for more than 10 years, learning in my free time, and trying as much as I can when I can. I want to share an idea I have with the world. I’m excited about it. I hope I have what I need to pull it off. I’m closer now than ever before.
This is my long way of trying to explain what I’m doing here! I’m building a game engine from scratch so that I can tell the many stories I’ve been working on since as long as I can remember.
Thanks for reading. I hope to have some really exciting updates soon. Stay posted!