Documentation

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

Page 1: Documentation

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

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

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

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

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

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

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

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

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

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

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

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 similar to that of my own players, but a different

global variable.

Feedback and Adjustments

When playing my game, people were faced with the difficulty of the Boss

having such high health for a long boss battle, people were being killed a

little too quickly to do much damage, in which I implemented greater

damage coming from the player to the boss, lessening the time, but

lessening the difficulty