This weekend I launched guided tours of the Basilique region. The thirty minute tours run continuously – 24 hours a day, 7 days a week – and cover every major sight at Basilique, complete with historical references, stories behind past residents and locations, and other interesting references to what visitors can do at Basilique. Julietford, one of my scripted agents (bots), delivers the tours.

Many visitors to Basilique have seen and interacted with Julietford (Miss Ford) since I “hired” her to staff Silky’s cafe. I set her up to do group invitations for a while, and she’s been largely responsible for helping Basilique grow, alongside her bot colleague Pnewman (Paul), who tends bar in various locations and is again doing initial group invitations.

I’m not an active traveller in Second Life – I tend to homebody at Basilique. My friend and fellow blogger Caitlin Tobias however tells me that she’s never seen a bot giving guided tours in Second Life, and she runs a Second Life travel blog. Could this be a first?

How does the tour work?

First, I planned my tour route. Below is a map of the route which shows the waypoints:

Basilique Tour Route.002

I then walked my tour – careful to avoid obstacles (including any people that might be following the tour guide!).

I recorded my coordinates for each waypoint, every turn (0 to 359 degrees), and every teleport. I also considered every pause between what she said and where she walked, to increase the likelihood of people be able to follow her regardless of their English level or their lag. I wrote the tour script, and edited it to best describe what the tour participant might be seeing and hearing from their perspective.

In total, I’ve programmed Juliet with 256 specific waypoints. For you computer scientists out there, there is nothing specific about the number 256, it just randomly ended up that way.

I can add more waypoints in the future. I can also add specific animations, sounds, and speech variants, but I wanted to keep things simple for version 1. Using SmartBots Waypoints Automation as a platform, I was able to use a handy web interface to program and troubleshoot Juliet’s actions.

Once I completed programming the tour, I tested her by following her around the tour about half a dozen times. I had to slightly adjust coordinates every time she’d fall into the lake, or get blocked by an object she couldn’t walk over or around. She still has some lapses (for example, if she’s pushed or blocked by avatars, she’ll typically seek alternative routes, which don’t always work out), but she has several failsafes built in now so that she can resume the tour at later waypoints if she gets lost.

After she reliably proved to deliver good tours, I gave her a full makeover. She now has a new mesh head (Logo Chloe), a new mesh body (Maitreya Lara) and new clothes from Blueberry and Maitreya. She’s not only smarter now, but also looks stunning!

Originally, I wanted to record the tour in audio, and have Juliet ‘speak’ it as she followed her route. Unfortunately, Second Life doesn’t allow avatar playable sound clips that are over 10 seconds long. A group member has since given me a suggestion on how to work around that by stitching 10 second clips together using MP3 Nibbler, so I’ll be looking into that option for version 2.

How do Basilique community members respond?

The feedback has been positive. Many regulars have noticed Juliet walking around and some have mentioned they learned a few things about the long and recent history of Basilique, and reasons for why the town is structured the way it is.

I’ve also received several unsolicited comments from new visitors saying they enjoyed the tour and wish there was more of this type of guidance in Second Life, for those who liked to learn more about the places they visit.

I will develop this tour further, and include more ‘human’ events, like perhaps some animations, voice, and emotes that reveal what Juliet is ‘thinking’ while giving the tours. Of course, she is still capable of interacting with visitors in IM, thanks to her smart and sometimes sassy AI.

In general, programming a bot this way is no different than how we scripted the thousands of events in Paradise Lost (the play and movie) and Romeo and Juliet 2.0 for LEA. For both, we employed more animation and considerably less dialogue, we set the events to music, and we used RLV for costume changing. The waypoints scripting however was essentially managed in the same fashion. The principles behind the stringing of the events are the same.

When asking for feedback in the group, one of the members suggested that Linden Lab use a similar approach with a Second Life training simulation for new users to get their heads around the platform. I think that’s an idea worth pursuing and would love to see that investigated.

Come and take the Basilique tour for yourself

If you’re interested in experiencing Juliet’s tour for yourself, please visit us at Basilique and either wait for her to start her tour near the landing point, or track her down on the mini map and pick up the tour wherever she is. I hope you enjoy it, and do let me know in comments what you think!