I have also been working on something very similar-- a sort of virtual terrarium-- yes? I personally have just been using custom movement behavior and creating boxes that I can set to invisible of varying sizes that are always set to the x and y of each creature to mimic line of sight-- I find it more useful for actually seeing at what point a creature will flea or attack--
To actually get it to seem like the creatures are "thinking" I recommend using private variables-- hundreds if you need to-- variables for how hungry they are, how much energy they have before they need to sleep, how safe they feel-- just for everything, and then make them behave based on what that variable is!