I'm in school getting a master's degree, and part of my research uses cellular automata. The current programs I use were all made by a few guys twenty years ago (literally), so they're hard to work with and have some issues (that won't ever be fixed, because the guy who made the program isn't coding anymore). I'm trying to make a cellular automaton in Unity. I need to be able: i. To set up time to progress in iterations, rather than continuously, 1. to make a grid of variable dimensions 2. with three shapes: a rectangle (all sides closed), a cylinder (so something at one side would jump to the opposite side, but top/bottom or left/right would be closed), and a torus (all sides open like the cylinder), 3. with each point or node on the grid holding an "agent" able to be one of several "states" (represented by colors), with the change between states per iteration defined by a probability (p=0.25 for A to B, p=0.25 for A to C, p=0.50 for A to A 4. with each agent on the grid able to detect the state of the other points around it (Moore or von Neumann neighborhood), and able to update its probability values for state change based on those other cells/agents around it, 5. with each agent able to move to different spots on the grid based on both a random jump system, and some preferential system (such as a gravitational field), 6. with each agent able to join or break with others around it (based on some probability). I think that's everything. I. I'm not too sure about how I'll set up time in iterations, but I don't think it will be super hard. 1. I've had some trouble finding a decent grid system. This looks like it might be useful. 2. Setting up the shapes is probably easy, but I don't have any idea how to go about it. 3. This seems like it will be very simple to do, though I have no experience with using probabilities in Unity and its RNG. 4. Absolutely no clue how this will be done. None whatsoever. 5. Same as above. Interaction between different parts of a grid seems very hard. 6. Probably not too hard, as long as one can do 4. I realize I'll probably have to do most of this myself, but can anyone help me out with any of this at all? I would really appreciate anything anyone can offer.