The Science of Starting

Jack Speake
5 min readNov 3, 2020

--

The first time I ever made something resembling a game, it was in GameMaker, almost 10 years ago. I remember excitedly showing it off to my family and friends, all the way until I told a certain person. Rather than excitement or even disinterest, they said this: “Well, that website basically makes the game for you, you didn’t really make anything with that engine doing all of the work.”

For years after that conversation, my perspective of game design was skewed. I always had this nagging feeling that, unless I programmed and designed a game from scratch, without the use of any external tools, I wasn’t really designing games, I was just assembling games like a kid building with legos. This feeling stuck with me for years, stunting every growing idea I had and causing me to get lost along the way. It wasn’t until I hit my first c++ class in high school that I had a chance to be a real game designer. We were tasked with recreating a classic arcade game simply using barebones c++. Three months and one finished project later, I could safely say that, well, it sucks. It was awful, countless many unnecessary issues stood between my team and actually making the game that we set out to make. Yet, instead of changing my outlook, it simply reinforced the idea that “I still wasn’t ready to make games.” For three more years I continued on in that line of classes, trudging through the yearly “game from scratch” project, improving every time, yet having my game design enthusiasm sapped from its core.

Screenshot of the Rudimentary Game Jam Game

It was in the middle of senior year that something changed for me, a local game jam was scheduled for one of my rare free weekends and I made a rash decision to dive in without knowing anyone or anything. I met a cool guy from the local grad school after showing up a few hours late and we dove right in. It was the first time I really used unity or any real engine for that matter. Honestly, it was an incredibly difficult learning process, but after nearly 48 hours of continuous work, we came out on top of the jam, winning a few small prizes. It was incredibly eye-opening for me, I spent so much time throughout my life convincing myself that I wasn’t actually ready to make real games that I had stopped myself from making them entirely. Every project that I had formulated was stunted before it ever had the chance to breathe.

So, so often, I see aspiring game designers agonizing over things, which ultimately won't matter. If your game is interesting and fun, no one will care what engine you used, or even if you created it from scratch, just pick one and start designing. Game design is an incredibly hard task and there is no reason to put obstacle after obstacle in your way when the path is so hard right off the bat. No matter how perfect your idea is or how strong it’s foundations, if your game can't be played, what is the point?

This doesn’t mean that we should jump right into programming, as I am sure everyone in this class knows, that is barely ever the answer. Moreso, it's about stopping yourself from getting overwhelmed by the behemoth of a task that programming a game can be, especially when you are setting out to create something new, something that hasn’t been done before. That can be one of the absolute hardest things to do, when there is a lack of resources out there to guide your design experience, it is so easy to simply start shutting down the idea. This is almost always a mistake because while it may not be possible for you to execute this idea, a lack of information on the topic is always a good sign that you are on the path to creating something that is actually interesting.

This all has gotten a bit… theoretical. This is supposed to be a tutorial! As such, let's break it down into quantifiable steps. Assuming you have at least the bare bones of an idea, what is the first thing you should do? Start programming? Try and recruit people? Choose an engine? No, just make it, sit down with a piece of paper and make it. Even if it’s unfun and terrible and is barely a representation of the idea that you truly want to set out to create, you now have something, something that is iterable, something that you can build off of. You’ve started.

Let's make a wild assumption, this prototype is fine, it's good even, you want to start programming to make your game. I spent years getting to this stage and freezing, choices here are overwhelming, what engine should I use? What language should I program it in? Should I use something I am familiar with or use something that could be a bit better suited for the task? If you haven’t noticed already, I am not the most decisive person. Looking back, however, as hard as it was, I wish I would have simply picked one, it didn’t matter what it was as long as I made the choice, as the next step is arguably even harder. Staring at an empty engine, where the only step you have is to create a GameObject and start creating.

--

--