At the end of last year, I came to the realisation that I was seriously lacking when it comes to shipping games.
So my solution?
I installed the Unity game engine.
randy, this has gotta be some kind of sick joke, what the fuck?
Alright, alright. Just hear me out on this one…
For a bit of context, over the last few years I’ve been on a violent pursuit of figuring out what it takes to write good code for games. I switched from Unreal Engine, to my own C++ engine, and then again to Ryan Fleury’s Telescope engine in C.
This lead me down some pretty wild rabbit holes. By the end of it, I was feeling pretty confident in my ability to do… well just about anything.
Anything except actual game development.
Programmer Randy was having a blast, extremely content with eating up challenge after challenge in one big meaningful arch of coding “the perfect game”.
Yet while he was tapping away at the keyboard and wrestling with quaternion math, game dev Randy was withering like a neglected flower.
Yes, while wearing my programmer hat – Unity looks like one big steaming hot pile of fucking garbage.
But viewed through the glasses of a budding game developer?
It’s a grand vista of infinite possibility.
You click 3 buttons, download one script, boom. You’ve got physics, collision, camera movement, and a ragdoll character swinging his IK dick around on screen.
High level game engines like this one, are an absolute treat. Because when you’re just trying to make games, guess what?
Good code does not matter.
In fact, let’s take it a step further.
Your choice of engine does not matter.
Unity, Unreal Engine, Godot, Lumberyard, Game Maker…
The only thing that matters when you’re wearing the game development hat, is that you are actually doing some bloody game development.
Sure, some tools might be better than others. Some might be quicker, more sturdy, less clunky, more elegant… stop. Take off your programmer hat.
It doesn’t matter.
Since I’ve already spent a lot of time getting used to Telescope and programming in C, you might be wondering why I’m not just sticking with it?
Well, using the same great programming environment while trying to focus on getting better at game dev, would be the equivalent of a recovering alcoholic spending his free time at a pub.
I want to force myself to write shitty code.
I want quantity, not quality.
Now that might sound kinda backwards to you. It certainly did for me during these last 7 years.
So I’ll leave you with this excerpt from a nice lil book:
On the first day of class, Jerry Uelsmann, a professor at the University of Florida, divided his film photography students into two groups.atomic habits: page ?? (idk it’s fuccin in there somewhere though)
Everyone on the left side of the classroom, he explained, would be in the “quantity” group. They would be graded solely on the amount of work they produced. On the final day of class, he would tally the number of photos submitted by each student. One hundred photos would rate an A, ninety photos a B, eighty photos a C, and so on.
Meanwhile, everyone on the right side of the room would be in the “quality” group. They would be graded only on the excellence of their work. They would only need to produce one photo during the semester, but to get an A, it had to be a nearly perfect image.
At the end of the term, he was surprised to find that all the best photos were produced by the quantity group. During the semester, these students were busy taking photos, experimenting with composition and lighting, testing out various methods in the darkroom, and learning from their mistakes. In the process of creating hundreds of photos, they honed their skills. Meanwhile, the quality group sat around speculating about perfection. In the end, they had little to show for their efforts other than unverified theories and one mediocre photo.
Quantity leads to quality.
The engine you use doesn’t matter.
Go get your bloody reps in.