I finally finished my first real game using Game Maker Studio 2! It took way longer than necessary (3 weeks on and off) but it’s the first time I finished a video game project of this length.
I made it by following a series of tutorials made by Shaun Spalding of 27 videos. Because of that, most of the code I wrote is similar (or identical at times) with his.
I’m not making the source code of this game public as I feel it’s not truly original content. You can however find the source code of Shaun’s project on itch.
I’m going to share in this article some lessons and things I learned that could be useful to you.
A Brief Overview
There’s a simple menu and different endings – well, it’s just a different text really – depending on what you do during the game. There are only very basic functionalities but it still makes for a playable game and a great learning experience.
Making Everything from Scratch
With this project, I wanted to make everything myself so I could get a taste of what it really takes to finish a game.
I used a few tools to get that done:
- I recreated all of the sprites using Krita with a Wacom Intuos Draw Small
- The sounds were made with Bxfr
- The music was created in Bosca Ceoil
Making the assets of the game was probably the longest part of the project. Not the design itself, but having to learn how to make spritesheets at the right proportions, placing the image at the right place for it to animate or scroll correctly etc (the trees and mountains in the background).
Game Maker Studio 2 also allows for auto-tiling, which means it finds automatically which tile is the right one to put at a specific position depending on its neighbouring tiles. But it means we have to create a tileset with a specific format to make it easier to implement.
For the sounds, Bxfr is pretty intuitive to use and can generate random sounds of a specific type for you. It’s perfect for small games like these but I doubt it would be useful for a real commercial project.
For the music, Bosca Ceoil is also simple to use but you have to have some music theory knowledge if you want to make anything that sounds good. I have none so I just hit the buttons and put notes randomly until it made an acceptable melody. Don’t do that. That’s why the music of the game is horrendous (and that’s why I gave the player the option to mute it).
Hitting Some Walls
I started the project with the free version of Game Maker Studio 2. But the license started to show its limits sometime during the tutorials. I wasn’t aware of this, but you’re actually limited in the number of objects, scripts and sprites you can create in your project if you’re using the trial version. You also can’t export your project or build an executable file.
Because of that, I decided to upgrade to the Creator for Windows license. It’s not that big of a deal as I planned on upgrading anyway.
Another problem I faced was that there were days when I was kinda dragging the project along without moving forward a lot. My schedule was to follow a few tutorials everyday and work on recreating everything myself, but the motivation wasn’t always here because I felt like I was only cloning someone else’s project.
If I had to do it again, I would make a point to design my own game and not just copy the tutorials. I would have learned the concepts more deeply and it would probably have been more fun to exert my own creativity, using the tutorials only as a guiding line to make sure my game is moving toward completion.
I started around a month ago with no knowledge of Game Maker. I then followed the official beginner tutorials before moving on to this one. I think increasing the difficulty of each project you do incrementally is a good strategy to adopt. Building up confidence is key to finishing games.
If you’re looking for a place to start your learning journey, I would recommend you do the same as me. I believe the important thing is to finish one game before moving on to the next, else we can fall prey to the shiny new idea syndrome and never actually get anything done.
Now that I know how to create the basic functionalities of a 2D platformer, I’m going to start working on a bigger game of the same genre. It’s hopefully going to take a few months and I’ll document its progress on the website.