Have two types for world: a regular world, and a dirty world, with potential conflicts.

From a clean world, generate a dirty world by applying moves (in parallel).

From the dirty world, generate a clean world using a conflict resolving projection.

Such a projection could involve bidding, bouncing the fishes off each other when they collide, giving stochastic priority to some fishes, etc.

On Jun 9, 2014 10:26 AM, "O Frolovs" <ollie.frolovs.2012@my.bristol.ac.uk> wrote:
Hello

I am trying to write a predator-prey simulator and I have hit the wall with functional design. I would appreciate any help or pointers to relevant literature.

The simulator is that of a world populated with fish and sharks. It is a discrete-time multi-agent simulation and what I am struggling to think about is how to implement the illusion of parallelism in simulation. Since the problem is not specifically with OCaml (but the simulator is in OCaml), I have kept this email short and put all the details and the code on GitHub:

"On the subject of Toroidal Planets, Sharks and Fish."
https://gist.github.com/olliefr/fb26ca3a7645dae7e203

It's only a hobby project, but it is of some interest to me, so I would really appreciate any advice.

Best regards,

Ollie