documenting game (recovered)2

27
Ben White Task 2 To begin, I firstly created a simple sprite similar to the sample sprite in the video. However, I wanted to create something unique and be creative, so I began production of a proper ship. Here is how it began

Upload: benwhite101

Post on 18-Jun-2015

29 views

Category:

Spiritual


0 download

DESCRIPTION

2spooky

TRANSCRIPT

Page 1: Documenting game (recovered)2

Ben White Task 2

To begin, I firstly created a simple sprite similar to the sample sprite in the video.

However, I wanted to create something unique and be creative, so I began production of a proper ship. Here is how it began

Page 2: Documenting game (recovered)2

Ben White Task 2

This is the first model of the ship I created

Here is the final model of the ship, complete with a brand new recolour, weapons and a unique design.

Page 3: Documenting game (recovered)2

Ben White Task 2

Once complete, I was able to duplicate the sprite and create a frame by frame animation for it. The animation shows the flames on the ship flickering.

This is my first code for my finalized ship. This is a basic movement script to allow my ship to move around the game world.

Page 4: Documenting game (recovered)2

Ben White Task 2

The above images convey my ship moving around the game

I then went on to create a background for the ship. The first creation was just a simple, singular star background which moved slowly.

Page 5: Documenting game (recovered)2

Ben White Task 2

Then I went on to use a parallax method in which I created 3 backgrounds and overlapped them all. I then made each background move at its own different and unique speed to create a sense of a large 3D world. I believe this would be vital as my game is set in space which is extremely vast.

I then went on to create enemies for the game. I coded the movement and spawning of the ships in a way they would move horizontally to the left, spawn in groups of 3 and fire at the player. I had also

Page 6: Documenting game (recovered)2

Ben White Task 2

created a script which allowed the player to fight back by shooting. The lazer projectiles would be destroyed in they hit the player/enemy, but none were coded to be destroyed as of yet.

Page 7: Documenting game (recovered)2

Ben White Task 2

I then went on to improve the explosion sprite as I wanted something that looked much better

Page 8: Documenting game (recovered)2

Ben White Task 2

After this, I went on to create my second enemy. This enemy moves vertically after it fires to try to evade the players attacks and it fires a strong vertical-line projectile which can be quite destructive if it hits the player.

I began to notice my game was becoming quite difficult, so I needed to program something to aid the player and I thought I would have a go at creating a health power up. This power up flies across the screen quickly and if it collides with the player, the players ship is repaired by 50 HP. The sprite may be changed at a later date.

Page 9: Documenting game (recovered)2

Ben White Task 2

I then created a more adventurous second powerup. This one changes the instance of the player to the player with a shield over it, once the player has collided with the shield powerup. This effect lasts for a few seconds, but the player is invincible whilst it is in effect.

Here is what the game looks like now. There have been a number of improvements:

The Heads Up Display has been improved to specify the score and shield variables Shield is limited to 200 so that the health power up will not cause the ship to become

extremely strong A second enemy type now flies across the screen An improved background has been created. The desert mountains convey a broken planet

being invaded by the enemy

Page 10: Documenting game (recovered)2

Ben White Task 2

I have now created a start-up screen. So that players are not just immediately thrown into the game and can start when they like by pressing enter.

I then wanted to create another weapon the player could fire. This would be missles and they would move a lot faster than lazers, but have a delay between shots and only one would fire at a time.

Page 11: Documenting game (recovered)2

Ben White Task 2

I then went on to improve the start screen by adding a better animation and instructions on how to play. A future update will add a tips system which will display various tips on this menu.

Page 12: Documenting game (recovered)2

Ben White Task 2

I then went on to create a third enemy type by myself. I wanted to create a mini-boss character, so this enemy fires 4 large laser beams at once which can deal a lot of damage. I have also implemented its own health system similar to the players so that it is tougher to take down and does not die in one hit. It also moves very slowly and has a similar movement pattern to the second enemy where it shoots and moves vertically to a new position.

After the mini boss, I then went to work on creating spawner which would create turrets and towers that would move across the screen and shoot .

Page 13: Documenting game (recovered)2

Ben White Task 2

Here, the top picture is on the turret, and the turret sits ontop of the tower which can be found underneath . There is also an animated sprite for when the turret gets destroyed by the player. I have set up an invisible ‘spawner’ object which tells the game to create a tower every couple of seconds or so.

