Bot of the Month
Courtesy of Brant
It's funny how inspiration is found sometimes. When Mountain Myst asked me to write an article for this month's Newsletter, I happened to be working on a slideshow to commemorate the inaugurations of new officers of an organization in which I'm involved. Therefore, it seemed only fitting that I reminisce about another slideshow that I had planned seven months ago, to celebrate AWTeen's Inauguration Day.
Inauguration Day was originally decided to be a simple event where Poseidon and Chanty, AWTeen's current leaders, would assume the Vice Caretaker and Caretaker positions. I was browsing through some pictures of AWTeen one day, and came across a number of them that were rather historic and told a lot about AWTeen's past. Being a lame duck at the time and being able to accomplish nothing in AWTeen's government, I figured that my final days as Caretaker would probably be best spent organizing a show highlighting AWTeen's history.
In order to produce the slideshow, I first had to decide which aspects of that history to include. In three hours, I narrowed the field down from five hundred pictures to 187, a more manageable number. In doing the narrowing process, I had to keep in mind the technical limitations of the Active Worlds browser. For example, while the presentations on which I'm working now include video, Activeworlds doesn't have a fully integrated way to display video (although hopefully Young Shamus will add a "create video" action in the future). As a result, I was forced to take screenshots of the videos I had by running them and pressing PRINT SCREEN at interesting times.
I then began development on a bot to issue the underlying object manipulation commands for the slideshow. At first, I simply wrote a routine that would change a picture object every five seconds. I soon realized that some pictures were more important than others, which meant that they would need to be displayed for a longer period of time than five seconds. Furthermore, I had ignored the most important part of the show - the music. Through my experience with similar presentations in the past, I had realized that the music makes the difference between a poorly produced show and a memorable one.
So I rewrote the bot not only to allow each slide to display for different amounts of time, but also to change the music at particular slides. It took a great deal of experimentation to match the music to the slides, so I threw out the order I had decided upon for the pictures, and reordered the entire show based on the music, not on the pictures. Because of the way that AW displays music, it was only necessary to issue five music commands, which occurred at about every 30 slides, the exact number of slides adjusted for the length of each song. I also changed the program so that the picture frame and speaker could be specified in-world, instead of having the bot create them for every run of the presentation. It would now query the world before each run for an object with a certain "name" command attached.
Testing lasted several hours, because I had to be sure that the program had absolutely no chance of failure when everyone was gathered to watch. I used a test site at AWTeen 2501n 839e (that still exists) to test the show. After reducing the bitrate of the music files and compressing many of the bitmap images to JPEG, I invited some citizens there to watch the slideshow.... over and over again. At nineteen minutes each time, it took quite a while to get all the bugs out!
Finally, the show was finished, and the software was done. All that was left was to finish the "preload" file, which was simply a zipped cache file that contained all the images and music for the slideshow. If this file weren't available, then it would take too long for 56K users to download the music, so that the second song would be playing before the first finished downloading. Not realizing there was any issue with doing so, I simply zipped up the folder in my computer's cache containing the media and posted it on a website. Soon, citizens started bombarding me with E-Mails stating that their caches were now corrupt after unzipping the file. As Andras later stated, a marking unique to each computer is included in the cache, so that no matter how I configured my computer, it would be impossible for any others to load their caches in this way.
The day before the event, I consulted with several others to solicit ideas to overcome this dilemma. One of them had watched the show before and commented on how quickly the images loaded now that he had already seen it. I realized that the best way to "preload" everyone's computers was simply to run the show repeatedly. The only problem with repeating the show was that everyone would see the show beforehand, ruining the surprise when it was time for the big event. This problem was resolved by simply placing two invisible speakers at ground zero the morning of the event. The music files were displayed with an action of "create picture," while the pictures were displayed with an object action of "create sound." With these incorrect triggers, they wouldn't display on the screen or be heard through the speakers, but would still be downloaded to the cache, eliminating the load times during the actual show.
The "preload" version of the bot kept running throughout the introductions and speeches. When the time for the slideshow came, after a few minutes preparation, I started the slideshow bot on a computer which nobody was using to ensure its stability. It ran perfectly, with the exception of a short disconnection near the end, which caused the ending picture to be three seconds out of sync with the music. This minor hiccup caused no major problems, and the rest of the evening's ceremonies were a huge success, attracting hundreds.
While I may still decide to use this slideshow application in the near future, right now I think I will wait for a while. Hopefully, I will still be available and have the good fortune to be asked by Chanty to design another slideshow many years from now, this time celebrating the accomplishments of AWTeen's fourth generation.
Do you have a bot or know of one that you would like to see featured in the newsletter? Contact us at: firstname.lastname@example.org.
|Active Worlds | Newsletter Home | Newsletter Archive | Contact Us | Disclaimer|