For people who want to build a stand-alone virtual agent, check out Elckerlyc:
http://elckerlyc.ewi.utwente.nl
It’s an open-source ‘behaviour realizer’, which basically means that you feed it BML (Behaviour Markup Language, which includes speech and accompanied behaviour) and it will perform it with the virtual character. It is specifically designed for continuous interaction, which means that it can stop and modify behaviour that is currently being played on the fly. Also, it includes a physics engine, which means that for example gestures affect the rest of the body as well.
~Mark tM