Alrighty! So… I had a basic mockup of the game I wanted to make, with a vision in my mind of how I wanted everything to work inside of the game. I had the gameplay area laid out inside of the mockup, with some very crude self made pixel art. Threw a video up on YouTube, and found my pixel artist(he and I have become friends, and talk casually often(I may wind up moving to Brazil some day because of it!), and plan on future projects together). I was ready to go! Or so I thought…
While I was waiting for the pixel art to be ready to add into the game, I was plugging away on some of the gameplay mechanics I wanted in the game. That first day when I decided on what the design was going to be. As I said, my mind was flowing with 10-12 different game designs, but I needed to focus on one, to get it done in the time frame allowed. I had envisioned a game, with a UFO as the player, dodging ever increasing projectiles fired out from turrets below, along with airplanes coming on from both sides of the gameplay area, which would also increase in speed overtime. The scoring would be tracked by how long the player managed to stay alive, which would be no easy task when everything reaches max speeds. I still have not survived long enough to see everything at max speeds, but I have the speed increment variables set pretty low. And, would also track a separate score based on how many civilians were abducted while playing the game. Later on, ended up adding two civilians with different scores, to mix things up, but we’ll get to that in a later post.
The first things I added into the game were a basic animation to show the UFO tilting from side to side as it moved. Also added the ability to start abducting civilians, by pressing the space bar. You can see my badly drawn blue beam coming out of the bottom of the UFO Player object in the video XD. As long as a civilian touches the beam, it will get sucked up, and then be destroyed on contact with the UFO Player object(no score tracking at this point). Along with those additions to the player, I also added moving civilians(the tiny white stick figures) back and forth along the bottom of the gameplay screen, on that flat green block you see representing the ground XD. At this point, there was a limited amount of civilians that were placed there for when the game ran, and I did not have any way of spawning more of them. Not only that, I decided to have the turrets move side to side as well, to add some complexity to the mix. Along with all that, I made it so the turrets would basically flip on their x axis to face the player, depending on where they are located in relation to the UFO player object. Last of all was a health bar indicating the players remaining health. One health point gets knocked off of the HP variable, when the player gets hit by a projectile. That would be the green line floating above the UFO object.
Of all the things added to the game at this point, the most difficult part was having the turrets flip to face the player… I spent an entire 8-10 hour day on just that one aspect of the game. That comes with learning anything new, and I had not used GameMaker Studio(GMS) in well over a decade. Much had changed with the game engine. During the whole process of creating this game, I would implement one gameplay mechanic, only to break another. Or add one animation, or collision object, that would create a bug somewhere else. There were many days, I wanted to throw in the towel and give up. But, I stuck with it, and as you will see, I wound up with a game exactly as I had envisioned from day one…
The biggest take away I learned the first week of designing and developing this game for the contest, was to keep things super simple. That old saying KISS(Keep It Simple Stupid), rings true for anything you want to accomplish, even including how you choose to live and interact with your life and relationships. It just makes things move along a bit smoother when you keep things simple, as there are less things to think about along the way. My biggest issue was overthinking the development process, and overthinking how GMS functions as a whole. I still have some trouble with it to this day. I have a tough time tracking down bugs, and other issues with my projects created inside of GMS. I’ve since switched to another game engine, that jives with me much better. It’s more intuitive for the way I function internally, and just works with the way I think, in a much better way than GMS. Nothing against GMS, it’s a very solid, and polished game engine for making any type of game your heart desires, and I do still recommend it to budding game designers, and professionals alike.
I think each person has their own style, or flow of consciousness, and things will either click or they will not. If you want to develop games as a hobby or profession I highly recommend testing multiple game engines, prototype various game styles in each engine, and find which one works for you best. For you it might be something completely different than the two I am currently using. And, who knows, in the future my game engine of choice can very well change as well. It’s critical to stay flexible/adaptable, and find what works for you in any situation ;).
Video of the Project as it was on 8/3/21: