Group 27
Kenny Zheng
Yeon Taek Jeong
Ishan Sharma
Nikhil Swaminathan
Deven Agrawal
============================================================================
Project description: Our project is an interactive aquarium game where the goal is to have as much money as possible before the time runs out. Each fish that is present in the tank will generate income, but to keep the fishes alive, the player must spend his/her money to buy food and feed them.
To choose where to place fish food, a red crossmark is shown on the ground. This can be moved by using the controls IJKL as shown in the control panel. (2) button will drop the fish food and decrement the number of fish food the player has in the top-left corner. The wooden tank cover at the top will open, and the food will be dropped after a brief moment. The fish near the food will move towards it and eat it.
To purchase more fish or food, the menu can be opened by pressing (1) or clicking the button in the control panel. Different types of fishes will generate different amounts of income. Purchasing plants will add a multiplier to your income.
To look at the tank from a different perspective, the camera can be rotated 90 degrees in the control panel, or the player can choose the free camera perspective.
The game also has a (0) button to toggle between ground with sand and plain ground with shadows. Shadows will help aid the player with their perception of depth, so they can place the fish food at their desired location more accurately. Ground with sand (bump mapped) will hide this aid.
============================================================================
How to run the project:
Download all project files
Run 'host.command' if you're on Mac, 'host.bat' if you're on Windows.
Open http://localhost:8000 on web browser (Note, the address may vary)
Basically, open and run the project just like the instructions in previous assignments.
============================================================================
Advanced Features (we have extra one):
Scene Graphs (fishes),
Collision Detection (fishes, fish food, tank),
Shadows (fishes, fish food, and plants),
Physics in Graphics (gravitational fall of fish food in air and water),
Bump Mapping (fish tank ground)
============================================================================
Who worked on which features of the project:
Kenny - Scene Graphs for the fishes, Collision Detection of fish, tank, food
Yeon Taek - Shadows of the fishes and plants, physics of fish food dropping into water
Ishan - Game Logic, Camera Rotation + Aim logic, Tank Walls
Nikhil - Implemented fish death animation, where it floats to the top of the water
Deven - Bump mapping (the ground of the fish tank)
============================================================================
For reference, the project was developed on a different repository before being moved here: https://github.com/IshanSharma22/174A-Final-Project