The basic controls, and goal of the game

1.  hold on the mouse left button

2. drag the mouse to the target

3. release left button to move the ball

 list of sources
├── New\ SpriteShapeProfile.asset     // SpriteShape  
├── Prefab
│   ├── BlackHole.prefab             // back hole prefab for level2
│   ├── Box.prefab                   // box prefab for level 9
│   ├── Canvas.prefab                // canvas for all levels
│   ├── Explosion.prefab             // a particle effect for ball
│   ├── Goal.prefab                  // the foal for all levels
│   ├── Player.prefab                // the ball
│   ├── levelButton.prefab           // a level in title
│   ├── rock.prefab                  // a rocket for level 8
├── Resources
│   ├── Cosmic_25.png                // black hole image
│   ├── TileMapMat.mat
│   ├── Walls.png                    // wall image
│   ├── Walls_0.asset
│   ├── Walls_1.asset
│   ├── Walls_10.asset
│   ├── Walls_11.asset
│   ├── Walls_12.asset
│   ├── Walls_13.asset
│   ├── Walls_14.asset
│   ├── Walls_15.asset
│   ├── Walls_2.asset
│   ├── Walls_3.asset
│   ├── Walls_4.asset
│   ├── Walls_5.asset
│   ├── Walls_6.asset
│   ├── Walls_7.asset
│   ├── Walls_8.asset
│   ├── Walls_9.asset
│   ├── line.mat                    // a material for line in level 6
│   ├── tank.png                    // a tank image for level 10
├── Scripts
│   ├── AmingLine
│   │   ├── AmingLine.cs            // control a amingline 
│   ├── BlackHole
│   │   ├── Attract.cs              // attract ball
│   │   ├── Rotate.cs               // rotate self
│   ├── Door
│   │   ├── ChangeActive.cs         // change state
│   │   ├── CheckPoint.cs           // when ball shot the gameobject, change the check point states
│   │   ├── OpenDoorAfterCheckPoint.cs // open door when all check points are shotted
│   ├── Lib
│   │   ├── ChangeTransform.cs       // change rotation
│   │   ├── LevelInfo.cs             // sotres par info and star text
│   │   ├── RecoverPosition.cs       // recovery position when OnBecameInvisible
│   │   ├── ScenseSwither.cs         // switch scense
│   │   ├── UnitySingletonPersistent.cs  // single instance
│   ├── Manager
│   │   ├── BoxManager.cs             // box manager for level 9
│   │   ├── GoalManager.cs            // control start, end screen  and the available of the ball
│   │   ├── GradeManager.cs           // stores total and current shots
│   │   ├── UIManager.cs              // control uis
│   ├── MovementScripts
│   │   ├── Flee.cs                   // flee the ball for level 10
│   │   ├── Mover.cs                  // the base scripts copying from tutorial sources
│   │   ├── Seek.cs                   // seek the ball for level 8
│   ├── Player
│   │   ├── BoostMode.cs              // change the ball speed
│   │   ├── Move.cs                   // move the ball when release the mouse
│   │   ├── MoveAhead.cs              // move ahead for level 3
│   │   ├── MoveFromTank.cs           // move from tank for level 10
│   │   ├── PlayerControl.cs          // control ball
│   │   ├── SoundEffect.cs            // play sound effects
│   │   ├── Sticky.cs                 // sticky the ball
│   ├── Title
│   │   ├── CreateLevelSelection.cs   // create level selection in title screen 
│   │   ├── Manager.cs                // signal instance for saving shots and playing music
│   │   ├── SceneSwitcherKeys.cs      // base project
│   │   ├── SelectLevel.cs            // select a level
│   ├── Turret
│   │   ├── FollowPlayer.cs           // follow the ball in level 8
│   │   ├── Spawner.cs                // create a new rocket in each seconds
│   ├── UI
│   │   ├── TripWire.cs               // a line for level 6
├── Sprites
│   ├── TerraTiles01.png
├── _BaseStructure
│   ├── Level10_FreeChoice2.unity
│   ├── Level1_Default.unity
│   ├── Level2_BlackHoles.unity
│   ├── Level3_MazeCinemachine.unity
│   ├── Level4_BreakableDoor.unity
│   ├── Level5_Checkpoints.unity
│   ├── Level6_TripewireDoor.unity
│   ├── Level7_StickyWalls.unity
│   ├── Level8_HomingMissiles.unity
│   ├── Level9_FreeChoice1.unity
│   ├── Main\ Camera.prefab
│   ├── Title.unity
├── ball.physicsMaterial2D           // bal  material
├── music
│   ├── 1.mp3                       // collision effects 1
│   ├── 2.mp3                       // collision effects 2
│   ├── 3.mp3                       // collision effects 3
│   ├── 4.mp3                       // collision effects 4
│   ├── Voice_bg.mp3                // bg 1
│   ├── bg.mp3                      // a music
│   ├── effect1.mp3                 // shot effect


 A list of features

