I continued where I left off, trying to come up with a new simulation model that would take advantage of SpatialOS’s design. The frustrating thing is that I can easily come up with solutions that would work great: city simulation, ant colony simulation, crowd simulation, etc. But these are huge undertakings in terms of developing the behaviour of the agents themselves, let alone the performance analysis I wish to conduct on the system. The limitation of having to have agents which are entirely self-sufficient, or at most only depend on their immediate vicinity, means that simulations of this type would usually have complex behaviours of the agents, which will take far too long to implement. This was why the n-body simulation was initially chosen, for its simplicity to implement. Unfortunately, the issues encountered were hard to predict.
I spoke with my supervisor, Ruth, about my findings and problems. She agreed that it would be a good idea to look for a different simulation model. It was suggested to investigate the diffusion-reaction simulation, specifically the Gray-Scott algorithm. This simulation, usually performed on a GPU, uses texture data where each pixel looks at the neighbouring pixels. This is perfect for the SpatialOS platform as there is no reliance on data from objects in distant parts of the world. There is no need for a manger if each cell is responsible for its own neighbour searching. It was suggested to look at an existing implementation which is given in GPU Gems 2