An update of the abm_grid class is now available on GitHub: https://github.com/maartenteaches/abm_grid . The abm_grid class is intended to be used by people who want to create an Agent Based Model (ABM) on a square grid (like a chessboard) in Mata. An ABM is a simulation in which agents, that each follow simple rules, interact with one another and thus produce an often surprising outcome at the macro level. The purpose of an ABM is to explore mechanisms through which actions of the individual agents add up to a macro outcome by varying the rules that agents have to follow or varying the environment in which it lives.

Implementing a new ABM will always require programming, but a lot of the tasks will be similar across ABMs. For example, in many ABMs the agents live on a square grid, and can only interact with their neighbors. abm_grid contains a set of functions that will do tasks like finding neighbors, adding, moving, and removing agents, etc., and someone can import them into their own ABM. I presented various examples at the last German Stata Users' meeting: http://www.maartenbuis.nl/presentations/munich19.html

This update adds functions for finding cells on a straight line between two cells and the distance between two cells.

I hope some of you will find this useful.