Brainbox assignment

Brainbox 
Brainbox is a maze game which features some pretty basic maths puzzles. The theme of the game is hacking, the idea is that the main character is inside a rival hacking groups head quarters, the aim of the main character is to hack into each terminal at the end of each level- answer a maths puzzle- and move on to the next level; at the end of the game the player must delete "system 32", this is a important part of windows operating systems, and if deleted many problems will occur- I used this as a bit of a joke to end the game on.


Here is the main character of the game, I wanted to make the character look like a "Brainbox". However I did not create these sprites myself, I made them using a sprite creating website. I downloaded the strip above, and then used the "add from strip" tool in gamemaker, this allowed me to split up the sprites in to separate images. I then separated the sprites into the directions they were facing. Because of the strip the sprite is animated.
Here is the sprite of the enemy I used in the game, I pretty much did the same thing as I did with the player sprite. But I did encounter problems with putting together the direction it faces, and the direction it moves. I did not have the knowledge to program the sprite to animate whilst on a path; and a path is important in this game, otherwise the enemies will be going all over the place-making the game almost impossible to complete.
Here is the editing view of the first level of the game, when the game starts, the view the player has will be a lot smaller, because if the player can see the whole level- it will ruin the challenge of a maze game.
Here is the gameplay of Brainbox, it's very simple in terms of graphics, but I did not want to spend too much time of graphics, when I could be creating a functional game. As you can see the players field of view is limited, to a point where you can see whats ahead of you, but you cannot see the exit. At the bottom of the screen you might be able to make out 3 of the players sprites, these indicate the amount of lives the player has; and they do follow the player around the screen- I used the Draw GUI function to do this. There is also a score indicator at the top of the screen, however it's font is quite small and not very visible, I should have made it larger, and have a more visible colour- for example red.









Here is the "hacking screen", this appears when the player collides with an computer like object I called the "masterserver"- this can be found at the end of the level. How it works is quite simple, it's another room, with a menu with multiple choices. I came up with this idea when I was researching how to make a menu for the game, because of this I ended up not creating a start menu for the game- because I forgot. The line at the side of the answers, is the "obj_menu", it's purpose is to select the answer the player wants- I will discuss this in more detail later.




The purpose of this sprite, and it's relative object, is to block the player from getting to the terminal at the end of the level, think of it as a security door. The player must find some explosives to blow through it. 

Here is some dynamite, it's used to blow through the door which the player needs to get through to complete the level. When the player collides with the dynamite object, they will hear a boom- they will not see the door exploding because of the view the player has.

Here is the sprite for an object which gives the player points, it's a very simple drawing, which is supposed to represent some sort of mint- I called the object "obj_tac". I was going to use a micro chip as a way of getting point- to fit the theme of the game- but micro-chips are quite hard to draw in a 32 bit sprite.



Here is the sprite for the terminal at the end of each level, it's supposed to represent a computer, with the blue screen which sometimes appears when there is something wrong. When the player collides with the object it will "goto_nextroom" and the next room will be the screen with the maths puzzle on.
Above and below are the first two scripts used for the first two questions. The maths question asked, is a multiple choice question with 3 choices- as you can see from the image, the correct answer allows the player to go to the next room using the "room_goto_next();" function. If the wrong answer is selected the player go back to the previous room- rather than losing a live, because didn't want the person playing to be able to just spam random answers, instead I wanted them to risk losing a live during the previous level. You might notice that the first two cases-0 and 1- are blank, this is because they show the question that is being answered, so if the player selects one of them- nothing will happen.




Here is a create event for the multiple choice maths puzzle, these cases are used in the script, but the script does not show any of the possible answers, it just references the above. The object which holds these events, is the arrow which is selecting the answers.


Above is the step event I have used for all the questions, what this step event does is determines the movement controls for the questions. This code is used for all of the questions, with the exception of the bottom line which references the relevant script.


This is the draw event I have used for all of the questions, it basically draws the questions, using the font I made in gamemaker-"font0".





This is the last question of the game, it's not a maths puzzle, it's more of a joke. But it is the thing which ends the game, if the player clicks "yes" the game is complete and it just shuts down; I thought this would be funny, for the game to just end, as if the player had just deleted all the enemies computer data. As you can see below there is a lot less code, it's been done using the same method as before.





Below are the other levels for the game, they all stick to a similar pattern.



This level is basically the enemies last stand.
This is a game over screen I created, when the player clicks on the "Try again" button the game will restart.





Sounds
I have used a variety of sounds for my Brainbox game, the background music for the game was created by me using Soundation- a free online digital audio workstation, I used some bits of music which had already been made, and is royalty free; all I had to do is put them together to made a song. The music has a mysterious grimy sound to it at the start of the game, but then is speeds up to a rhythm which suits the players move speed. 


When the player collides with the dynamite, the sound of a explosion is heard. When the player collides with the terminal at the end of the level, a windows error sound will play. When the player runs out of lives, an alarm sound will play- the sound is actually the sound of a phone hanging off the hook. I got these sound effects from Soundbible.com, this website has a lot of royalty free sound effects.








Here is the video of the gameplay- I finally learnt how to use OBS properly.


Comments