0702 Final Project: JellyFish

✔️Final Project Blogpost


Unity Reflection

JellyFishDemo | Tool Used _ Unity & Maya

For my final project, I created JellyFish. JellyFish is a 3D based, first person controlled, fishbowl game. Player will be able to collect bullets through colliding with undersea creatures, and kill all four squids by shooting 5 bullets continuously.

For the game control, it is similar with the Tailwind Level Design; mouse for the direction it faces, WASD (⬆️⬅️⬇️➡️) for moving, and space button for shooting.  In order to indicate the collectible's position, I put a purplish spotlight above each of them. The JellyFish will receive 10 bullets for each creature, and lose 2 bullets each time colliding with the squid. The squid will also attack the fish by spraying the ink and the screen will become invisible for 3 seconds.

 

Squid Code

I used Sin wave to make the squid move naturally & give each of them a variable to avoid them all move identically.

Each squid has a recoverable life. If player has stop shooting the squid for more than 3 seconds, the squid will recover to its original life status.

The more bullets is shot, the more reddish the squid will be.

Squid Movement

Squid Recoverable Life

PostProcessing

In order to make it more underwater feeling, I applied many effect through PostProcessing, including Bloom (with blueish & purplish color), vignette, lens distortion (fish eye lens), and Grain.

 In terms of the UI, I create two different scene for the Start Button in the main menu, and the Restart Button, which will be shown when the game is ended. Each time either button is pressed, the scene will transit to the gameplay scene. During the game, there will be Bullet number (how many bullets you currently have), the Squid number (the number of squid you still have to kill), and the timer (countdown from 60 seconds).

Start Button UI

UI During Game

After my user testing, I took off the scaling effect for the fish. It was originally designed to scale up when collecting the bullets and scale down while shooting or colliding with the squid. Another mechanism I changed is the game control. The fish used to be controlled with the mouse. The fish will move toward the direction where the mouse move to. However, it came out really dizzy and very hard to be control. So I decided to separate the vector and the movement.

JellyFishPrototypeDemo | Tool Used _ Unity & Maya

 

Through this project, I get more familiar with Unity, especially writing in c#. I found most resource from the internet, but I did learn a lot from looking at their code. I also have a better debugging skill after this project. If have more time on this project, I would like to add sound effect and refine the PostProcessing. Also, I would like to write a shader for the fish, so it can be swimming as a real fish rather than moving as a mesh. I would also add water texture and create a collider for the fish bowl, because currently the fish can be moved out from the fishbowl.