Walter's World
Home Page

Games I've Created


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.

    Copyright 2010