Documentation of my 2D game

12
Unit 70 – 2D Game Documentation I began the project with my initial sprite design which was a basic black and red ship in a spined, stealth plane look with shading added onto small areas such as over the cockpit, then I progressed to make gun shapes to add a counter from the initial shape

Transcript of Documentation of my 2D game

Page 1: Documentation of my 2D game

Unit 70 – 2D Game Documentation

I began the project with my initial sprite design which was a basic black and red

ship in a spined, stealth plane look with shading added onto small areas such

as over the cockpit, then I progressed to make gun shapes to add a counter

from the initial shape

Page 2: Documentation of my 2D game

After making the sprite I added a few small animation frames to add little

moving details such as a trail of fire alternating from the rockets.

After making small details in the animation of the sprite, I created a suitable

collision mask that fit well around my ship and would be accurately responsive

to shots etc.

Page 3: Documentation of my 2D game

Once I’d made a suitable sprite with a decent collision mask, I begun coding

movement steps onto an empty object with the sprite, which would shift my

ship in different directions using the “WASD” format.

I then moved on to placing my ship into a basic room and testing whether the

controls of the ship worked in relation to the game.

Page 4: Documentation of my 2D game

After testing my player in the room, I coded movement limits onto my ship

object which would stop my Ship from flying off the screen, which would go

against basic rules of a static side-scrolling shooter.

Once that I had made the basic room with the movement limits, I added a

scrolling background effect which was done by setting the background

horizontal speed to move right to left in a loop.

Page 5: Documentation of my 2D game

Once I had my scrolling background I moved onto creating an illusion of speed

and dashing with small white lines moving at their own horizontal speed

independently from the background.

I moved onto creating a particle engine system, which would produce moving

and shrinking sprites constantly but in randomized forms in order to make an

illusion of engine movement, after creating a first jet and moving it onto one of

the ships engine parts, I duplicated the coding, but changing the Y-axis to be

inverse to have another jet on my ship.

Page 6: Documentation of my 2D game

I then moved onto movement and sound of a player shooting a laser, with

the sound effect playing each time the key is pressed, and then I coded a

step event which would destroy the object once it had left the screen,

minimizing lag and bugs in the game.

After I’d set the players details, I moved onto the enemies, how they spawn,

how fast they move, and with my quick scrolling background, I wanted to

make the enemies fast too.

Page 7: Documentation of my 2D game

Once I’d created my fast paced enemies, I felt it was time to make the

enemies be destroyed by the player collision as well as the bullets the

player shoots, as well as playing a small particle script which would be the

explosion effect left after the ship being destroyed.

I thought this might be useful because it’d make it obvious you destroyed

the enemy, with a very contrasting explosion which is in similar hue to that

of the background, but with black to differentiate from it.

Page 8: Documentation of my 2D game

To add more challenge to my game, I made the enemies able to shoot

projectiles which would move in the direction of the player, which came

out as planned, aiming straight for the player with bright projectiles which

were useful to have in ramping up the difficulty of the game.

Once it was possible for the enemy to shoot, it made sense to create a shield

which would deplete with each bullet from the enemy making contact with

the players’ collision box.

Page 9: Documentation of my 2D game

Coding the shield dropping from the enemy collision also made It possible

to insert a deflect frame which would quickly flash red upon contact, once

depleted, the character would be destroyed, activating an explosion

particle effect similar to the enemies but for the player, inverting it and

turning it blue.

Once It was fair for both the enemy and the player to be destroyed, it was

about time to implement a score system which would activate upon an

enemy instance becoming destroyed.

Page 10: Documentation of my 2D game

In order to ramp up the difficulty of the game, I thought to match my

general feel of the game being speed based, I’d add enemies which would

compromise this, coming in intensely fast and upon collision would

instantly destroy the player, making it more sense to avoid them.

After the general basics and such of the game, I started to make tweeks to

my game, which include revamping the room design, keeping a similar type

of design, but more detailed and far more eye catching.

Page 11: Documentation of my 2D game

To make my game seem more user friendly and game-like by implementing

a start menu and death screen within the game. Keeping a similar design to

the main room with the dark, spikey and contrasting red colours

I made a start and death screen which would use the contrast of red with a

dynamic background which would be eye catching and intriguing

Page 12: Documentation of my 2D game

To further ramp up the difficulty and duration of my game, I decided to add

in a boss battle in the end which would last a short while and potentially

take a couple of tries before accomplishing a win.

Programming a shield and different damage areas from the players bullets,

hitting the ship increases the damage.