Virtual Marine World Inhabited by Artificially Intelligent Fishes


Robert Moon

Oral Defence Date: 



TH 434


Profs. Ilmi Yoon & Professor Bill Hsu


This project focuses on the use of computer graphics and artificial intelligence to reproduce the movement, mental states, and behavior of fishes in their natural ecosystem. The fishes are autonomous agents that navigate a dynamic environment according to their own local perception. The fish reason about their environment. Using fuzzy logic, they follow their strongest desire to either mate, hunt, flee from predators, flock, spawn babies, or die. Craig Reynolds’ Steering Behaviors are used for individual and group (flocking) movement. The fishes’ individual movement is controlled by the following steering behaviors: Seek, Flee, Evade, Wander, Obstacle Avoidance, Wall Avoidance. The fishes’ group flocking movement is controlled by the steering force that is a combination of the following three forces: Separation, Alignment, and Cohesion. The fishes’ perception is an approximation of its environment and neighboring fishes created using Cell-Space Partitioning. The fishes’ behavior states are: Mating, Hunting, Fleeing from predators, Flocking, Wandering, Spawning babies, and Dying. The behavioral selection technique used to select a fishes’ state of being is fuzzy logic. Using fuzzy rule based inference, a crisp value of hunger or libido is fuzzified, then fuzzy rules are applied to these fuzzy values, and these fuzzy values are defuzzified to a crisp value that can be used in comparisons to determine what the fish wants to do. The video game engine Unity3D is used to handle rendering 3D graphics and handle all aspects of the project. The visual effects, movement, and behaviors are in real-time. Using the Unity3D physics engine, the Collider and RigidBody components of GameObject variables allow objects in the Unity Scene to be controlled in physics based interaction that is realistic and close to the natural world.


Artificial Intelligence, real-time 3D graphics, Behavioral states of Wandering, Mating, Hunting, Fleeing, Flocking, Spawning, and Dying. Fuzzy-logic for behavioral selection, Unity3D, Physics based interaction


Robert Moon