Last night I was sitting around, looking through my Steam and Epic libraries for the 15th time in two days in the hope that something would catch my eye. I have not been gaming as of late; I have Star Citizen and Elite Dangerous installed, but both require me to set up my Gladiators and re-arrange my desk which means that although installed, I haven’t been playing much of either…either. The will to game has been lacking partly due to a lack of interest, but also because my mind has been buried deeply in learning React and various spin-off technologies.
I really enjoy learning and producing. Seeing an idea move from my head to the screen or the physical world through the application of learned knowledge and creative problem solving is literally my reason for living. I have become less tolerant of passive entertainment like TV, movies, or books because my brain tells me that I could be spending that time producing something or even learning how to produce something. This completely explains my seemingly scattershot history of hobbies over the years. My development career started in high-school when I illegally downloaded the entirety of Visual Basic 6.0 over a dial-up connection that I had to leave running all goddamn night (Gen Xers and above who grew up with dial-up will understand the inherent terror in such a situation). I wanted to write a program to manage RPG characters and I spent a hell of a lot of hours figuring out how to do that. Later in life as the Internet brought more resources to my door, I was able to dip into music, video, visual effects, web development, 3D modeling, and video game development. A wealth of knowledge became available so that I never again had to say “I wish someone would make X” that I really wanted to have, because I could be that someone.
My M.O. has always been to go hard into learning. With this most recent focus on React, I have spent several hundred hours reading about it, absorbing examples about it, running tests with it, and recently updated an application at work to use it. When I go to bed at night I think about how to solve issues I had been having earlier in the day. When I wake up in the morning, I just want to get downstairs to see if the previous night’s mental solution would actually work. The same could be said for my trips into 3D modeling, visual effects, and game development. All of these have seen periods of intense learning as means to various ends; in the case of React, it’s the hot development technology right now (at my age I need to really work hard to stay current). In the case of 3D modeling, I considered maybe creating assets for sale. In the case of visual effects….well, I guess that was learning for learning’s sake since I live in New England and it’s not really a hotbed for filmmaking, not to mention the down-time afforded by COVID. Game development should be a no-brainer: as a life-long gamer and someone driven by the need to learn and produce, it only makes sense that I move from consuming games to try my hand at creating games.
Somewhere along the line several of these threads have intertwined to hint at something greater than their parts, specifically how 3D modeling, visual effects, and game development are all skills that work well together. Although I approached them each as different disciplines at different times in my life, being a single person who has spent hundreds if not thousands of hours immersed in learning each individual hobby it would make sense to leverage them all in the service of a single overarching project, and for many whiles, that is what I did. You might remember my “Project Universe” posts, videos, and Tweets spanning several years.
Project Universe had been my overriding obsession for several decades, born out of my love for both space-sims and slow-going econ-sims like TradeWars. I revisited the above video while writing this post and had forgotten exactly how far I had gotten with this particular iteration of the project; in truth, Project Universe has progressed through several iterations with several features, including the third person live action game you see above, a web-based game, and a 2D top-down arcade-like version. Looking back on the various incarnations of the idea I realize that while it sounds like I didn’t really know what I wanted out of the project, I came to the understanding last night that it’s more about lacking the patience needed to see a single version of project through to some kind of completion.
OK, so here’s the conundrum: I apparently have patience to spend countless hours learning how to do something, but I lack the patience to actually use what I’ve learned. I feel like I could spend as many hours as was needed focusing on minutiae of a specific aspect of game development, but when it comes time to get to a project to make it happen, I’d rather not. For the longest time I blamed “not seeing enough progress of a magnitude I felt was necessary to keep my interest”, but I realize that this cannot be the case, as the act of learning doesn’t have any way to really measure progress at all beyond a vague “I think I understand that, and these sample exercises work, so I guess I must”. Ultimately, I guess it just comes down to lacking the ability to focus on a long-term project of a significantly epic scope. Game development is a massive undertaking no matter how the final product is envisioned, and even the iterations of Project Universe which were more squarely in my wheelhouse (specifically the web-based versions) had an insane amount of work involved, and those versions have fallen by the wayside the same way more complex versions have.
I can’t say if there’s a specific cut-off point in these projects or not, because from the video linked above it’s pretty obvious that I made some decent progress in at least one version to be able to consider a few milestones accomplished. I know that I despise working with UI in video games and every time I hit the point where I need to construct one, I lose interest; as a front-end developer, being able to design, create, and test a UI is what I spend a lot of time doing, and having to fight to achieve a working UI in a video game application has always been a pain in my ass. There’s also been the constant need to “learn one more thing”. For 3D modeling, it’s been texturing and shaders. For video games, it’s run the gamut from server technology to how to persist local data between sessions (seriously how is this not more of a standardized, out-of-the-box feature, at least in a simple way to let folks hit the ground running?). I enjoy learning, to be sure, but I think a lot of times learning a single aspect of a thing instantly demands the need to learn several other things simultaneously in order to support that single, current thing, leading to a situation where everything is vying for attention at once. I end up feel overwhelmed and always underprepared to progress. As a result, frustration sinks my interest in a project…for a little while. I usually circle back to a project idea a few years later, after I’ve learned a few more things that I think could be applicable either to where I left off, or which would allow me to approach a project from a different angle. There’s also a lot to be said for taking time off to gain perspective; a fresh view or a forced re-learning of a subject can sometimes make muddy concepts clearer the second, third, or ninth time around.
I don’t know what this means for my interests going forward. I think I have to find a way to make peace with the possibility that I might never get around to making a game, despite the fact that the need to do so is ever-present for me. The more I learn, the more I find a way to use that new knowledge to solve issues I’ve had in the past, which re-ignites my desire to get back to it, but which I also know will probably only take me so far before I get to the point where I lose patience with the application. Ultimately I think that maybe being a single developer on a game project is something I cannot personally handle, which of course gives me even more respect for those individuals who can, regardless of the final quality of their work — getting started is easy; getting a prototype is doable; getting a product out the door is damn hear Herculean according to my experience. I just wish I could apply the same level of intensity and patience that I have for learning to the actual, long-term application of that knowledge.