This is currently implemented as an XML stylesheet template, with parameters coming from a Java servlet connected to an SQL database. The code is open source and platform independent. It is able to sustain conversations with individuals, groups, or other AI packages.
More specifically:
Client side: this is an applet running in a browser frameset, which uses realtime-3D (specific plugin TBD). The applet grabs an XSL template off the server, which represents a character. The applet takes input from the user (e.g., "Hi, how are you?"), and transacts little bits of XML with its server (basically, SOAP). Applying parameters from the server response, the applet uses the template to generate HTML, and inserts that into browser frames: SWF for looping audio, X3D for animation, and text response ("Just fine, thanks.") representing the character.
Server side: a Java servlet manages sessions, using XML for transactions, then calls stored procedures in an SQL database. All the data is in XML: character personalities, AI rules, natural language grammars and dictionaries, etc. All multi-lingual, open source, purely XML, Java, SQL, depending on the layer involved. The Java and SQL is structured to be multi-threaded, so it can scale from open source platforms up to a big server farm running something like Oracle Application Server.
|