Tuesday 8 December 2015

BTEC Extended Diploma in Video Games Assignment 2: Creating a game: Shapeman Unit 1/Unit 72/Unit 22 Computer game design

BTEC Extended Diploma in Video Games
Assignment 2: Creating a game: Shapeman
Unit 1/Unit 72/Unit 22 Computer Games Design

Development of Shapeman

Task 1.) This is my sketch on what I wanted and ruffly expected my game to look like. 


I wanted the shapes to be in the corner and the enemies placed in random positions. The sprite number is in the center and the score is above the sprite number. The player starts on the middle left side, while the collectibles are in corners which you can collect by choice to increase your score. theirs four moving walls which have been toned in and shown the direction they go in. The game also has four blades that destroy the player on impact.

1.2) These are how the sprites were made.
These are my Sprites

Spr_Circle

This is my Circle sprite which was created using the circle tool and a range of different tones of red.
The tones got lighter as the tones reached the higher right corner of the shape.
Tools used: Paint bucket, brush, paste, duplicate and the circle shape tool.

The Animation:

The tones became darker and when it reaches the image (5) it is completely one colour. I then rewind the effect and it gives a nice light to dark effect on the circle.



This sprite was 32 by 32 and only has 9 images for the animation, Which gave a nice slow effect to the shape, when in play.



Spr_Cross


This is my Cross sprite which was created using the line tool and a range of dark and light purples

The colours were simple purple tones.
The Tools used: Paint, line tool

The Animation:

The tones switched during the animation and was a much faster when showing the effect in the game.


This sprite was 32 by 32 and only has 10 images for the animation. (Every two sprites another change is made).


Spr_Triangle

This is my Triangle sprite which was created using the line tool and a range of dark to light tones.
The tools used: Paint tool, brush, line tool.

The Animation

I  placed a light green on the outer layer and then continued using lighter green going inwards while still keeping the shape of the triangle.
Image 5 is when the triangle begins again.




Spr_Square

This is my Square sprite which was created using the square tool and a range of different blue colours
The Tools used: Paint tool, brush, line tool, square tool.

The Animation:

The colours were dark to light going inwards. Image 3 is when the sprite rewinds.

This sprite only has five images which are slow in animation which works well.





Spr_Pentagon

 This is my Pentagon sprite which was created using the brush tool and a range of yellow tones.
The tools used: Paint tool, brush

The Animation

The effect is very similar to the square animation with the effect of dark to light, yet it is light to dark.

This sprite has five sprites and has a similar speed with the square sprite.






1.3) These are my objects and how they function.

Obj_Circle
Obj_Cross
Obj_Triangle
Obj_Square
Obj_Pentagon

These objects are the shapes in the corner in the room, which is where you can change your characters shape.








These objects don't have any movement or functions except the collision with the main character. 
(This could also be located in the Obj_player)
On collision, change the players sprite to the sprite it has just collided with.

Controller:

(Found in the controller, in create and then in variables)






This is a list of all the important commands that the game needs to be set to.



An example is the (lives = 3) which makes the game give you three lives.

The list after the globalvar are what the list contains underneath.

The only error I had, which i fixed was forgetting to add "Myshape"



