v512.16.0
Jxnblk

Devlog 01

Making Sourdough & Learning Unity

8/19/2023
#devlog
#unity
#life

In March 2020, I remember the former mayor one day telling people to go out for dinner and see a show – and the next day hearing that it wasn't safe to get within six feet of another person. If you haven't been to New York before, it's not easy to walk around outside and not get within six feet of another person. In hindsight, it was relatively safe to be outdoors, but at the time, we were afraid to step outside the door for a few weeks.

I also remember a lot of people thinking that the whole thing would blow over in a month or two, but everything that I had been reading made me suspect that was far too optimistic. As someone who walks to get to 99% of the places I'm going and thoroughly enjoys it, I realized that I would have to pick up a few new hobbies to keep my sanity.

Like so many others suddenly given more time to pursue domestic endeavors, I started trying to cook things that I'd never tried before. After a few loaves of bread and even more cleaning than I usually do, I realized that I'd need more creative outlets to occupy my time. I also found myself playing an unhealthy dose of games like Animal Crossing, which sparked an itch that I've had ever since I was a child.

That summer, Unity started offering all its online learning courses for free, and I started to dive in. This wouldn't be the first time I thought about developing video games. When I was in elementary school in the 1980s, my neighbor and childhood best friend's dad had brought home an IBM PC. We were all familiar with the Apple IIes at school, but this thing was a completely different beast. It had one of those green and black displays (high tech compared to printers), and flipping the power switch on the back made it sound like an airplane was taking off inside my neighbor's basement. Even at that time, it was not a new computer – we affectionately called it "The Dinosaur."

Other than drawing awesome pictures with LOGO at school, this was probably my first introduction to programming languages. We learned how to do a few things in BASIC, then immediately started to plan out how to build our own video game. I sketched out a bunch of characters and sprites on graph paper, but we never finished our Bomber Man clone.

A few years later, this same friend introduced me to a ray tracing program that I used to render my first 3D models. I remember saying to my friend, can you imagine when computers are powerful enough to do this in real time? And maybe even simulate sound waves for audio? He told me that it'd probably be a while before they'd be able to do that.

I continued to play video games through high school and was blown away by this thing called the Internet, but never really tinkered with the idea of game development again for years. I learned Flash in college and made a few experimental, interactive art sort of things, but nothing that would clearly be considered a "game."

Then, some time into my career as a web developer, I realized that JavaScript libraries and browser capabilities had reached a point where you could feasibly make a game using Web technology. I built a few prototypes for music-based, education-focused games using Web Audio APIs, but never saw any of these to completion.

Fast forward to 2020. I'm reading Unity docs and watching tutorials on YouTube at 2x speed, thinking to myself: this all looks a lot more accessible than I thought. Coming from a web development background, C# feels like what TypeScript wants to be – one day, when it grows up – and although the Unity desktop application takes a while to learn the ropes, it's not as quirky as some other professional-level applications that I've used in the past. If you're curious about learning Unity, I'd highly recommend one of their tutorial game starters. They have a lot of things set up for you, and it only takes a few hours to go from nothing to a playable prototype.

As I continued to learn Unity, I toyed around with a few different prototypes, but always kept coming back to the idea of building an adventure game. I loved adventure and RPG games like Zelda, Earth Bound, and Final Fantasy VII when I was younger, and it's one of the genres I still really enjoy as an adult. I also thought it might be a good way to keep the game mechanics focused and keep a narrow scope for the project, without having to worry about the physics of things flying around – I'll write more about the Hoverboard later.

Like many other sci-fi fans, I had started writing notes for an interactive time travel novel about 15 years ago. Since I'm nowhere near turning that into a story of its own, I decided to rework the story into a game format. One of the biggest changes from the original story was that I wanted to make a game that both teenagers and adults could enjoy. The original story was too dark and wouldn't lend itself to some of the themes I started aiming for. I didn't want to fall into the ludonarrative dissonance trap of having a young protagonist living a double life as a mass murderer, so I started to build out mechanics that could work in a completely non-violent game. I also wanted to avoid the apocalyptic sci-fi trope that so many games adopt. While it can make for beautiful looking art, I wanted this game to paint a positive outlook on the future, as well as try to capture some of the beauty of urban life and all the people and social connections you make in a city. We'll see how well I can pull this off.

Fast forward to today. Coming from knowing next to nothing about Unity, three years later I'm preparing to publish my first game on Steam. There's still a lot of work to be done to take it to the finish line, and I'm planning on writing more on this blog as I progress. The next posts will likely be more development-related as I try to share what I've learned so far and the hurdles and challenges I'll encounter in the future. Thanks for reading, and I hope you'll follow along!

Novantica game screenshot with protagonist on hoverboard

I'm currently working on Novantica, a sci-fi adventure game.

Wishlist on Steam