Fish Schooling
A Fish Tank Simulator
The Project
Fish Schooling was a Midterm project I did in my People Games and Social Simulation Class in the Fall of 2018 at NYU. The prompt was to create a system with a lot of actors that can interact with each other in an emergent and non scripted manner. As part of the project it was requested that we use some sort of Character Creation UI to serve as an introduction to the player to the behaviors and the variables of the system.



Scope and Seeming Simplicity
When we first got this prompt I had a completely different idea centered around a fantasy royal ball with different countries and religions vying for political pull. Given the few weeks we had for the project, as well as my other obligations at the time, I quickly realized that was way out of scope as proven by my early issues trying to code that system. I needed something expressive without the extent of cases and variable my original idea had, especially since my idea would likely require some sort of parley mechanic.
​
My idea to do a fish tank came from when a friend asked if the agents "had to be people?" Fish interact with each other, they school and prey upon one and another. So I started laying out my variables and selected a few base ones to worry about; Size, Energy, Awareness, and Hunger, which were the bare minimum I needed for the fish to swim at different speeds and eat each other. As I worked I kept adding more variables to and more complexity to the interactions making some fish not Independent enough

to swim alone and giving fish a Vibrance that can make them stand out. If the deadline didn't come as soon as it did I probably would have kept adding on to it, likely moving onto randomizing the variables of the plants next.
​
Needless to say there were a lot of bugs, and I don't think I have done as much pure math in coding in a while. A fish tank had seemed like a very approachable task, but, as happens too often, the task proved more challenging then I originally though. Still I really enjoyed the project and had a lot of fun bringing expressiveness out of a collection of numbers.
​
All in all, it became a very relaxing and therapeutic game, one that you don't even really need to play but is just calming to watch.