Exam Game - Peggle
Aim with mouse, click to shoot
Didn't get around to making layouts for the levels but levels 1-5 should have there mechanics shown
Assets:
shooter, ball, bricks: https://opengameart.org/content/breakout-brick-breaker-tile-set-free
Background image: https://opengameart.org/content/space-background-2
music: https://opengameart.org/content/platformer-game-music-pack
Sound Effects: https://kenney.nl/assets/impact-sounds
Audio Manager code:
Core Functionality (all levels) | ||
3 | Ball Shooting | When mouse button is pressed (1 mark), ball shoots towards mouse (2 marks). |
Ball aiming constraints | Shooter can only be aimed within the 120 degree range pointing toward the bottom of the screen (2 marks).
| |
1 | Ball movement | Ball follows a ballistic trajectory, i.e. like a ball thrown through the air (1 mark). |
1 | Ball collisions | Balls collide with the buckets and the environment/side of the screen (1 mark). |
5 | Peg collision | Pegs disappear after a collision with a ball (2 marks). Pegs that have collided with a ball only disappear once the ball has come to rest in a bucket (i.e. at the end of a "turn") (1.5 marks). Pegs that have collided with a ball visually show that they have been hit and can still be collided with, until the turn is over (1 mark), or if 3 seconds have elapsed since it has been hit (0.5 marks; to prevent the ball getting stuck in the level and never reaching the bucket). |
2 | Next turn | The next ball can be shot only once the previous ball has come to rest in a bucket (1 mark; +1 mark for detecting ball is at rest for a short period of time, and doesn't incorrectly trigger when at velocity is low at the "top"/peak of a bounce). (Note: Removed the requirement in this item about "5 seconds") |
2 | Ammo | The player should start each level with 5 balls (1 mark). Each shot should reduce the ball count by one (1 mark). |
3 | Level completion / game over | The level ends in two ways: when the player has run out of balls (and some of the pegs remain) (1 mark), and when all the pegs have been destroyed (2 marks). |
4 | Scoring | The final score for a level is calculated and displayed correctly:
|
Extra Functionality (all levels) | ||
Visual style and feel | Game is aesthetically pleasing, and levels play well. | |
1 | Trail | Ball has a trail (1 mark). |
4 | Improved Score Display | Score is updated as each peg is hit (1 mark). As score increases, the number "animates" to the next number (1 mark). A in-world popup of score is shown for each individual peg (1 mark), and for when a ball rests in a bucket (1 mark). |
2 | Lindslay-Mode | Pressing L teleports the current ball to the current mouse position (1 mark). Ball velocity is reset (1 mark). |
3 | Sound Effects | Audio when ball is shot (1 mark). Audio when ball hits a peg (1 mark). Audio when a ball collides with a bucket (1 mark). |
2 | Music | Music plays throughout whole game (1 mark). Music doesn't stop or restart when level is changed (1 mark). |
User Interface (all levels) | ||
5 | Title screen with level select | Can be same or separate scenes (note that if using separate scenes, SceneSwitcherKeys script will need to be modified -- see exam lecture). Should have title (1 mark), a suitable background (1 mark), and a way of jumping to all levels through the UI (3 marks). |
2 | In-game UI | The amount of balls remaining is visually shown with either a number (1 mark) OR with a number of UI sprites (2 marks). |
3 | Start of level text | Display a message for 2 seconds: level number and title (1 mark), brief description of that level's mechanics (1 mark). Animated (1 mark). |
4 | End of level success text | Display a congratulations screen for 3 seconds after a level is completed (1 mark). Message should be from a random set of messages of your choosing (2 marks). Shows a final level score (1 mark). |
End of level failure text | ||
2 | Cumulative Score | Display the total running score across all levels (1 mark). "Animated" like the per-level score display (1 mark). |
2 | Game mechanics locked | Can't aim (1 mark) or shoot (1 mark) while the start or end level text is being shown. |
Level 1 – Default | 2% | |
2 | Functionality | Simple level with no modifications. |
Level 2 – Multi-Hit Peg | 3% | |
2 | Functionality | At least one peg in the level which requires more than one hit to be destroyed. |
1 | Visual style | Uses an appropriate visual representation to show the state of the peg (e.g. different visuals with 2 hits remaining to 1 hit remaining etc.) |
Level 3 – Button | 4% | |
2 | Functionality | Level contains a button, which when hit by the ball opens up a secret area that contains a bonus pickup. |
2 | Bonus Pickup | Bonus pickup displays an onscreen bonus message including the bonus amount upon collision with the ball. |
Level 4 – Checkpoint Bonus | 5% | |
4 | Functionality | Level contains at least 3 checkpoints, which when hit in order by the ball result in a bonus which appears on-screen after the final peg is destroyed (1 mark). Checkpoints can be passed through by the ball rather than a normal collision (1 mark). If a checkpoint is hit out of sequence, the entire sequence must be restarted (2 marks). |
1 | Visual Feedback | Pegs visually show which number in the checkpoint sequence they are (i.e. have a number on them), and correctly show when the checkpoint has been activated. |
Level 5 – Moving Pegs | 3% | |
2 | Functionality | Moving pegs follow a predetermined path (1 mark) and cause balls to bounce of them appropriately (1 mark). |
1 | Correctly resetting | Pegs only reset when level is reloaded, not after each shot (1 mark). |
| ||
6% 0% | ||
Leave a comment
Log in with itch.io to leave a comment.