We represent a number of animals using a fixed-membership multiple-instance submodel (it is easy to make it into a population submodel, if you wanted a dynamically-varying population). Each animal has got three state variables, representing its current x,y coordinates and the direction it’s going. Its direction changes slightly from one time step to the next, and this, along with its speed is used to update its position. Each animal is constrained to stay within the area.
We can visualise the animals’ movement using any display tool that can plot x,y values: here I've used the lollipop helper, in plane projection.