* [ x]   means finished

* [ ]    means not achievement

* [ x] Core Functionality
    * [x] Ball aiming and shooting
    * [x] Ball aiming line
    * [x] Ball sunk
    * [x] Ball reset
    * [x] Ball stopping

* [x ] Extra Functionality
    * [x] Visual style
    * [x] Turbo boost
    * [x] Divot particles
    * [x] Trail
        * [x] change color in boost mode
        * [x] normal mode
    * [x] Post processing
    * [x] Ball shot sound effect
        * [x] Sound played when ball shot (1 mark)
        * [x] Pitch of sound is slightly random each time OR chosen randomly from a set of sounds (1 mark)
    * [x] Music
        * [x] Music plays throughout whole game (1 mark). 
        * [x] Music doesn't stop or restart when level is changed (1 mark).
* [x ] User Interface
    * [x] Title screen with level select
    * [x] In-game UI
        * [x] Total shots (1 mark), 
        * [x] current hole shots (1 mark), 
        * [x] current hole number (1 mark)
    * [x ] Start of level text
        * [x] Display a message for 3 seconds: 
        * [x] hole number (1 mark), 
        * [x] brief description of that level's mechanics (1 mark) and 
        * [x] par for this hole (1 mark). 
        * [ ] Animated (1 mark).
    * [x ] End of level text
        * [x] Display a message for 1.5 seconds after sunk (1 mark).
        * [x] Message should be from a random set ("well done!", "great!", "weird!") (1 mark)
        * [x] plus how far over par they are using terminology in the “End of Level Text” table below (2 marks).
        * [ ] Text is animated in and out (1 mark).
* [ x] levels
    * [x] Level 1 – Default
    * [x] Level 2 – Black Hole
    * [x] Level 3 – Maze Level + Cinemachine
        * [x] Tilemap
        * [x] Cinemachine
            * [x] Camera follows ball in this level
            * [x] Camera looks ahead of ball’s aiming direction
            * [x] Camera looks ahead of ball's movement direction
    * [x] Level 4 – Doorway Triggered by Hits
        * [x] Doorway
        * [x] Visual feedback
    * [x] Level 5 – Checkpoints
        * [x] Doorway
        * [x] Visual feedback
    * [x] Level 6 – Doorway Triggered by Tripwire
        * [x] Disappears when another object (NOT the ball) intersects the tripwire (1 mark)
        * [x] Reappears if the object is no longer intersecting the tripwire (1 mark).
        * [x] Line renderer representing tripwire, and changes colour when tripwire is intersected.
    * [ ] Level 7 – Sticky Walls
    * [x ] Level 8 – Homing Missiles
        * [x] Aims at player
        * [x] Fires rockets when player near is near every second (2 marks)
        * [x] Seeks the player (1 mark)
        * [x] Graphics rotate toward the player (2 marks).
    * [x] Level 9 – Free Choice
        * [x] box drops from the sky
    * [x] level 10
        * [x] goal flees the ball
        [tank](https://www.dreamstime.com/illustration/cartoon-tank-war.html)

StatusReleased
PlatformsHTML5
Authoriubuntu
Made withUnity

Leave a comment

Log in with itch.io to leave a comment.