This week’s assignment is to add some personality to our game, by performing some of the tasks that we left only partially complete, or perhaps completely ignored (like adding awesome sounds).
ITEM 1: Add Sounds – [REQUIRED]
Our game is going to need some awesome sounds to add to the action. Go out and find (or make) sounds to incorporate in gameplay. At a minimum, you must include:
- sounds for the player bullet being fired and the enemy bombs are dropped
- sound for the enemy explosions, and player explosion
- sound for the enemy advancement (a sound plays each time the mothership moves)
- a looping background track (either music or ambient sound)
I would encourage you to go further with this if you like – maybe bombs make a noise for the duration of their drop. Maybe the player object makes noise when it moves. Perhaps the music changes as the enemy get further down. This is a good time to experiment with making sounds on screen.
ITEM 2: Make another Enemy Type – [REQUIRED]
Right now we have one enemy object, that is built from a prefab. Design a second enemy type with a different shape, turn it into a prefab, and include it in your attacking force. It can have the same behavior as TypeA, or you can change the behavior if you like. (Maybe it drops a different type of bomb, or two bombs instead of one?). Next week we will add more behavior to this alternate type to make it tougher and allow it to take multiple hits.
ITEM 3: Make 3 Rows of Enemies (or more!!!) – [REQUIRED]
Set up the game board to feature more enemy attackers. Your attack force must have at least 3 rows of attackers, and each row must have at least 6 attackers in it. These are the minimum requirements – you can go bigger with this if you choose. Make sure to adjust your camera and player movement constraints so that you can see the full field.
ITEM 4: Player is Destroyed if Hit – [REQUIRED]
Enemy bombs are no joke! If they connect with our player object, it should explode. (simply destroying the object for now is fine, next week we will look at making this explosion more exciting). Don’t forget to include an explosion sound when this happens!
ITEM 5: Simple Shields – [REQUIRED]
Give your player a fighting chance! Create a simple shield object (a rectangular block for now) and place a series of them spaced out in a line on the game field (leave some openings in between them). For this iteration, player bullets should pass through the shield without disturbing it, but enemy bombs should destroy the shield upon hitting it.
ITEM 6: Fix the Flight Path – [REQUIRED]
Right now, our mothership guides the players along a horizontal path, but then makes a diagonal move as it jumps down to the next level. Correct this so that the enemy objects only move vertically when they step down on the beat, and then on the next beat resume their horizontal march, in the opposite direction. (See Figure 1 below)
ITEM 7: Bullet / Bomb Behavior – [REQUIRED]
Update your “enemy bomb” behavior to destroy in a fashion similar to your “player bullet” objects. Enemy bombs should be destroyed when they destroy another object (player object or shield). Decide what to do when your player bullet and enemy bomb come into contact, and implement that – should they destroy each other? or pass through each other unharmed?
ITEM 8: Alternate Enemy Advance Sounds – [OPTIONAL]
Instead of playing the same sound for each beat of the enemy advance, play two or more alternating or sequential sounds, at the rate of one per step.
ITEM 9: Enemy Speed Increases as Numbers Decrease – [OPTIONAL]
As enemies are destroyed, their rate of advance should increase (that is, the time between steps should decrease), making them become a faster threat as they approach.
Grading for this project will be done as follows:
All Required Items (Steps 1-7): B
All Required Items (and everything runs perfectly): B+
All Required + 1 Optional: A-
All Required + Both Optional: A
The project is due by Friday (9/23) at 1:00pm. Create a compressed (zipped) folder of your project directory, and submit that in a folder labeled “Assignment 3” that you will create inside your individual assignment folder.