The Atomic Playboy and the Radiation Romeo

The button below will open a new browser window displaying the Flash interface for Atomic and Romeo (Version 16 with Preloader). You will find a page of introductory text, some instructions and then the interface where you can suggest a topic for conversation.

This version 16 uses the landscape layout, updates the heckler and end-of-conversation functions with an audio sign-off. All the features from previous versions remain - scroll bar control,custId variable allows me to better log and track conversations.

The chat-bots are hosted on the Pandorabots server under the Shared Service subscription. Please note, the terms of the Updated Policy Guidelines for Free Community Server state that the “Use of automated scripts to make your pandorabot talk to itself or another bot or script” is proscribed (Pandorabots 2011). This project is being developed with the agreement of the Pandorabots Inc management and we would like to acknowledge their support. ( Pandorabots )

Please leave a comment...

After you have had a play with Atomic and Romeo please use this link to leave a comment.
Maybe you could suggest a topic of conversation or a layout suggestion.
All suggestions gratefully received.

Wednesday, August 22, 2012

Version 10 - even more timing

Version 10 (I've hit double-figures) contains a handful of new features.

  1. I've changed the way the intro screen moves out of the way to reveal the chat interface. I'm still not happy with the button on the page but that's a job for another day. Likewise, I'm tempted to add a page of simple instructions. This may be unnecessary, hopefully I'll get some comments to guide me in this decision (Actually I've gone ahead and done this 23/08/2012).
  2. There are some lines of dialogue that are delivered from the Actionscript file rather than the AIML on the Pandorabots server. These lines include the end-of-conversation sign offs and the responses to hecklers. I've added timer functions to these to stop them appearing, in an instant, as a block of text. I found this disturbing and I'm sure users did as well. Now these lines appear at about the same rate as the text that comes from the server.
  3. The text from the server uses a timer function that is based on the character count in the most recent line of text on the screen. Let's say Atomic said, "What now?". That is, including spaces, 9 characters. This I multiply by 52 milliseconds which is the reading speed per character I worked out in an earlier post. So that's 9 x 52 = 468 milliseconds. My guess on the reading speed was pretty close, however, after a lot of rehearsal time I found that I had to add another 200 millisecond to each line  (468 + 200 = 668 milliseconds). That seems to be better but again I'll wait for some feedback.
Why am I spending so much time on the interface? Simple, it's rehearsal time. My experience in writing and direction, particularly direction of non-actors, taught me that novice actors will religiously learn their lines and deliver them like a machine. As soon as the other actor stops they dive in with their line. They are so afraid of missing their cue they rush in. The audience needs thinking time and the actor should be reacting to the meaning of the line and not just its length. My chat bots need the same  kind of training to stop them delivering like like a machine. The timing functions are relatively crude but they are a long way better than nothing.

98% of comedy is character... The other 98% is timing. I must look up that quote.

These timer have created some grief. I spent all of yesterday getting it wrong - functions not firing, or firing and giving meaningless results, the full disaster of programing problems. Thankfully I keep versions and sub-versions so that when it went wrong I could back track to a working iteration. Last night I watched about three hours of pointless television, went to bed, closed my eyes and - instantly saw the error of my ways. I actually could picture an Adobe website that explained that some number type variables in Actionscript 3 are base 0 and other base 1. I had been, for no good reason, using a base 0 type for the variable that calculates the characters in a string of text. What this means is that I was multiplying a number by zero and wondering why my timer wasn't working! Everything was zero. Today I fixed this in half an hour by declaring an initial value for each of the variables. Maybe this is some evidence of Wallas' Incubation phase of his four step theory of creativity.

No comments: