From interrupt lookup tables to event processing queues, code is often kicked off in more ways than RUN. Today’s podcast talks about Tidepool events and rules, which allow you to specify all manner of custom actions whenever certain conditions occur.
A few examples: “when someone says meep, jump in the air and say meep too”; “When someone comes near, run away”; “When someone clicks on you, change your animation to “Frightened Fox”.
Tidepool has a message dispatcher that routes all changes between players through the Storymill server. Whenever a change arrives, agents in the same story need to check their rules to see if one them needs to be fired. For example, when player @teefal presses the W key to move forward, agent #happyFox needs to check how far it is from @teefal. If @teefal is “near” (perhaps 2 meters away), then #happyFox fires off the “run away” rule.
One of the reasons I built my own game engine is so I could customize this nitty-gritty stuff, allowing me to make the programming language intrinsic to the game environment. I’ve got very specific ideas on how I want to teach programming to children. Having my own engine lets me get creative and do non-standard things.