Full disclosure: I’ve never worked in any sort of technology field—aside from a couple of awkward years in my early 20s when I worked as a maintenance technician for Digital Equipment Systems, troubleshooting and repairing surface mount technology equipment on their night shift. However, ever since I saved up my money at the tender age of 12 to buy an Atari 2600 video game console I’ve always considered myself a fairly avid fan of all things computers and anything remotely “techy.”
It’s no great stretch of the imagination that during COVID, while everyone else was picking up hobbies like baking sourdough bread and knitting, I took on the seemingly impossible task of teaching myself how to stop passively enjoying computers for entertainment and actually learn to manipulate these electronic magic boxes by teaching myself to code.
I did have some experience with coding in my past. It started with my trusty Commodore VIC-20 and its built-in BASIC interpreter and then progressed to my school’s Commodore 64 during junior high. I enjoyed peeking and poking my way through the numerous magazines dedicated to the burgeoning microcomputer scene of the mid-1980s and even had modest success creating text-based dungeon crawls for my friends to play.
I didn’t do much else with coding until I worked part-time at a community college library during the evenings while pursuing my bachelor’s degree at a local public university. One of the librarians decided the library needed a website (this was the early 2000s, and many organizations were still ramping up their online presence). I had mentioned in passing that I had some experience with HTML. It wasn’t entirely a lie—I had dabbled with HTML and JavaScript a bit during the ’90s—but it was mostly the ubiquitous “Hello World” stuff that many people never seemed to advance beyond.
Long story short, I found myself charged with creating a basic website for the library. After spending numerous shifts Googling and scanning the library’s limited selection of web development books, I managed to pull it off. Afterward, I felt content to leave my coding journey on the sidelines, enjoying games, social media, and general web surfing. Regular “normie” stuff.
That is, until COVID hit.
During the pandemic, I had the wild idea that I could actually learn to code—actively create software and unravel the mysteries of all those binary files people depend on for everything that makes our digital lives so cool. To my surprise, it was easier than I’d imagined.
I started with C++, which probably wasn’t the best choice in terms of ease of entry. Still, I eventually got the basics down well enough to create a terminal-based version of a solo board game I’d designed a few years earlier. Needless to say, I was stoked, though it was far from impressive.
Soon after, I made the rookie mistake of jumping into another language: the much more user-friendly Python. Python was great, and with its plethora of libraries, I quickly figured out how to create simple games with basic graphics. I had finally escaped the terminal!
At some point, I discovered “game engines,” which facilitate game development—a natural focus for me since I love video games. After experimenting, I landed on Unity, which uses C# as its scripting language. C# clicked for me because it’s a powerful language in the tradition of C++, yet it has the high-level syntax I’d grown accustomed to with Python.
Before I knew it, I was writing lots of spaghetti code to cobble together broken games for game jams, swearing under my breath because none of my TextMesh Pro features worked the way I wanted.
Now, here we are.
A few weeks ago, my 13-year-old son—who has diligently absorbed all my knowledge of Star Wars, LOTR, and all things nerdy and cool—approached me with the idea of collaborating on a video game. He had a head full of ideas for a story about a person lost in a nightmarish, post-apocalyptic dreamscape, on the run from dark forces while piecing together the clues of their own identity and purpose in a cold and cruel universe. He would handle the ideas, and I would provide whatever meager technical skills I’d cobbled together to make it happen on screen.
I’m not going to lie—it was one of my proudest moments as a parent. (Well, maybe not the proudest, but it’s definitely up there.)
This “blog,” or whatever it is, will serve as a sort of development log and a place to vent when things don’t go well (looking at you, TextMesh Pro).
So, as they say, the journey of a thousand miles begins with a single keystroke...
No comments:
Post a Comment