Who is Walter
Walter is a 'virtual' person living in a compiled program named 'Carolina.exe'. Born May 31, 2010, he is
'under construction'. Designed by myself, Walter is software experiment to produce a 'smart' chat bot.
Technical Details
Carolina.exe is a Windows based program written in C++ using Visual Studio 2008. Graphics are limited for the present
to a console display. Carolina.exe is a multi-threaded application.
Main thread - spawn other threads, manages keyboard input and display output
Bot thread - manages simulated physical, mental, and emotional characteristics of Walter and manages his movement throughout the virtual world
Chat thread - manages communication with a human via a simulated 'text message' format and posting updates on Twitter.com
Thinking thread - manages thought process, awake and sleeping, and provides the 'will' to converse and to act within the virtual world
World thread - manages the virtual world, world objects and creatures, and environmental conditions
Main program specification (PDF) download here.
Interface between threads and data management is controlled by the CData class. Measures are taken to ensure that multiple threads do not write to the
same data variables at the same time.
Milestones
The leap from 'starting from scratch' to creating a smart chat bot is monumental. Therefore the chat bot design objectives are scaled
down to ensure some degree of success. Following are a list of objectives in no particular order.
Construct basic multi-threaded structure to support development of Walter.
Build a 3D virtual world containing objects (things and virtual creatures).
Access live world data to feed virtual world (e.g. weather forecasts).
Design Walter to operate in various physical states (i.e. walking, standing, running) using environmental information and decision making for transitions between states.
Construct system interface to allow the user to command and receive information from the application via commands.
Implement exploratory and investigative curiosity behavior in Walter.
Create simulated vision system to tie the virtual world with Walter's perception.
Create basic system of 'will power' to allow Walter to select places to explore and objects to investigate.
Twitter
Occasionally Walter 'tweets'. You can follow Walter at Walter's World. I'm hoping to make the
tweets more spontaneous and informative to Walter's followers.
Follow the Project Development
I'm posting updates regularly at the CHATBOTS.ORG forum. Come by and visit.
|