I'm not very good at naming things. At least, I don't think I am. File system directories, repositories, variables, children - I get anxious about picking good names that will last. Fortunately my wife took the lead in that last case.
I started this blog with a goal I'm sure many other developer blogs have shared: to document my journey of growth as a developer and to encourage me to stick with it. To that end I briefly considered naming it Journey of an Intermediate Developer, but that seemed too lame. The next candidate was Always Levelling Up, but let's be honest, Always is a touch optimistic. Besides, I wanted to capture the essence of never being maxxed out on learning and always having room to grow, which in my mind is neverending but not constant in a way that Always implies. I think No Level Cap captures that succinctly while honoring my gaming roots.
I have been in a bit of a rut recently. I have been slowly (ever so slowly) developing a point-of-sale and inventory management program for a consignment store, but I have a difficult time keeping focus. Every now and then I get in a groove, dive in HARD, and can't put it down. I hammer in features and enhancements late into the night, day after day, and then suddenly the inspiration and motivation dries up and my progress stalls.
In moments of reflection I realize I get hung up on hurdles that seem insurmountable in the moment and then I lose my confidence, momentum, and familiarity with the work. I create an even higher barrier to reentry for myself than if I had stuck with it.
In additional moments of reflection it occurs to me that the application is a freelance project, separate and independent from my day job and other duties as a spouse, father, and homeowner, and that those brief spurts of progress are often detrimental to some or all of those other responsibilities. When I put my head down and blinders on I end up neglecting the housework and passing even more of the shared burden of raising two children under five on to my spouse. Add to that all the remodel and honey-do projects being neglected and it's a volatile recipe for a depressive spiral.
And those can be hard to break out of. If everything you work on makes you feel guilty that you weren't working on something else, it can be easy to find yourself working on nothing and making things even worse for yourself.
I either have ADHD or bad habits. Probably both.
I can't even seem to escape with video games these days. That used to be a real tool for me to recharge and refresh. For the last few years I've been really into strategy, management, and building games, but lately those feel like another chore.
So what is my answer? What is my solution? I don't actually know, but what I've decided to do is start learning Godot Engine.
Are you mad?
But hear me out.
I have wanted to develop games for a long time. I even started a company for it several years ago and had t-shirts made up. I have a backlog of original game ideas with interesting or silly hooks, but I have always been too overwhelmed by the prospect of making them and too filled with impostor syndrome to even start. I have been eyeing Godot Engine for several months with a "when this other project is done" mindset.
Last weekend I had a couple of friends over to play table games for the first time in months. (Pandemic and social distancing notwithstanding, I have young children and my wife is a nursing student. We have trouble making time for date night, much less game night with friends.) We tried out a new game I picked up earlier in the day: Boss Monster. I loved it.
In Boss Monster you play as the final boss of a video-game- and D&D-inspired dungeon, managing the layout of traps and monsters to slay the would-be heroes who venture into you lair. Heroes come to town looking for glory, but most of all for loot. If you want to lure them in so you can claim their souls and win the game, you have to entice them with better loot than the dungeon across town. But be careful, because a poorly designed or weak dungeon will fail to slay the heroes and instead deal Wounds to you.
I knew the next day that I wanted to recreate this game, as a tabletop simulation, in Godot to play online with my friends. It has so many of the right requirements:
- It is a fan recreation of an existing design. That means I don't have to spend time designing the gameplay and ruleset, balancing it, and making it fun.
- It can be made playable and enjoyable without the need for fancy animations or even rudimentary physics (although it can certainly be enhanced with animations later on).
- It requires network code to make it playable with my friends online, but not to the level required by more demanding genres like FPS or RTS.
And so I start on this adventure, hoping that this project and feeling of inspiration provide me with a small hobby to fill the void that video game escapism has recently left open. I want this to be the carrot that drives me to finish other tasks so I can get back to it, keeping me focused on remaining in the programming mindset and continually growing my knowledge and experience bases.
After all, there is no level cap, so I might as well keep on gaining XP.