Mouse to aim, press or hold left mouse to fire the ball. Try to complete every level by reaching the goal. Don't resize window at all

Everything from the specifications besides level 3 has been completed

- music from NAOKI, title is Ups and Downs, slayers theme from the guilty gear strive soundtrack: NAOKI 2024, Ups and Downs, YouTube, viewed 7 June 2024

- used chatGPT for help with coming up with ways to draw aiming line for player, I cannot link to the chat log as I was not logged into an account when I did it so it didn't save

The following code located in the DrawLineBetweenPoints script is what it helped me with:

        Vector3 mousepoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        mousepoint.z = 0f;

        Vector3 direction = (mousepoint - point1.position).normalized;

        Vector2 dividedPoint = point1.position + (direction * 2f / refScript.maxDuration * refScript.clickforcetime); //mainly this line

        mousepoint = mousepoint / 2;

-got  help from a forum on how to apply force in direction of mouse:

Unity Technologies 2017, Adding force in the direction of the mouse, Unity Discussions, viewed 7 June 2024, https://discussions.unity.com/t/adding-force-in-the-direction-of-the-mouse/20059...

- used code from a brackeys youtube tutorial for aiming missiles:

Brackeys 2017, How to make a Homing Missile in Unity, YouTube, viewed 7 June 2024

- sound effects made in jsfxr

Specification table:

Core Functionality (all levels) 20%
DoneBall aiming and shooting

Shoot towards mouse, or pull back. Shot strength depends on how long you hold down the mouse button for. Ball is shot once button released. 

DoneBall aiming line

Line shows direction of shot. Line length represents shot strength.

DoneBall sunk

When the ball collides with hole, show end of level text (if implemented), then move to next hole (if no end of level text, then wait for 2 seconds before moving to next level).

DoneBall reset Ball resets when offscreen.
DoneBall stopping

Ball stops moving when touching ground and at low speed. 

Extra Functionality (all levels) 16%
DoneVisual style and feel Game is aesthetically pleasing, and levels play well.
DoneTurbo boost Hold space, makes ball speed 2x faster, limited for 0.5s per use.
DoneDivot particles When ball is shot, a suitable particle effect is shown.
DoneTrail Changes colour when turbo on (if implemented) (1 mark).
DonePost-processing Effect (or effects) matches overall visual style of game.is aesthetically pleasing, and levels play well.
DoneSound effects

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

DoneMusic

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

User Interface (all levels) 18%
DoneTitle 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 (4 marks).
DoneIn-game UI Total shots (1 mark), current hole shots (1 mark), current hole number (1 mark) and par for this hole (1 mark).
DoneStart of level text Display a message for 2 seconds: hole number (1 mark), brief description of that level's mechanics (1 mark). Animated (1 mark).
DoneEnd of level text Display a message for 1.5 seconds after sunk (1 mark). Message should be from a random set ("well done!", "great!", "weird!") (1 mark), plus how far over par they are using terminology in the following table (2 marks). Animated (1 mark). 


Over/Under Par Text
<2 under X Under Par
2 under Eagle
1 under Birdie
0 under Par
1 over Bogie
2 over Double-Bogie
>2 over X Over Par

Level 1 – Default 2%
DoneFunctionality Simple level with no modifications.
Level 2 – Black Hole 3%
Done
Functionality Sucks the ball towards it (1 mark), and is fun to play (1 mark).
Done Visual style Uses an appropriate particle system OR sprite-sheet animation.
Level 3 – Maze Level + Cinemachine 6%
Not FinishedTilemap Level is created with a Tilemap.
Not FinishedCinemachine Camera follows ball in this level (1 mark). Camera looks ahead of ball's movement direction (2 marks).
Level 4 – Doorway Triggered by Hits 5%
Done Doorway Disappears after being hit 3 times by the ball.
Done Visual Feedback Doorway gets redder and redder on each hit..
Level 5 – Checkpoints 5%
Done Checkpoints Disappears after 3 checkpoint objects have been triggered.
Done Visual Feedback Each checkpoint changes coloured after being hit.
Level 6 – Doorway Triggered by Tripwire 4%
Done Doorway Disappears when another object (NOT the ball) intersects the tripwire (1 mark). Reappears if the object is no longer intersecting the tripwire (1 mark).
Done Visual Feedback

Line renderer representing tripwire (1 mark), and changes colour when tripwire is intersected (1 mark).

Level 7 – Sticky Walls 3%
Done Ball stops moving when it hits a wall
Level 8 – Homing Missiles 6%
Done Turret Aims at player (1 mark). Fires rockets when player is near (1 mark), once every second (1 mark).
Done Missiles Seeks the player (2 marks). Graphics rotate toward the player (1 mark).
Level 9 – Free Choice 6%
Done Playability  
Done hopefully Uniqueness  
Done Functionality  
Level 10 – Free Choice 6%
Done Playability  
Done
hopefully
Uniqueness  
Done Functionality  

other notes:

- avoid the red (level 10) didn't take too long, added some color changing to make it on par with the other levels (at least the checkpoint and door hit ones)

- on sticky walls, you will occasionally slip off them due to clipping the hitbox and moving out of it. This isn't the walls not being sticky, you were just going to fast

- You can get stuck on the black hole level, I've tried to make it as foolproof as possible, but considering it was in the example game aswell, I'm not working on it further

- you can only get stuck on the two black holes not in a wall, as the third lets you shoot yourself out of it

- Didn't do level 3 because Don't wanna

- Missiles don't do much to the player when they land, is intentional as nothing in rubric mentioned knocking player away from goal or resetting them

- bloom is chosen post processing effect, applied to the whole game

- I think it looks neat and aesthetically competent, at least I prefer it over the example game



StatusReleased
PlatformsHTML5
Authorpatttriple
Made withUnity

Leave a comment

Log in with itch.io to leave a comment.