Tag Archives: Video Games

The Gamemaker Studio Journey

I have never advertised on my blog the fact that I make my own games, mainly because… frankly I suck at it! That said, I have really enjoyed working on my games over the years and though I have never published anything and aside from my daughter and I no one has ever actually played my games, it is something I do and it is part of my gaming experience which is what this blog is all about.

Today I want to show off a bit because even though my games are pretty crap in the big scheme of things, they are mine, I made them myself and I’m quite proud. More than that however I want to show my appreciation for the wonderful platform I use (Gamemaker Studio 2) and in particular the amazing Gamemaker community that helped me, encouraged me, and got me to the point where I am today, a full-fledged, very inspired hobbyist who can develop his own games.

GameMaker Studio 2 & The Community

The gamemaker studio platform is without question one of the best ways to learn game development there is out there today in my humble opinion. Yes, there are many platforms that advertise “learn to develop games the easy way”, but I have personally tried nearly all of them and Gamemaker Studio is the only one that not only stuck but proved the marketing pitch. You CAN learn to develop games using this tool and it really is not that hard.

Simply put, if I can do, I know that anyone can, this is the objective truth!

What makes it so? The answer is quite simple and comes in three parts.

First is that the tool assumes you are not a game developer and that you will be making simple games during your education and so there is no theory to learn. You quite literally will have a functioning playable game on your first day with the tool if you follow along the tutorials and within a week you will complete your first game.

Second is that the support from the community is unprecedented. You will not find a more inviting and helpful place on the internet than the Gamemaker Studio forums. Not only will they encourage you, advise you, and answer questions, but you will find yourself very quickly being sucked into Game Jams, collaborative efforts, and above all else, inspired.

Finally and perhaps most importantly is the tool itself. Its logic, is laid out in a clean and easy-to-understand way and you don’t need anything more than what the tool gives you (at first) to get yourself going.

I can’t say enough about how Gamemaker Studio made learning to develop games easy for me. If you’re looking to turn making your own games into a hobby, this is the place to start.

Ok enough about the sales pitch, let’s see some results!

D.E.F.C.O.N 1

DOWNLOAD & PLAY

The first game I made was modeled after an old arcade classic called Missile Command but of course with a twist. This was actually quite an ambitious first project for me and I was definitely in over my head in terms of the level of code I needed to write compared to my skill level.

Still, I managed thanks to some great tutorials and a bit of advice from the gaming community.

In the title screen, I teach you how to play, surprisingly enough learning how to create GUI’s in Gamemaker Studio was almost as much of a challenge as making the game itself. Note that mouse-clicking doesn’t work to start the game, you have to use the arrow keys and hit enter.

In Defcon One the objective is to protect cities from a nuclear attack by firing countermeasures (missiles) at incoming nukes. The trick to the game is anticipating where nukes will be as they fall from the sky and targeting ahead of them so that when your countermeasures arrive at the targeted spot they blow up the nuke.

The game uses ammunition that is slowly replenished when your countermeasure missile silos are closed (when you are not using them). It’s actually a very fun game, quite loyal to the original Missile Command, though I have to admit I had a lot of trouble balancing its difficulty and never really got it quite right. At some point, I just decided it’s done enough and left it as it is, without a doubt, one of the most impossible games to complete. There are 5 stages of increasing difficulty.

The graphics are very basic, all of the artwork I did myself and I’m not much of an artist, nor did I really focus on it. I mainly just wanted to get the game working.

The most difficult part of the game development was getting the targeting element working. I struggled a lot, at one point I was stuck for several days before I got it working. While the game was quite challenging to develop I finished it in about 2 weeks.

I think for a 1st game, it still holds up and I still sometimes pull it up and play it.

Mars Lander

DOWNLOAD & PLAY

With my first effort behind me, I was tempted to get even more ambitious but I found that most of my original design ideas were terrible and after building several prototypes, I didn’t think any of them were worth finishing. I decided to see if I could get lightning to strike twice and made another retro-clone, this time of a classic game called Moon Lander, which I called Mars Lander.

I found that by working with an established game design, I could focus on game development which was really what I wanted to learn. I always figured that in the future I would design an original game, but I figured at this stage I was still just trying to learn.

I didn’t spend much time on the title screen and again mouse clicking doesn’t work, you have to use the arrow keys and hit enter to start the game.

Mars Lander has a simple premise, fly your ship from one landing pad, to another. This of course is a physics-based game that forced me to learn an entirely new element of coding, but it was actually quite easy and fun. In fact, I think of all the projects I worked on even up to this point, this was one of the simplest and fastest games to get finished. I had it done (start to finish) in 3 days.

In Mars Lander, you use the A, D and Space Bar to control thrust and the arrow keys to control the angle of the ship. You can restart the game with the R key. You must land on the yellow or red pads on the other side of the map.

It’s part exploration, part physics control and it’s hypersensitive. You must land on the pads very softly or you will explode.

There are five levels, each with a different set of circumstances and maps. On the later more difficult maps, the gravity changes on you, so the ship starts to feel heavier when going through certain areas. Of course, the big thing is that you have limited fuel, so you must make your landing before you run out and your score is based on how much fuel you use, less is more.

Moon Lander was a game I played a lot back in the day and it’s still a lot of fun, though Mars Lander, my version is a lot more frustrating than I remember Moon Lander being.

This wasn’t a terribly challenging game to make as the physics engine in Gamemaker Studio is quite easy to work with. The biggest challenge was getting the sensitivity right.

