We’ve made a game… sort of.
Do you love games? Of course. You live and breathe games, you play them, you read about them and you even have an idea for your own game. However the actual process of game development seems like a terrifying and unachievable endeavor. Well this series is for you. During this 5 part series I will be researching whether someone with no experience in game development can learn the ropes. This isn’t a guide to get rich quick, or an overly complex lesson from a member of the industry. This is a series written by someone like you, someone who wants to make games but just doesn’t know how.
In each part we’ll break down a specific aspect of game development, so I highly recommend you check out the series previous entries, so you don’t get lost or confused along the way.
It’s Easier Than I Thought…
Can you make a video game with no experience? Well considering I haven’t updated this ‘weekly’ series in 7 weeks, you’re probably thinking no. Truth is I’ve been busy. I’ve been creating various content for the website, working on projects that will be announced over the next few months and dedicating the majority of my time to managing the Kickstarter for our book, Video Game Abominations.
But now i’m back and committed to this project and game development in general. I also have good news. Yes, you can make a video game with no experience… sort of. Game Maker Studio 2 creator, Yo Yo Games, provides various online tutorials for learning how to use their software. I’ve been following their beginner tutorial, which I mentioned in the last part of this series. When I started this experiment, I feared that trying to learn how to use game development software, without a teacher or mentor, would be virtually impossible. To the contrary, it has turned out to be relatively easy.
Becoming Familiar With Game Maker
It’s been pretty easy to navigate this software. There are tabs on the top left that let you quickly transition between your programming work space (Workspace 1) and your actual levels in the game (game_room). In the middle of the screen you can see what i’m currently working on. I’m programming the projectiles fired from the playable character. Using Game Maker Studio’s Drag and Drop (DND) features, I’m able to set the direction the character is facing towards the x and y positions of the mouse, and set the speed of this movement to 60 frames per second. On the far right you can see the panel that allows me to manage the different rooms, objects and sound effects I’m using in the game. After a little bit of time with the software, it’s all pretty straight forward.
It Isn’t That Hard To Follow A Tutorial
The reason I say we’ve only ‘sort of’ proven you can make a game is because… all we really did was follow a tutorial. In Part 3 of this series, I broke down every little step in the process of designing my playable character. In hindsight, considering that I was regurgitating the information in the tutorials, Part 3 wasn’t the most effective way of explaining how to move forward. So instead I recommend that you check out Yo Yo Games’ 8 part beginner series for using DND in Game Maker Studio 2. That’s where I learnt all this, and it was incredibly helpful. (Click here to view tutorials).
After completing the tutorial series, this is what I ended up with.
I pretty much followed the tutorial point for point. Although I did make a few adjustments here and there. Obviously I used the playable character I designed in Part 3. I also used different sound effects to the ones the tutorial recommended, the projectile art we acquired from Pixel Game Art, and the font SF Comic Script for my score title.
Through this 8 part series I learned how to create a tonne of things.
- Rooms: Rooms are basically the different segments of your game. So your first room might be your title screen, the place where you select ‘new game, continue or settings.’ Then your second room might be a cut scene. Your third room might then be a level, and so on and so forth. So for this game I created two rooms, the title screen and the game. You can create as many rooms as you want and adjust things like the size of the screen.
- Tiles: Tiles are what you use to decorate your room, essentially the games art. So the background of this game is just a bunch of placeholder tiles Game Maker provides.
- Layers: I’m pretty familiar with layers, since the same technique is used in graphic design and 2D animation. Layers are where you place the different pieces of art, to stop your playable character getting lost behind the background. So your bottom layer would be your background art, then your layer for projectile art and then your layer for the playable character on top.
- Text: You can create text, which we used to write the ‘score’ visual and the ‘my first game!’ visual, and you can link that text to keyboard prompts like ‘press enter to begin.’
- Sprites: Basically what Game Maker calls art. In this game I created sprites for the playable character, enemies, projectiles and background art.
- Objects: To make sprites actually do things in the game, you have to link them to an object. With pretty simple maneuvering, and not a single line of code, i was able to; make my floating head move around the level, rotate in the direction the mouse was facing and fire projectile axes. I was able to make enemies spawn continuously on the map, with a set amount of health and attack the player. I was able to create an invisible camera that followed my character around the level. I was even able to create a score counter, that added 5 points every time an enemy died.
- Sounds: Pretty self explanatory. Link specific sounds to specific things.
- Collisions: Collisions are invisible boxes or shapes that you surround objects with. So if your character touches the collision box of an enemy, it kills you. If your character touches the collision box of an outer wall, it stops you going out of bounds.
- Events: You can make objects do things by creating an event. An event is basically a set of rules you set up yourself, that say, ‘if this happens do this.’
- Steps: Just like video, video games run at around 30-60 fps. By adding a step to an event, your telling the object to do whatever you tell it, every frame of the game.
- Variables: Variables are what you use most when creating events. A variable might possibly be time. So every second that goes by, an enemy might get slightly bigger. That’s a variable.
- Instances: An instance is basically a version of an object or sprite you’ve created, that has actually been placed within your game. So you hypothetically might want seven random green ball creatures in a specific level. So you’d place seven instances of that enemies object into your room.
This can all get a little confusing, but you”ll get used to these terms over time. Here’s a screen shot of something I created, to make it a little easier to understand. This is some of the programming I did for the enemies in the game.
Wow It All Seems So Easy…
I found Yo Yo Game’s tutorials pretty straight forward to follow, but that doesn’t mean I didn’t mess up a lot. One thing I’ve learned, is that it is very easy to make a mistake, and when you do make a mistake, it is very hard to spot the reason why your game is broken.
Multiple times I would follow the tutorial meticulously and yet not have the same results as them. I often found that a simple spelling mistake or misplaced bracket, caused large chunks of my game to not run properly. I decided to deviate ever so slightly from the instructional videos early on. My head fired slightly less axes per second, than their space ship shot lasers. This didn’t initially seem like a big deal, but later on in development I found enemies were spawning so quickly, it became almost impossible to stay alive for more than a minute.
I also learned a valuable lesson. Any art you create outside of Game Maker has to be exported to the appropriate size it will end up being in the game. I tried to use the Pac Man art I created in Part 3 as my enemies. The images were way too big, and when I tried to shrink them down to fit in the game, this happened.
My original art.
What it looked like when I tried to resize it.
And when I tried to play the game with these enemies…
Where do we go from here?
So we’ve created our first game using the tutorials provided by Yo Yo Games and a few slight alterations. Let’s call it, Head F**k.
But we don’t want to just copy someone else. We want to create our own original game. If you’ve gone through all the tutorials or checked out my final version of Head F**k, you probably still feel like there are a lot of gaps in your knowledge. There is nothing to stop the player from moving off screen, there is no dialogue, no cut scenes, no complex mechanics. Well that’s the exciting part. With everything we’ve learned so far, I can see how we might create/ add those sorts of things.
So that’s what we’ll cover in Part 5. How to take what we’ve learned and use a little creativity and ingenuity, to take it so much further.