Controls and Goal

Hold Z to raise the left paddle, hold / to raise the right paddle. 

Hold space to pull back the pin. Release space and it will spring forward, launching the ball if it is in position. 

Press space when the ball is not in the launching chute and the ball will get a little speed boost! You can give it another speed boost when its trail stops being red. 

Press D to toggle the debug mode.

While debug mode is on, hold left click and the ball will follow your mouse!

Press escape in any level to return to the main menu. 

Press 1 through 0 while in a level to immediately load into levels 1-10. 

Finishing level 10 will take you back to the main menu. 

The main menu and level select screen are operated via mouse click.

Total score is carried between levels, but is reset on the main menu. 

Try to get as many points as you can, and have fun!


References

The scripts responsible for the scene switching functions at the end of levels, via the number keys, and via the level select and continue buttons, were provided by Dr. Lindsay Wells during the course of the KIT109 course. (Wells, L., 2021.)

All other scripts were written by me using my own experience, referencing my past work in KIT109, and consulting the officially published Unity documentation. 

All sound assets were created by me for my previous Pong game assignment for KIT109. 

All visual assets were created by me using Paint.net and unity's built in assets. 

All other unmentioned pieces of this project are my own work. 


Features

Core Functionality

Ball Shooting: Hold space to shoot ball from launcher, ball is visible in scene prior to shooting, ball moves after space button released. Shot speed depends on how long spacerbar is held. Ball cannot be shot when not on the launcher, and ball cannot return down to the launcher area (unless using debug mode, in which case, the launcher chute will open again). If the ball goes up the chute but does not exit the chute and falls back down, the player can launch the ball again. 

Paddle Movement: Left paddle controlled with Z, right paddle controlled with /. Paddles rotate around a pivot near one side, rather than rotating around the center. Paddles have a slight animation to their rotation. Balls bounce off paddles correctly. 

Level Completion / Game Over: When lives = 0, you progress to the next level. 

Ball Movement: Ball resets to the launcher when it falls off the bottom of the screen. The number of lives is correctly reduced, starting at 3 lives. Ball does not reset on final life. Ball's rotational and regular velocity are reset upon returning the launcher after falling off the bottom of the screen. 

Debug Ball Placement: Player can toggle debug mode with the D key. When debug mode is on, the player can click on the screen and the ball will teleport there. The ball's speed and rotational speed are reset on teleport. 


Extra Functionality

Visual Style and Feel: Level Layouts match traditional pinball machine layouts. Paddles are rounded triangles.

Turbo Boost: Press space to give a speed boost once every 0.5 seconds.

Bounce Pads: Two bounce pads near the bottom of the screen with one bouncy side, one normal side, and an animated flash on collision with the ball. 

Trail: The ball has a trail, and it changes to red when boosting. 

Post Processing: Not implemented. 

Audio on Ball Collision: Ball makes sound on collision with solid objects, sound is randomly pitched each time. 

Music: Not Implemented.


User Interface

Title Screen with Level Select: Title screen with start button (loads level 1) and level select button (loads level select screen). Level select screen features a main menu button, which loads the main menu, and 10 numbered buttons, 1-10, each of which loads the appropriate level. 

In-Game UI: Displays current level number, current score with padded zeros, total score across all levels with padded zeros, current lives as images of balls, debug state is displayed in text. Score change is not animated. 

In-game bonus UI: All completed levels with bonuses display animated "typing" text when the user earns a bonus. The text displays how many bonus points they got. 

Start of Level Text: Text is animated and "types" an intro message for 3 seconds with the level number and a brief description of the level's mechanics. 

End of level text: upon reaching 0 lives, animated text "types" a random (from a set of 10) end of level messages, as well as the player's score. Lasts for 1.5 seconds.


Level 1

Basic Bumpers: Simple levels with three bumpers which gives points to the player and animate (turn green briefly) on collision. These bumpers are in fact in all levels. 


Level 2

Functionality: Black holes suck the ball toward the center (ball cannot get stuck in black hole). 

Visual Style: Black hole is appropriately represented by particle system of purple particles being pulled toward the center of the black hole. 


Level 3

Cinemachine: Camera follows the ball, looks ahead of the balls predicted movement, and the ball speed is limited to a sensible value. 

Hidden Bonus Item: There is a hidden bonus item that triggers animated bonus text and bonus points the first time it is hit. 


Level 4

Three Hit Bumper: Player earns a bonus after hitting a special bumper 3 times. Bonus displays animated text and grants bonus points.

Visual Feedback: Bumper gets redder with each hit, up to a maximum of 3. 


Level 5

Checkpoint Bumpers: Player earns a bonus after hitting 3 checkpoint bumpers. Bumpers must be hit in numerical order to get a bonus. Bumpers are numbered. Bumpers reset after bonus is granted.

Visual Feedback: Each checkpoint changes colour after being hit. Checkpoints have their number on them. 


Level 6

Not implemented.


Level 7

Not implemented.


Level 8

Spawn Extra Ball: Colliding with bonus objects in level spawns extra balls. More than just 1 bonus ball pickup in level. 

Bug-Free: Lives are only lost if all balls are lost, ball resets only when last ball is lost, only one ball resets, score functions as expected, debug functions as expected. 


Level 9

Not implemented.


Level 10

Not implemented.




Leave a comment

Log in with itch.io to leave a comment.