Mars Lander gave me my next idea as well. For my next challenge, I wanted to do another Retro-Clone but I wanted to create an original version with lots of bells and whistles, essentially taking a simple game and cranking it up. At this stage, I realized that making retro-clones was actually a really great way to focus my game efforts on game development, rather than game design and this would prove to be a really great way to learn.

Super Asteroids Metal

DOWNLOAD & PLAY

As you can probably guess, my next game was based on Asteroids, but it is so much more than that. I took all the lessons from my previous efforts and applied pretty much everything I knew to this next project. I also put considerably more effort into the art of the game and tried to make it a much more complete game than anything I had done to this point.

Super Asteroid Metal really tested my knowledge to this point, but it would also prove to be one of my greatest lessons in what not to do in terms of code. It’s a spaghetti mess that I was barely able to finish and I learned the hard less that games that get more complicated really need to use a game state engine which notably is not a feature in Super Asteroids Metal but would be in every game that followed.

Super Asteroids Metal has a lot of features including a radar system, ship upgrades, and various physics effects and it uses particle systems. I spent a full 3 weeks working on this game, without a doubt the biggest game I had made to date. One of the major challenges of the game is that at this point I didn’t know how to build a game state engine, so what you see is a very robust series of timed executions using a wide range of terrible methods I would never recommend to anyone. The game works, but holy shit is the code a mess.

I learned a great deal from making this game, in fact, I consider this game to be sort of my threshold game. Upon finishing I really felt like, at this stage, I could create anything I wanted. I was wrong of course and this poor self-assessment would result in me creating at least a dozen failed prototypes before my next success, but it was nonetheless a huge confidence builder for me.

In Super Asteroids Metal the premise is quite simple. Clear the Asteroid field just like the classic game, but the controls is what I think is the really cool thing here. You control your ships facing with the mouse, the right mouse button is your thruster and the left button is your guns.

Be sure to use your radar, it really is the trick to successfully completing the game.

The game uses physics however and you float around depending on your speed in the direction of the momentum from your thrust, a bit like real space. You have no speed limit and you don’t have any friction so the only way to slow down is to create opposing thrust. You have an indicator that shows which direction you are traveling and how fast.

I got pretty damn good at this game after testing it for hours upon hours, but it’s a pretty tough game.

It can be a bit buggy if you have multiple monitors because your mouse can shift between monitors as you play and you can sort of shift out of the game, so playing it on one monitor is recommended.

There are several levels of difficulty and yes, It’s possible and I have finished the game.

There are also a number of surprises like planets with gravity and various types of power upgrades, including a shield. All things you need to leverage to successfully complete the game.

I’m really proud of this one, it took a lot of effort to complete the game and I worked on it relentlessly during this three-week period.

After I complete Super Asteroid Metal I started to grow ambitious and really wanted to create an original game and compete in a Game JAM. Game JAM’s are a sort of competition where you sign up, you get a theme for the game you will develop for the competition and a very short amount of time to develop it, typically a few days or a couple of weeks.

I wanted to do it with people in my local area so I joined a private game JAM in Sweden and as fate would have it, the theme of the game JAM was “Retro Arcade Classic”. So while I fully intended to create an original game, I found myself in a situation where I had to make another retro-clone anyway.

Space Invaders

DOWNLOAD & PLAY

Space Invaders is an all-time classic and I wanted its creation to be done in the time frame of a Game Jam as a sort of training step to get myself ready for participating in Game Jams myself. It had been something I really wanted to do for a long time and while I had sort of participated in game Jams before, I have never submitted anything.

The mouse works this time! I was worried about time so I didn’t not waste it on making the title screen.

I spiced up my version of Space Invaders by making it a mouse-controlled ship that turned on its access. I also used my ammo idea from DEFCON 1, so you had to replenish ammo in the station protected by the shields that could be destroyed and I created a forever system, meaning that the game gets faster and faster as you complete each level and it goes on forever.

This is a really clean game and all of the art is original.

I think it turned out really great not only as a version of Space Invaders but my code was quite clean. It has a persistent game state engine, I was very efficient in how I wrote the code and I documented the whole thing managing to finish it in just under 3 days.

While I don’t think it’s my best game, it’s definitely my best code and project, I mean this thing is clean as a whistle, I doubt even seasoned programmers would find much fault in how I wrote it.

Going Further – What’s Next

I’m at a point now where I have a few games under my belt not to mention countless prototypes and experiments that I’m ready for new challenges. My greatest ambition is to create an original game, one with a clever story, something that I could actually release in a more public environment than this little blog. An indie title that would allow me to say “I’m an indie developer” and not be a liar. Not that I aspire to become an indie developer but I just like the premise of feeling like one.

I came up with a game I call Quantum that I have been working on for quite a while both conceptually and in prototype form. The basic premise of the game is that you are a microscopic “creature” that must feed, grow and survive in an ever-changing and increasingly hostile environment.

The game actually is a kind of series of microgames that slowly combine to create a more and more complex single game. Initially for example it’s a side-scrolling shooter, but as you go to the next level it becomes a top-down and side-scrolling shooter. With each new level, something new is added to the existing game mechanics, requiring you to juggle more and more mechanics.

Will it be something or just my next failed prototype? Who knows, but what I can say is that each new game is an exciting journey, the next step into a larger world of game development. Each game makes me smarter, each new game makes me faster and more proficient. I started this article by saying that if I can do it, anyone can and I hope if you are reading this and you have the ambition to make your own game you find my journey to be something that inspires you to try. It’s tons of fun!