To make things interesting, a certain number of lookup table entries are randomly mutated in the offspring. A replicator's lookup table determines its movement behavior at each time step. The replicators choose which lookup table entry to use by sensing their environment for food, and by remembering their previous move. The other directions are analogous to these two examples. Consider the example of a 16-facing replicator at the X above.
Food energy is removed from the grid when replicators eat.
If two replicators are on top of the same food cell, the replicator first in the stack eats first. It's such a simple program right now that there are many ways to go. There's also information overkill in that not all 1024 lookup table entries are equally useful. Sexual reproduction is definitely something to put in at some point, but not until there's a way for interesting phenotypes to be selected. I've thought of neural nets, but they make things slow.