Honestly, I can get jaded about the Web fairly often. That's not to say I don't love it, but it's not always easy to love. If you work on the Web, I’ll bet you can relate. New JS libraries, CSS methodologies, and web-capable devices are released every day, and we're expected to keep up. The Web is wonderful, massive, everywhere, open, welcoming, and super duper fatiguing.
My preferred way to fight this exhaustion is by working on side projects. Side projects let you pick and choose your favorite parts from work, and laser focus on those things. Some people enjoy over-engineering things to test out new technology. That’s awesome. Personally, I love building stupid stuff. Especially if that stuff gives me a chance to branch out from the Web.
When you branch out and spend your free time in a field other than your day job, something beautiful happens: you accidentally get better at your job. Lessons you learn while building non-web stuff are usually very relevant on the Web. You don’t even have to set out to learn in the first place. If you’re waxing on and waxing off, the karate will come naturally.
Getting Comfortable with the Uncomfortable
A few months ago, I started making video games. It’s something I’ve avoided for a long time because it’s so intimidating. I come from a design background—not a computer science background—so I’ve always assumed I wouldn’t be good enough at programming to build a game on my own.
Welp, turns out game development is difficult. And scary. And time-consuming. And headache-inducing. And so much fun. It’s incredibly gratifying to see your own ideas come to life and work well. It makes it worth facing all the bad stuff. And there’s also a big upside to taking on the intimidating parts of game development. When you constantly feel uncomfortable, you start to feel comfortable with being uncomfortable. That’s huge. If you can thrive outside of your comfort zone, you’re gonna go far.
For me, another nice aspect of game development is the fact that I don’t know how to do it correctly. This is a blessing in disguise. I’m blissfully unaware of a lot of best practices. That means I don’t get hung up on finding the best way to do things. It forces me to quickly find what works, then move on from it. It’s a perfect remedy for analysis paralysis.
It’s Hard, but Not That Hard
I wrongly assumed game development was too advanced for me, so I avoided it. I eventually tried it and fell in love, but not until recently. Now I’m kicking myself for not trying it sooner.
So I want to show you how easy it can be. Seriously. Right here, right now. Let’s start making a video game, you and me. I’m not kidding. Here’s what I wish somebody would have shown me a few years ago.
I’m going to use Pico-8 for this. I like it because it’s super easy to get up and running. It uses the Lua scripting language, which is pretty easy to learn. It also has a built-in sprite editor and music editor, which is nice. You’ll be able to get similar results if you use the LÖVE framework, which is free and open source. Unity is also excellent and free to use, but it’s also more complicated.
The Moral of the Story
The very biggest lesson I’ve learned from game development so far is that you have to throw caution to the wind. Just build stuff. Stop worrying about how it’s going to scale. Or if it’s going to be unperformant. Overthinking is poison for side projects. Build stuff and get results as fast as you can. Cross those other bridges when you come to them. Just do it.