Game Dev - Ready to Respawn

So you may not know, but I am a Software Engineer. I have been for over two decades now. I am also an avid gamer and as you can imagine I’ve dabbed in Video Game Development in the past. However, I never made it a priority. Just like with my writing there was always something else that came up which seemed, at the time, more important.

I finally decided I want to make a game from start to finish. My love is with retro 2d pixel art games, usually top down with a strong RP element.

Game Jams

I’ve played with several engines over the years including Game Maker Studio 2, MonoGame, Godot, Unity, Love, and Ebitengine.

Ebitengine was the only one I made a real effort with in a game jam last year.

I created The Social Contract, a game designed to be a social sandbox. I build an ASCII based engine on top of Ebitengine and released it as open source under the MIT license which I called GlyphEngine. I did not do very well in the game jam since I never got a chance to polish it. Once again game development was’t a priority, life took a front seat.

I am primarily a Go developer in my day job, and really wanted to use Ebitengine in my game development. However, I realized how much tooling work I would have to do around integrating the SteamWorks SDK with a C wrapper using CGo around the C++ Steamworkd SDK. I don’t want to spend my creative energy wrestling with that type of tooling.

I decided instead to refocus my efforts and go back to two other game engines I played with in the past. I built Mono-Pong in MonoGame two years ago. Around five years ago I made a small POC with godot that I no longer have.

What I considered

I had considered a few other game engines I have tested over the years. I used to love Unity, however, the licensing fiasco destroyed my trust in them as a company.

I reviewed Game Maker Studio 2 since I own it, however, I really do not want to have to learn a scripting language and I use linux. The beta of their linux version did not meet my needs.

I looked at Love which is Lua based but while I use Lua in my neovim setup but I am not that familiar with it.

My Decision

So the decision has come down to MonoGame and Godot. I have used C# in the past and am comfortable with it.

I realize that Godot will give me faster to market speed, and my son who is interested in game development can use it for the 3D and VR games he is interested in.

However, part of me is a craftsman and I hate giving up that low level control. I also remember the fight with Unity at times where it felt like it was getting in my way more than it was helping me.

With all of that in mind I have decided that I will instead test out both game engines with a small project

I am going to build a small 2D game with the following features.

  • Area map
  • Main menu
  • Game UI (HUD)
  • Game menus (pause/settings/etc.)
  • Character movement
  • Talk to NPCs
  • Buy items
  • Sell items
  • Inventory system
  • Combat
  • NPC scheduling (daily routines)

Over the next week or two, I’ll be prototyping the same small 2D fantasy village game in both engines. I’ll compare how long it takes, how hard it is, and, most importantly, how much fun I’m having. Once I finish, I’ll follow up with the results and the engine I’ve chosen to carry my story forward.

Welcome
Older post

Welcome

Sargon The Fallen One