Load, Compile, Complete — How Hard Could Getting A Job Be?

Nathan Coffin
6 min readJul 8, 2021

It was on the fifteenth (or maybe it was the fiftieth?) job application I sent in to a Game Studio that I realized what exactly was going wrong here. I was not going to be hired any time soon. I was a two-time College Graduate with a Scriptwriting and Broadcasting background, who wanted to be part of the video game making process in some way, and very little of what I learned could easily translate to that. And you may say “Well, Nathan, you’re a writer, most studios need writers, this makes sense, you should be fine!” but consider this; Out of the nineteen writing jobs I applied to in the industry, all of them required that I have been involved with the publishing and distribution of a video game.

… OK. Sounds easy, right?

Sarcasm aside, if I wanted to make it in the industry, I figured the least I could do was figure out how to make a video game on my own. If I could do that, at least I’d have verifiable proof I know what making a video game entails, and I would be considered borderline hireable. So I set out on a mission. I had a copy of Game Maker Studio 2 sitting in my Steam Library. I was going to teach myself through YouTube tutorials and visual guides on how to make a video game. And in order to convince myself to keep going, I was going to document it.

The purpose of this documentation was threefold: One, I suck at retaining information unless I talk to other people about what I’m working on. Two, I wanted to have proof that I understood what it was that I was trying to accomplish. And three, I wanted to show that someone with no background in coding or programming or what-have-you CAN in fact make a video game.

With that preamble out of the way, this is my journey towards making my own video game; Uh… “Name Pending.” We’ll cross that road when we get to it.

Right off the bat I do want to source the tutorials I will be (and have been!) using as reference for a lot of this. The videos will change from entry to entry, and I’ll normally be referring to them higher up in the entry.

In this entry, I was referring to Shaun Spalding’s Beginner’s Guide to GameMaker Studio 2, GameMaker Studio 2: Complete Platformer Tutorial (Part 1: Basics), and Peyton Burnham’s How to Make an RPG in GameMaker Studio 2! (Alternate Part 1: Player Movement and Collision) as my reference videos. I just want to make sure that I’m getting the information that best suits me.

Let’s begin!

Great Beginnings.

I am already overwhelmed.

A lot of this initial work is setting up some specific objects that my player avatar can interact with. Also a player avatar. Also how to interact. Shaun and Peyton have instructed me to start with the sprites, so I created the HERO of this story, and some basic ass walls and floors for him to collide against. Collision, I’m told, is a big deal. Movement in general, actually. It’s about 90% of a video game, though that’s mostly me guessing.

What a hideous creature. Is this what it’s like to play God?

I already despise this creature. This is our Player Avatar, and I’ve even painted them some equally hideous barriers to keep them contained. After attaching this sprite to an associated ‘Object’, I was able to get cracking into the most daunting part of making a video game, which is the part where you actually make the video game.

Further proof that I have Created them.

Objects, which are the main assets you interact with in the video game (I think?), change how they behave and react to your button presses depending on its Events. Events for an Object are where you put the numbers, basically. There is an Event that activates when they are ‘Created’ (or I guess, spawned in), and there are Events that activate on every frame (or ‘Step’) of the game running. Right now both Shaun and Peyton are telling me that I only really need to worry about Create, and Step. So, I will only worry about those.

In ‘Create’, what I’m doing is setting some basic parameters for movement right now. On creation, our deformed Hero will have several values that will be set (or reset, I imagine) to 0. That specifically would be their speed along the X and Y axes, known as x_spd and y_spd. I also have a speed for their movement, which is move_spd, which I set to 1. This means that, later on, when I teach this Hero how to move, he will move at a set speed of 1 pixel per Step.

Which brings me to the next basic step! Which is Step!

Here I set a few more parameters. What I’m learning with coding is that a lot of it is just subbing in shortened values for key presses and other things. For instance, whenever I refer to right_key or left_key in GameMaker Studio 2, I am actually referring to another process, called a keyboard_check, which is checking if a certain button is pushed down. Peyton for the purpose of his tutorial, calls these simply right_key / left_key, but I could more accurately just call it right_move and left_move, since that’s what I’m trying to indicate.

Now it was time to determine what x_spd and y_spd was determined by! It really does feel like I’m setting up this redundancy loop so that the engine knows what I’m talking about through context clues. Anyway, my speed along the x axis was the right key’s state minus the left key’s state multiplied by my move speed. Because Binary. Since the right key and left key can only ever be pressed or NOT pressed, it would come back as 1 or 0. So if I had my right key pressed and my left key wasn’t, my movement along the x axis would be 1 pixel per frame! And vice versa. This also applies to the y axis, though because the y axis increases positively in GMS2 as it goes down, I had to flip it around from what you’d expect.

Also important to note was putting down at the bottom what x and y speed would actually do, which would be to change my object’s position on the x and y axis by whatever value my previous lines were putting out. So x += xspd, means that my x position moves positively or negatively depending on whether it was +1 or -1 from the keys I was pressing! Wow!

The color coding in Game Maker Studio 2 is probably the thing I like the most about this.

After another entry to determine collision with my beautifully carved wall Objects (showing that if my Hero Object were to move into a position that was being occupied by a Wall Object, it would instead set my speed to 0), I was ready to set up and test drive my first few steps into making my own video game. I went to the Room space that it provides me, slapped down some walls, stuck my hero into the space (oh and set my camera to a 4:3 resolution and zoomed way in to see my work up close), and pressed the Run button.

And it worked. My Hero was alive. Trapped in the only prison that could contain them.

Lord help us if they ever escape.

With this accomplishment under my belt, I dusted my hands, gave myself a pat on the back, and left this ‘game’ I’ve created run for another hour before remembering to turn it off and save my project. Just as a threat, or reminder to this horrific square-thing I made that I had the power here. Not them.

My first steps into making a game were complete. My second to twenty-second steps were ahead of me, and I had a long way to go. But I can tell you right now, if there’s anything I’ve learned so far, it’s that the people who use GameMaker Studio 2 really want you to keep trying. It really does get easy once you get the hang of it.

See you next time!

--

--

Nathan Coffin

A writer, editor, voice talent, video game enthusiast. Honestly just love talking about video games.