Controls:

rotate platforms:  "A" & "D"

return to main menu: "escape"

Goal:

get to the checkered box on the map and try to pick up the heart as fast as possible


Generative ai was not used in the production of this game and art assets are custom made by me

Features:

anything struck through is in the game 


Core Functionality (all levels) 15%
4 Platform rotation

Platforms rotate via A and D keys (2 marks). Also via arrow keys (2 marks). 

4 Platform interaction

Platforms stop rotating immediately when no keys pressed (2 marks). Platforms interact in a physically correct way with ball (2 marks).

3 Ball reaches goal portal

When the ball collides with portal (1 mark), show end of level text (if implemented, see below), then move to next level (2 marks).
OR
If no end of level text, then wait for 2 seconds (1 mark) before moving to next level (2 marks).

4 Ball reset Ball resets when offscreen (2 marks). Platforms also reset (2 marks).
Extra Functionality (all levels) 20%
6 Visual style and feel Game is aesthetically pleasing, and levels play well.
4 Lives system Life is lost when ball is reset (1 mark). Game ends when all lives used (1 mark), shows end-of-game failure UI, then returns to title screen (if implemented) with a delay or after a button is pressed (2 marks).
2 Bonus lives Levels contain bonus life pickups that can be collected (1 mark) and increase the number of lives by one (1 mark).
2 Sound effects

Audio when ball is lost (1 mark). Audio when ball is sunk (1 mark).

2 Music

Music plays throughout whole game (1 mark). Music doesn't stop or restart when level is changed (1 mark). 

2 Post-processing and time-scale

Start- and end-of-level UI presents the level behind in a faded/blurred fashion (or some other appropriate effect) (1 mark) and stops time (1 mark).

2 Lindsay mode

Can use the mouse to drag the ball around the screen (1 mark). When released, the ball has no speed or rotation (1 mark).

User Interface (all levels) 20%
6 Title screen with difficulty select

Can be same or separate scenes (note that if using separate scenes, SceneSwitcherKeys script will need to be modified -- see exam lecture). Title screen should allow starting the game with three different difficulties:

  • Easy: infinite lives;
  • Normal: 3 extra lives given at the start of each level; and
  • Hard: 3 lives given at the start of the game, no extra lives at the start of each level.
4 In-game UI Lives remaining (if lives system implemented) (1 mark), level name (1 mark), restart level button that also costs one life (if lives system implemented) (2 marks).
3 Start of level text Display a message for 2 seconds containing the level number and title, and a brief description of that level's mechanics (1 mark). Doesn’t show when level is restarted due to ball resetting (or restart button pressed) (1 mark). Animated (1 mark).
5 End of level text Display a congratulations screen for 3 seconds after a level is completed
(1 mark). Shows statistics about how many attempts were needed to finish
the level, how long the final attempt took, and whether the bonus life was
collected (3 marks). Animated (1 mark).
2 End of game stats

Display a congratulations screen after Level 10 has been completed. Show statistics for: 

  • total time taken (i.e. total of all level completion times);
  • total number of attempts required; and
  • total number of bonus hearts collected.
Level 1 – Default 2%
2 Functionality Simple level with no modifications.
Level 2 – Deadly Obstacle 4%
2 Functionality Kills the ball (including losing a life if the lives system is implemented) (1 mark) and restarts the level (after an approximately 1- or 2-second delay) (1 mark).
2 Visual style Uses an appropriate particle system OR sprite-sheet animation when the ball comes into contact with the deadly wall (2 marks). 
Level 3 – Bouncy Platform 3%
2 Functionality Some platforms bounce the ball when landed on (2 marks).
1 Visual Style Uses an appropriate animation (or state-change) to show that a bouncy platform has been used (1 mark).
Level 4 – Moving Obstacle 3%
2 Functionality Some obstacle(s) move (1 mark) along a predetermined path repeatedly (1 mark).
1 Correctly resetting When level restarts, the moving obstacle(s) return to the same starting location each time (1 mark).
Level 5 – Multiball 5%
1 Multiple balls Multiple balls (3 or more) in level and all appropriately respond to physics (1 mark).
1 Ball reset Losing any ball causes all balls (and platforms) to reset (1 mark).
3 Portal reached Level completed successfully when ALL balls reach portal (2 marks), and each ball that reaches portal disappears when it does (1 mark).
OR
Level completed when any ball reaches the portal (1 mark).
Level 6 – Deadly Lasers 4%
2 Functionality Lasers in the level stop when hitting any platform (1 mark). Lasers that hit the ball cause the level to restart (and a life to be lost) (1 mark).
2 Visual feedback Line renderer representing laser (1 mark), and particles (or some other visual representation) at the point that the laser hits an object (1 mark).
Level 7 – Scrolling and Buttons 6%
3 Button Ball must interact with a button to change some aspect of the level
(2 marks). Button should change its visual appearance when pressed (1
mark).
3 Cinemachine Camera follows ball in this level, which must be bigger than a single screen (1 mark). Camera looks ahead of ball's movement direction (1 mark). Camera is correctly bounded within the level (1 mark).
Level 8 – Chasing Enemies 6%
2 Enemies Seek the ball (1 mark). More than one enemy (1 mark).
4 Visual Style Enemy graphics rotate towards the ball (1 mark). Enemy changes colour or changes appearance when they are close to the ball (1 mark). Enemies have trails that change colour when they are close to the ball (1 mark). Enemies explode when they touch the ball (and this causes the level to reset) (1 mark).
Level 9 – Free Choice 6%
2 Playability  
2 Uniqueness  
2 Functionality  
Level 10 – Free Choice 6%
2 Playability  
2 Uniqueness  
2 Functionality  
StatusReleased
PlatformsHTML5
Authorutas_thomas
Made withUnity

Leave a comment

Log in with itch.io to leave a comment.