Wednesday, 14 July 2010

Radegast and the A.L.I.C.E. bot

I wrote about the Radegast text chat client for Second Life and Opensim way back at the start of the year and it was pusblished on the Chaper & Metaverse Blog but now I am re-pubishing it here so I can pick up on recent developments I has a small hand in.




Radegast is a light weight text client that can connect to Second Life and Opensim grids. I have tried out a number of these clients but this one grabbed my attention because it is rock solid stable, packed with features quite apart from chat handling, and something extra which has proved to be a very useful tool. It has a plugin for the A.L.I.C.E. bot.

I was able to turn an avatar into an AI bot very easily which I thought might be useful on my Second Life sim as a greeter. More especially I wanted to program my bot to help and inform new arrivals. To this end I have to find the AIML files in the Radegast directory on my hard drive and edit them with what I want my bot to say. AIML script is actually a derivative of XML and is not hard to learn. Basically, I need to edit the definitions in the file's paterns (what the user might say) and templates (how the bot might respond). For example:

{category}
{pattern}TELL ME ABOUT YOURSELF{/pattern}
{template}{/template}
{/category}

I have read elsewhere that people have actually used the bot for other purposes and scripted LSL attachments to control the avatar which will be my next task. I would say the bot could do a lot more and certainly I would use it in my Opensim grid when I eventually set one up (maybe). In practice I found the bot can only respond to a visitor if they use the bot's name but if they IM the bot then it will engage in conversation without the name.

Given that Radegast is a light weight with no view of the 3D world, it certainly has more features than any others of this type I have seen. Here is a list:

  • Chat (local, IM, group, friends conference and voice in version 1.12)
  • Inventory (allows manipulation, deletion of the items, moving them around, sending to other people by dropping item on their profile)
  • Ability to wear/take off clothes and attachments from the inventory
  • Backup of all scripts and notecards from the inventory
  • World map (very fast implementation using Google maps)
  • Object finder - list objects nearby, sort them by distance, name, see details
  • List of all avatars in a region (radar), and those within 300m in nearby regions
  • Movement controls via arrow keys
  • Support for activating gestures from the inventory
  • Avatar appearance - others using 3D client will see you appear correctly, and will not be able to tell that you're using a text client
  • Streaming music

The fact it has a plugins button opens it up to more tools and features. One I suggested on the forums could be an AIML editor so the bot definitions could be worked on directly in the client and tested but I don't expect that to happen anytime soon. I did actually speak to Grant, the creator of MakeAiml, via his forum and he said he was interested in making a plugin and will look into it. MakeAiml can be downloaded from http://makeaiml.aihub.org/tutorials.php.  Radegast can also run the Looking Glass viewer from the tools menu if you download it. The client actually provides the chat and all the other features while Looking Glass renders the 3D world using Orge (see review of Orge elsewhere in this blog). Looking Glass is in alpha state and personally I see no use for it. For me Radegast's strong point is the bot which really doesn't need a full view of the world but it is interesting and yet another example of open source creativity in the free Metaverse community.
Images of Looking Glass with Radegast