Captain-Cook is a Unity-based game developed as a university project by a team of students. The challenge in this game is to cook the meals required to survive the evil crew of pirates that have captured you. You can also navigate the ship with realistic physics which depend on the wind speed and direction.
The ship is pushed forward by the wind and the player can control its rotation with realistic inertia.
Objects on the ocean float realistically, like barrels and even the ship with all its parts. The objects follow the waves pattern.
Accurate particles system on different areas of the game like the smoke on the grill or on the attacked ship.
Food items are categorized in cookable and non-cookable, with the cookable items being cooked/burnt based on the time they are placed on the grill. Some items can also be cut in new forms, that could help the player create the recipes.
The player can move around, jump and interact with different objects. The player can also pick up and drop items.
Generated waves mesh using Octave technique, with a random speed, height, scale. The mesh is generated at runtime, with user selected parameters for width, height and cell size. The mesh is moving like real waves, using the octaves.
The shader for the ocean incorporates many effects that make the ocean look realistic. It uses two water colors, fresnel effect that makes the water appear different based on perspective, moving normals and foam where objects are floating.
The sand shader creates a realistic sand texture for the bottom of the ocean. It uses two colors, which are blended to create a good effect.
We have three levels, each with a different sky, the last one also containing a realistic fog effect, which is changing during the level at random times. The sun is creating realistic shadows for all the objects, mainly on HIGH graphics settings.
The post-processing improved the general quality of the game, by adding relevant effects like blur, bloom, brightness, saturation which are connected with the weather.
The Boid Flocking AI is used to simulate the group behavior of entities, in our case fish. It follows three base rules:
- Separation: The fish avoid each other.
- Alignment: The fish try to match the velocity and direction of the fish in their group.
- Cohesion: The fish try to match the center of mass of the fish in their group.
Other pirate ships can be seen navigating towards the target enemy ship. When they reach the destination, sound and particle effects of a battle are played. The ships avoid obstacles, like the main ship or rocks. This is done using the NavMesh component.
Each time a recipe is generated, a client NPC will be spawned behind the last client in the queue. The NPCs are waiting for their recipe to be finished. When they receive their cooked recipe, they enter a new state and exit the queue, walking back. In that moment, the other clients will move forward in the queue. This is done using NavMeshAgent and Animator.
To get started with Captain-Cook:
- Clone the repository:
git clone https://github.com/wood11nho/Captain-Cook.git
- Open the project in Unity.
- Navigate to the Main Menu scene and hit play to start the game.
This project is licensed under the MIT License.