I also increased the game ticks to make the sprites change at a slower rate which was a gave a better result.
(Found in the controller, in step and then in "Execute a piece of code."







(Piece of Code)

This is where the "gameticks" and "countdown" are being introduced and values are being placed.

This is also the same code which tells the player that they have "Ran out of bad guys" this is shown when all the enemy's are killed.

This also gives commands to changing the sprite to the next sprite, which is set to random
(irandom 4)
This chooses a random object that one of your shapes will be.
Circle
Cross
Triangle
Square
Pentagon
(Found in the controller, Event-step and then "Execute a piece of code."

This also includes the "Set the colour" and "draw the value of score" Which is about the score of the game. This is connected to the collectible which has a command of "Destroy on instance"



This is the code which links with the "spritenum"

This commands the sprite to change depending on the number of the sprite.

This is the number which is displayed in the center of the room that makes people aware for the next sprite change.


The bottom part of this code, allowed me to choose where i wanted the gameticks, countdown etc. to be displayed using the coordinates of the room.

I had most of my problems within this part of the code, because of some sprite names and coordinates. I fixed the problem with the sprites by the (Capitals) Which my sprites were named. The coordinates only had to be changed a little, to get to the wanted place in the room.

Obj_Blade is a simple command to destroy Ome (Player) when collide with each other.

Characters that move (Enemy,ome, wallmove) will need the collision set to bounce because these objects move.
(All objects are set to solid except controller.)

Wallmove









This object has the same design as the wall yet has the function to move (Left to right) this also has an animation to show the player that the walls are different to the walls that don't.

This animation is slow and looks like a type of alarm, which is a cool effect.


This had to have more duplicated images to make the effect of the animation slower. This gave a better effect and was much better on the eye.

This has 45 images that have a repeated animation.

By having the "wallmove" animated it makes the game interesting

The Object "ome" will not be killed by the moving wall but will be blocked instead when collided.

Ome (Player)


This main character will have the most commands,yet simple ones. The main character has the Key commands to make the character able to move.



This code tells the player (after death-3 lives) that "YOU ARE DEAD" and then commands the game to end.

The lower half of the code creates an explosion which is red and will happen when you collide with another shape.






Enemy (Found in "ome" and then "Execute a piece of code."



This this the code that commands the sprites to change depending on the sprite number in the middle of the level.

This code is telling the game that if the number changes to "1" the sprite will turn to the sprite that is "1"

This also tells the game that if you are the same sprite then you will collide and if not then "Idied" will be true.





This is located in the enemy in the "draw-event" then "Execute a piece of code."


This is the code that makes the objects belong with a number which is the game sprite number.


This makes the sprite change to the sprite that is the same number


An example "2" would be a "Triangle"






1.4) Room


This is the view of what the game looks like in gameplay.

The background was edited on Photoshop and is suitable because of the shapes.

The score and gameticks are at the top of the level while the enemy's are going in random directions.

While the original shapes that don't move are in the corners.



This is a screen shot of when the player and the enemy collide when there not the same shape

The problem I had with this was placing in my sprite number in the room, which i wasn't able to fix, however by this problem i changed the game ticks to be longer so it would be possible for the player to reach to the other side and change the sprite.

The main character starts at the left side of the level.




The explosion I decided to change colour, making it more suitable with my colour scheme. So i decided to make it green which gave a cool effect.

The collectibles are in certain places to get the player moving around the level.







2.) (Gameplay,errors,effects etc.)

2.2 Glitches/errors

(My errors and glitches are spoken about in the places i had problems with.)
Collision was one of my main problems, which i had. With only in game errors i had to go through the most of the code to find the error. By changing the effect of the explosion, the collision worked.
one of my main glitches was the moving walls which i had to change the direction because it was very easy for the enemy to get stuck or the player blocked.

3.)Feedback (Videos and comments)
Video of me playing:
(Me)
Sprites:"The sprites i think are well made and have cool animations."
Gameplay:"The game play is alright, yet has some problems with the collision"
Errors"The Collision with the same shape resulted the player to be sent back to the same starting position. Also when colliding with the Obj_Blade there was no error message (Which can easily be fixed)
Overall:" The game has cool effects and some alright gameplay.

Video of feedback player:


Person (James)
Sprites:"The sprites are very detailed and have good animations"
Gameplay:"The gameplay is slow but fun"
Errors"I couldn't kill shapes without killing myself and I was sent back every time i collided with the same shape."
Overall:" Very good and fun overall"

4.)Improvements

Next time i would improve the code of the game which could give the sprite number, and some other important information.
I could of also done some more sprites which could of been power ups (Speed).
I would also maybe have a different room layout which could increase the difficulty.
I would of liked to add a soundtrack to make the game more exciting and playable.
And maybe of increased the speed of the enemies.

5.)A user manual. (How to play).

This is the players manual which tells the player how the game works and what you need to do to win.

This also includes the controls and other information that the player might need to know to play the game.