Brooks Antweil
E 375L – Victorian Literature
Project 2 Explanation
Creating a bot was a very attractive option to me because I like to work with logic and computer programming. When the project was assigned, I had recently acquired a copy of Macromedia Flash MX, and was excited to figure out how to make programs in Flash. I took a Computer Science class freshman year where we worked with Java, but I had never programmed anything in Flash before.
At first, the Flash interface is very intimidating. Since Flash was originally developed to play cartoons on the internet, the programming is much more like creating an interactive movie or cartoon than it is like writing computer code. There is some code involved, but Flash will actually write most of that for the programmer. Since Flash is generally a movie-making program, the base object is a frame. The default setting for frame rate is twelve frames per second, which I opted not to change. An aspect of Flash that I did not get a chance to explore was the implementation of layers, which are basically transparencies that can be infinitely stacked on a single frame. The use of layers gives the programmer a vertical axis on which to change the picture as well as the built-in horizontal axis that is the frame sequence.
Much like many creative learning experiences, starting to program Flash was initially chaotic. However, as Dr. Bump pointed out in class, “the first step in the creative process is often chaos.” I had a general idea of what I wanted my final project to look like, but I was not yet sure where to start. I decided that the best thing to do first would be to find a picture of Dodgson and put it on the first frame. This seemingly simple task took me about an hour to figure out. In most programs, one can simply open a picture to insert it into the movie. However, Flash will only let you open Macromedia files (such as .swf, .fla, etc.). Next, I tried opening the picture in a different program and “drag and dropping” the picture into Flash. Again, my attempts were unsuccessful. Next, I went to one of my favorite websites, which I knew for a fact was programmed entirely in Flash, for some help. On www.homestarrunner.com’s FAQ page, I was directed to www.flashkit.com. This site is a tutorial for Flash programmers of all experience levels. The articles are not submitted by any certain authority, but rather by other Flash programmers that have figured out how to do certain things with the program. My initial search for how to insert a picture was a failure because I suppose that the contributors to flashkit.com assume people know how to do the simplest things. Eventually, I found a very detailed tutorial on a subject other than inserting pictures that described how it was done. The tutorial introduced me to one of Flash’s main components: the file library. In order to add any multimedia not drawn from the rudimentary Flash drawing controls, one must import this media to the file library. Each Flash movie has its own library, and although the user never sees the library, it is integral to every frame. By simply importing a picture of Dodgson to my library, I was easily able to insert this picture on the first frame of my movie.
As stated before, each Flash movie is constructed on the basic unit of frames. A collection of frames is called a scene. There can be many scenes in a single Flash file, and scene length is determined completely by the programmer. I had scenes that ranged from one frame to one hundred frames. The first frame in a scene defines what is known as the “keyframe” of that scene. Any time something important is supposed to happen, a keyframe must be inserted. Any keyframe that is inserted will have all of the elements of the previous keyframe, which must then be modified if any changes are to take place.
Now that I had a picture of Dodgson, I had to figure out how to make it so that the user could click on words to ask questions. This was no simple task. I found a helpful tutorial that explained how to make buttons. A “button” object in Flash has four states that are represented by frames. The first state is the “Up” state, which is the button at rest. This is the default appearance of the button before any user interaction. The next state is “Over.” This is the state the button is in when the mouse pointer is on top of the button, but has not yet been clicked. For this, I usually changed the color of the button to let the user know that it could be clicked. The third state is “Down,” in which the button is clicked. By slightly moving the button to the right and down, it seems as though the button is being pushed. The final state is “Hit,” where the area that the user can interact with the button is defined. This process has to be done for every button on the site; one cannot simply define the way that one button is interactive and apply that to all buttons. The most common button used is the home button that takes the user back to scene one, frame one. I used the “Print Screen” key on my keyboard to take a snapshot of the homepage button in Internet Explorer and used that because I thought that it would be the most user-friendly and easily recognizable button.
Once I figured out how to make buttons, I had to figure out how to assign actions to buttons. This aspect of the project is where my programming experience was most helpful. A section of code that is generated by Flash basically tells the button that, upon release, an action should happen. The action used most frequently was “Goto and Stop (x,y)” where x represents a certain scene and y represents a certain frame within that scene.
Once I had buttons completely figured out, I needed to learn how to make Dodgson respond to the questions that users ask. I thought it would be neat if the user could actually hear and see Dodgson answering, as opposed to simply reading his responses as text. The movie-making aspect of Flash was very handy here because I practically made a movie of Dodgson talking and matched it up as best I could with the sound file I recorded. Using Adobe Audition, I recorded my very best British accent responding to the questions. I then took a picture of Dodgson sitting in a chair and modified it so that it looked like his mouth was open in Adobe Photoshop. I finally inserted the picture with his mouth open and his mouth closed one after the other so that it looked like he was talking. In Flash, it is not necessary to use every frame if no change is needed. For instance, if I wanted Dodgson’s mouth open for a full second, I did not have to create twelve separate frames with his mouth open. Instead, I could just insert a keyframe twelve frames later. If no keyframes are inserted between two frames, the Flash player will simply display the last frame until it hits a new keyframe.
I found that the process of making Dodgson talk was lengthy and tiresome, so I then decided that it would be very difficult and take an extremely long time to have him respond with 2100 words. In order to compensate for this lack of interaction with Dodgson, I made interactive multimedia. For example, I made an interactive plan that I found on the Christ Church Cathedral’s website. When one clicks on a number on the plan, a corresponding piece of art or architecture is shown and explained. Making this plan was tiresome, but the end result is well worth it.
After I had successfully added lots of multimedia and a few responses from Dodgson, I decided that I had spent an ample amount of time creating this project and decided to add a few “easter eggs,” which are like a Flash programmer’s signature. One such easter egg shows a picture of me from a previous project and identifies me as the author of the bot. Another is a reference to homestarrunner.com, the website that first pointed me toward the site which taught me all of the flash basics. The final easter egg pokes fun at the White Rabbit from the Alice books, taking the form of a reference to a Monty Python movie.
This project was an infinitely more productive learning experience than my last one. The project taught me patience, stretched my creative potential, and showed me what determination can produce. I feel as though through learning Flash and doing this project, I haven’t simply learned more about Charles Dodgson (which I suspect was the meaning of the project), but I have also learned a new way to create interactive multimedia, which will be useful in many other aspects of my life.
In the revision of Project 2A for 2B, I did a little bit of touching up. In Flash, objects (such as buttons) “float” on each frame, and their locations on the frame are defined by their X and Y coordinates (such as those on a linear graph). I noticed that the buttons on different pages were in different places on the screen. This resulted in an experience where the user would have to move his/her mouse in order to click every word to complete a question. I saw this as an organizational problem as well as a problem with the overall appearance of the project, so I went through and placed all question buttons in the same place on each frame. Now that the question buttons were standardized, I went through and noticed that some frames created a difficulty with navigation(i.e., it was hard to go back or home). I fixed this by adding both home buttons that returned the user to the first scene and frame or back buttons that allow the user to back up to the frame of origin.
Another organizational problem that I perceived was that every Alice picture had an explanation, but the other Dodgson photos did not. I went back and added commentary for these four photos. Since these photos were not of the Liddell girls, I did some internet research to find out more about Ruskin, Tennyson, Southey, and Alice Grace Weld. This research was reflected in the commentary that is now present in each of these photos. After making these changes, I feel that my project appears to be complete, consistent, and well organized.
Word count (including transcript): 2573 (reflects and addition of 356 words)
(Changes highlighted in this manner for both the transcript and explanation.)