On Thursday of last week, I had the pleasure of speaking at the 2010 SL Pro! Conference. My talk was on applying RL software development techniques to SL scripting (go HERE for my slides… Please read and comment!). But what I really want to talk about here is the process and experience of participating in this sort of real conference that takes place in a virtual venue.
On Friday, I had the occasion (read emergency as a result of miscommunication) to make two 5 minute machinema demos of existing content. The good news is that the build was done, the avatar(s) outfitted, and a rough script was already in place. Oh, and they didn’t need audio.
End-to-end took about 2.5 hours. The absolutely critical non-standard bits were Camtasia (for capture, edit, and production) and a 3DConnexion SpaceNavigator to run the flycam. I needed a bit more free space on disk, too, so I copied raw footage off disk when I wasn’t working on it.
Lessons: you can’t have too detailed a script! rendering takes more time and you’ll need more disk space than you might think.
So we were trying to set up a shim web script to connect a MySQL database full of data goodness to a set of LSL scripts. The python script when run from the command line in the development environment but failed utterly when the author tried deploying it to our hosted server. It turns out that there was a whole cascade of problems that may serve as a cautionary tale:
- The database server didn’t allow connections from outside our campus, so we needed to deploy to an external machine at work instead of our public services to satisfy the need for LSL to reach the server and for the server to reach the database.
- Check EOLs! The script was developed on windows and then deployed to Linux – while python foo.py worked fine, ./foo.py failed because the engine didn’t recognize the ^M as an EOL on the first line. dos2unix foo.py fixed that. Renamed it foo.cgi and it should work
- suexec is evil. It intentionally obscures its settings and (probably unintentionally) emits error messages that are simply wrong. Our webserver used the standard install, but we use .public_html as the user’s html directories instead of the more common public_html (note the dot!). Suexec said that it couldn’t get to /home/user, whereas it really couldn’t get to /home/user/public_html. The hack to get things working was to symlink the two together.
Presto! And suddenly things worked! Of course, there were multiple edits of apache config along the way, restarts, searching for working user scripts, etc.
The University of Washington extension has a certificate program in virtual worlds (see earlier post). Turns out that the teacher of several of the classes, Randy Hinrichs, has them using SYW as a textbook and has asked my to talk with his class tonight.
Update: I had a blast – lots of great questions and interaction. I was scheduled for an hour and ended up talking for two.
A virtual worlds program at UW is here