Koi Pond (WIP)


Koi fish pond built in Unity for a Virtual Environment. Koi fish responsively detect and avoid walls, seek out food, and reproduce. Koi fish offspring inherit the colors of their parents.

GitHub Repository

๐ŸŸ Koi Fish Pond ๐ŸŸ


Event Triggers

The Koi fish have gravity applied upon leaving the water, and taken off when entering back into the water


Swimming

The Koi fish will reorient themselves to face upright when being put back into water.

The Koi will avoid running into walls. This will be expanded upon in the future to give them multiple actions they can take upon first detecting a wall. For now they will just turn away from it.


Food

Spawn in food that can be given to the fish. Food gains gravity when dropped, and has a simple function to float when thrown into the water.

Feed the Koi and watch them grow. Koi will grow to a max size, which will then allow them to have offspring.


Swap Koi

Donโ€™t like the colors of one of the Koi fish? Swap them out for a new Koi with randomly generated colors.


Cook Koi

Feeling a bit more destructive? Throw the koi into the โ€œfireโ€ and cook them. The spawned in cooked Koi will be the same size as the fresh Koi was.


Shader

The shader is very early on and still a big work in progress much like everything else. This shader was built using a node-based shader creation tool called Amplify. The main goals of this shader are to give the fish two distinct colors, and a pattern that can be altered via propreity blocks in the C# code, and to give the Koi fish the appearance of wiggling in the water.


This gives the Koi a pattern with two distinct colors. Need to find an alternative solution to the noise generator as it is an unoptimized solution to creating a pattern.

This manipulates the vertices on the Koi based on a sin equation.

This manipulates the vertices on the Koi based on the Kois position in the world.

The end results of the shader so far.