Here, I created a 4th enemy type. I wanted this one to be different from the others, so it does not fire and attempts to purposely kamikazie and crash into the players ship to cause severe damage. They are smaller, but faster and pose a big threat.

Page 14: Documenting game (recovered)2

Ben White Task 2

After the last enemy, I wanted to work on adding levels. I plan to make 3 into total. This level has a new background to show progression and enemys spawn a little bit quicker. I plan for my third room to be the boss room.

Page 15: Documenting game (recovered)2

Ben White Task 2

Before working on the large task of creating a boss, I wanted to create a title screen for my game as well as a title itself. It is called ‘swarm’ due to the large amount of enemies and the enemies are inspired by wasps, which come in swarms. On this screen, I have also created a tile set in which I thought would be good to establish the structure seen on-screen. This set contains a block, two slopes and a half-block.

Page 16: Documenting game (recovered)2

Ben White Task 2

Before working on the boss, I also added a tips section to the second menu. This tip will change each time the screen is loaded due to the code above.

Page 17: Documenting game (recovered)2

Ben White Task 2

Stage 1 Boss

After this, I began to work on the boss sprite. I needed it to be gigantic as I wanted the boss to look tough. After I assured the size was big enough, I finalized the design and set up the collision mask.

Then I began work on some complex code. This image shows all the events in my first boss object which contains a lot of scripts and alarms.

I didn’t think it would look right if I left my boss sprite as it is, and then just explode when its health reaches zero. I needed to add separate stages to the boss battle in the sense that its instance would change and it would become more challenging as the battle went on. The bosses would begin to fire their weapons faster depending on how close they were to death. I also wanted the boss to look like it had sustained damage throughout the fight. With the instance_change() code, I was able to set up 3 bosses with slightly different sprites. The first was a completely clean boss, and the second and third were set on fire and look like they have take medium and large damage respectively. The two other verisions of the boss can be seen below.

Page 18: Documenting game (recovered)2

Ben White Task 2

Stage 2 Boss

Stage 3 Boss

Page 19: Documenting game (recovered)2

Ben White Task 2

The backs of the ship have less detail due to them not being seen within game. I then began to work on some projectiles for them to fire.

Out of the two large cannons on both sides of the ship, these lazer projectiles will fire out. They are quite large and can be challenging to avoid and they do a lot of damge to your ship. The ship will then these slightly smaller projectiles below. These are a bit weaker than the other projectiles but come from the front weapon of the ship. These lazers both follow the sort of codes for the first enemies lazers. Once, fired, the lazers will move to the position the player was last at as soon as the projectile spawns to make it look like the boss is targeting the player ship.

Page 20: Documenting game (recovered)2

Ben White Task 2

After a lot of coding, here is what the final boss fight looks like, complete with each stage.

Page 21: Documenting game (recovered)2

Ben White Task 2

At the end of the battle, the ship create tons of explosions toward the centre to show that the boss has been defeated and the battle is over. With this, I began to work on a victory screen, but first I had to implement some more sounds.

Page 22: Documenting game (recovered)2

Ben White Task 2

Here is my finalized list of sounds. I have used a lot of sounds I created myself during my sound development part of the course last year such as ‘battle’ and ‘explore’, but have borrowed some sounds such as ‘blast1’ and ‘Zap’. ‘Explore’ plays in the menu whilst ‘battle’ plays in levels 1 and 2 and in level 3, ‘Battlemusic2’ plays.

Page 23: Documenting game (recovered)2

Ben White Task 2

Here is the finalized win screen. This level only displays once the boss has been defeated. In it, the star background moves slowly to the left, the green explosions move just like the explosion particle systems previously used, the trophy increases and decreases in size and the ‘You Win!’ text flashes.

Page 24: Documenting game (recovered)2

Ben White Task 2

Then I had to work on a way to get the player to move on to the next level, so I thought of creating and object with a collision event. The sprite below appears as soon as the players score reaches 30. Once the player collides with the object, the player will be taken to the next level.

With a win screen created, I also had to work on a ‘Game over’ screen for when the player dies. For it, I used the system code, which is used in my game to spawn enemies at different times, and slightly modified it to make the enemies spawn much quicker so it looks like a swarm. Also, the

Page 25: Documenting game (recovered)2

Ben White Task 2

Game over text flashes between red and black to show loss as the black blends in with the background.

Page 26: Documenting game (recovered)2

Ben White Task 2