Wednesday, August 15, 2012
Version 08 hits the stands...
Last week I posted Version 06. Largely it was just an experiment with the layout. Important in its own way but it didn't increase functionally of the interface. Yesterday I uploaded Version 07 of the interface - it introduced a portrait layout and the first iteration of the 'Heckle - if you dare' button.
It may seem odd that today I'd introduce another version. However, Version 08 is such a development over Version 07 that it honestly deserves its own number in the sequence. If ever I needed evidence of the iterative and recursive nature of creative practice this is it. The seeds of possibility were planted in Version 07; then realized in Version 08.
This is how it went.
Version 07 had a portrait layout with a plain colour background. The buttons were aligned left with explanatory text to the right. The heckle button was in place but it drew on text typed into the primary user input text field. It worked but it was clunky as the text which was entered as a heckle was instantly thrown back to Romeo to feed to Atomic. This just looked wrong. I thought of suggesting to the user that this was a function of Romeo vetting the inputs. That idea was dodgy and unconvincing, even to me. The other problem was getting the guys back to the original topic. However, it did technically work. And that was enough for one day.
Version 08 still has a portrait layout of 450px wide by 728px high. Why not round the numbers up? Well, this ratio is the Golden Ratio - and the proportions seem to work. The background of the intro page and the iterative interface now look like a notepad. The buttons are aligned right with text below, for the heckle button, and to the left for the other two.
More importantly, there is a new text field for the user to heckle in. This means I can process the heckle without throwing it to the bots on the server. Inside the Actionscript I have written a new function that processes the heckle by providing random text responses. The heckler gets his/her own line displayed in the script and attributed as 'Heckler". In total I've written 30 line of dialogue: Atomic has ten anti-heckler lines; Romeo has five lines that alert Atomic to a heckler's input; Atomic has five lines where he is prompting Romeo to remember what he (Romeo) said before the heckle; Romeo has five lines where he is trying to recall what he last said; and Atomic has five lines where he is trying to recall what he last said.
Regardless of where the conversation is stopped by the heckler my scripting retrieves the characters last line, concatenates it to their line where they are trying to recall what they said, throws just the last line to the other character to continue the script and, finally, displays the entire interaction.
That was a day's work - about 150 lines of code in just one tidy, 'if statement' driven function.