Bomb Click
This was my first game I made using Game Maker Studio. Making it taught me how to program a gravity system. To play, load the file and start the game. The goal of the game is to not let the bombs hit the ground. The bombs will spawn every few seconds when you click on them you will gain points and they will disappear. When the bombs hit the floor the block will disappear. If a bomb hits the glasses under them you will lose health. If all the glasses are destroyed, you lose. If you click enough bombs and make it to 1500 points you will win! Good Luck.
System Requirements:
Windows 7/10 Mac OS with Wine running Audio is not supported on Mac OS |
Gravity Force
Gravity Force was my first full fledged game. It uses my previous experience with the gravity system. The development taught me how inputs on a keyboard correlate with a object on the screen. The games story is simple. In the far future of 2085, An astronaut crash lands on a distant planet where he is physically unable to jump. He must use coloured blobs on the ground that launch him forward, to find the parts of his crashed ship to escape the planet. The goal of the game is to complete levels using blocks that move you in different directions. Purple bounces you forwards, green bounces you backwards and red reverses the gravity. This game has a full menu system and custom sprites.
System Requirements:
Windows 7/10 Mac OS with Wine running Sound Effects are not supported on Mac OS |
Production
To start making a game you have to brainstorm the game. You must brainstorm things like genre, art style, gameplay, controls and sprites. At first I wanted to make a puzzle game but then I got bored of the idea. I thought of what my gameplay draw was first. In this case, in the game, your character can’t jump. They must use coloured blocks to bounce different directions. Then I made rough sketches of how the levels and menu screens will be set up. I then sketched rough sketches of what the characters and sprites would look like. Having something signed off by the client is important so the client doesn't make any future changes.
I started on using the default sprites that Game Maker gives me. Later when I finished most of my game I created my own sprites using a Sprite creating website. When making sprites you have to find an art style. I chose to use 32-bit style because it was the easiest to create and use with Game Maker. When making the animation for the spaceman I had to save the frames into a sprite strip and paste it on top of the default sprite file to use it correctly. For every different design, I had to make a sprite for it in Game Maker. I had to also put names for each to keep organized. All the sprite files started with sp_. Some examples are sp_player for the spaceman or sp_for_up_plate for the sprite for the purple forward bouncing plate on the ground. I would also use the same shape of sprites for some sprites. For example the buttons on the start menu. All I did was design it once and duplicated and changed the word on it enough times to use it.
|
When using Game Maker, after you create sprites you must make objects for sprites. Objects can be placed in a room on a grid and can have different properties. Like being visible or solid. To sort the objects correctly I used obj_ at the start of every object name. I also found out that you can make several objects with the same one sprite. So you don't have to upload the same sprite multiple times. Examples of this can be found in the different meteors for each level. They all use the same sp_meteor sprite. I used the same technique with the ob_continue buttons. Each button had to be different depending on what level you died on. I had to make different obj_meteor’s (obj_meteor13,24,22,21) because I had to put a coordinate where I wanted the meteors to randomly spawn. The numbers after the name correspond to level phases. 13 to level 1-3, 24 to level 2-4 and etc.
For each object I wanted the character to interact with them in different ways. I used events to do that. Events are used in an if-then style. An example is IF the obj_player collides with obj_forward_plate THEN it will launch the obj_player forward. These were the most important things to make this game. I needed to make a gravity system for the player's character. I did that by using the “Set Gravity” event with a combination of other events each time the object is created. IF obj_player is created THEN set gravity to 12 towards 270. (270 is the number for straight down.) To make the gravity flip the player when he collides with obj_flip_up_plate I then had to make a second sprite to make it look like the character would be upside down. All I did for that is flip the sprite in the editing tool built into Game Maker. Then I made the object for it named obj_player_flipped and added gravity settings to it. IF obj_player_flipped is created THEN set gravity to 12 towards 90. (90 is the number for straight up.) So then all together it would be IF obj_player collides with obj_flip_up_plate THEN change obj_player into obj_player_flipped and continue events. The continue events would be just the obj_player_flipped running the commands to change the gravity.
For each object I wanted the character to interact with them in different ways. I used events to do that. Events are used in an if-then style. An example is IF the obj_player collides with obj_forward_plate THEN it will launch the obj_player forward. These were the most important things to make this game. I needed to make a gravity system for the player's character. I did that by using the “Set Gravity” event with a combination of other events each time the object is created. IF obj_player is created THEN set gravity to 12 towards 270. (270 is the number for straight down.) To make the gravity flip the player when he collides with obj_flip_up_plate I then had to make a second sprite to make it look like the character would be upside down. All I did for that is flip the sprite in the editing tool built into Game Maker. Then I made the object for it named obj_player_flipped and added gravity settings to it. IF obj_player_flipped is created THEN set gravity to 12 towards 90. (90 is the number for straight up.) So then all together it would be IF obj_player collides with obj_flip_up_plate THEN change obj_player into obj_player_flipped and continue events. The continue events would be just the obj_player_flipped running the commands to change the gravity.