I will present the inner workings of my Ruby algorithm, called HysteriaEngine, which uses personality profiles to generate human-like behavior for an agent, in this case a bot that plays in UnrealTournament2004. I will cover the stack needed to run the bot, using Ruby on top of a little Java, but primarily I will deconstruct the algorithm that generates the commands that drive the bot, code structure decisions in designing the algorithm, and the complexity involved in generating human-like behavior.
I will also touch on some of the obstacles of TDD-ing a stochastic model that often has purposefully unpredictable results.
Casey Rosenthal is Chief Software Engineer for Port Forty Nine, currently working for NASA, Caltech, and JPL to engineer systems for storing and disseminating the image archives of space telescopes such as Hubble, Spitzer, Chandra, etc. He is writing a chapter on using personality profiles in artificially intelligent bots for an upcoming book titled “Believable Bots,†to be published in late 2011