I finished Coding a Game

Sorry it’s been a long time since my last post, but after my last installment of, “I’m Coding a Game” I went over everything that I needed to finish to get this game in a playable state and made a decision. I decided to focus all energy and free time on finishing the game, then blog about it. Also, I’m not going to go over all the coding aspects but rather the features I added. I realize this might be devastating for a couple of you, but some of my readers have heart conditions, and I just don’t want them to get too excited as they read about variables and arrays. Lastly, I thought I would review the whole experience, and my thoughts on GameMaker Studio 2.
What did I add?
Gun Pickup – With this feature, the player starts weaponless, and must pickup the gun.
Crates– I made crates that can be destroyed by the character, and be used as a barrier.
Enemies Shoot Back – What fun is a shooter when the enemies don’t shoot back?
Full screen Option – Now the game can be played in windowed, or full screen mode.
Scoring – Slain enemies now get tallied
Moving Platforms – Just to make it harder…That’s what she said.
Alternate Endings – Now the game has two different endings, which leads me to the next part…
Endings – An actual cut scene with an epilogue, pretty fancy, if I do say so myself.
My thoughts on GameMaker Studio 2
This software is pretty powerful for what it is. I would strongly recommend it to somebody who doesn’t have any programming experience, and is looking for somewhere to start. The software/program language can be a little tricky to learn at first, but what programming language isn’t? There was an old saying my COBOL professor said to me in college.
He said:
Programming is great because it will do exactly what you tell it to. It’s also madding because it will do EXACTLY what you tell it to! – NickelNDime’s old professor
This would pop into my head every time I ran into a problem with this game. It’s easy to have a concept such as having a character shoot at some robots. It’s another thing to code the language, design the graphics, and test it out! However, whenever I got frustrated, or couldn’t figure out how to code a certain part of the game, I thought of another saying. This saying I use not just when I made this game, but anytime I feel overwhelmed. It goes:
Nothing is particularly hard if you divide it into small jobs. – Henry Ford
Remember that the next time you have an overwhelming project or task. It’s very easy to overwhelm yourself when you look at a big project. Just remember, break it down to small attainable tasks and you won’t feel so overwhelmed.
It’s finally done. Now what?
There are two things I have to do now. The first thing I have to do is design a website I can put this game on so people can play it! I haven’t looked at HTML in a very long time, but the internet is a great place to start looking for information. I’ve heard a lot of buzz around WordPress, so I might start there. Again, I’m not too concerned as long as I’m moving forward.
The second thing I want to do is continue to work on the game! Just because it’s, “finished” doesn’t mean I don’t want to keep working on it. I see this game as a continuous project, and I found it very relaxing to open up the game and do some coding after the kids and wife fell asleep. There are so many different items and objects I could add to the game. I still have to make a sound track for the game! I compare this project to how I look at songs I’ve written. They are never truly finished. I just get them to a point where I am comfortable performing them. It doesn’t mean I won’t ever change or refine them.
…Yeah, I’m pretty cool, I know.
Final thoughts
Lastly, I want to thank Shaun Spalding and his tutorials. Most of what I went off of to build my game was from his series, “Complete Platformer.” He did a spectacular job breaking down all the information into manageable and understandable lessons. After I finish this blog, I’m going to try and contact him to thank him. I’m going to throw him some loot as a gesture of my appreciation. Who knows, I might even do it via TipBot.
While his lessons are helpful and thorough, he doesn’t show you everything. For example, when he shows you how to code a gun and fire it, he does not show you how to limit the range. At the same time, if you watch his lessons and not just copy the code, you’ll start to understand the logic and language, and thus have the tools to figure out problems you run into while programming your game.