Wednesday, January 31, 2007

RSS

RSS: a very, very different way to look at the internet.
I'd heard of RSS, seen people complaining at blogs and comics without it, but having now tried it, I'm very surprised. This is something so easy to do and I never realized how easy it was. Google Reader. Any RSS-capable source beamed to one page, nothing complex about it! For current events, research, or anything like that, RSS looks like an astoundingly useful tool. A student researcher could work so much more efficiently looking for news items, information...

Efficiency in information gathering seems to be the key idea here. However, consider that Google News gathers news from over four thousand sources; consider that there are probably hundreds of thousands of blogs with RSS feed. Where does efficiency in information gathering transition into information overload? It should be easily possible to subscribe to more feeds than could physically be read in a day. I'm interested in how to use this tool efficiently; I want it to work for me, to find what I want it to find and be succinct about it. I'll have to see what I can figure out about that!

Blog Blog

To blog on blogging...

Well, I'm sitting here with a cat in my lap, and I had chips and salsa for lunch, and this is what you would call journaling. I realized that although I've kept up a blogspot site for something like three years, all it ever has been is a journal. This was the purpose I had intended for it, in any case; during and beyond my undergraduate education I came to know a lot of people who have since scattered all over the world, and my blog was mostly for letting them know what I'd been up to. Never mind that I haven't posted in it for months; I haven't really been up to much for some months either.

Blogging on the other hand is more than that. The reading out of Richardson's book enlightened me to a significant extent on the matter: blogging as connective exercise, analytic exercise, expository excercise, and conversational exercise combined. In the course of education from the ground up, I feel that this is an extremely useful activity for students to participate, as it incorporates reading comprehension and critical thinking and many other such desirable activities. Its complexity of nature also suggests that the full scope of blogging be "worked up to," which Richardson does discuss in chapter 2. When I began to take in what the author was defining as really blogging my first reaction was "Sounds like a lot of work," and I suppose that means I have some "working up" of my own to work on. The formation of a really useful and well-constructed blog would be well worth the invested effort.

Sunday, January 28, 2007

Branching stories

On my last post, Kim commented,
"I really want to learn to do the kind of programming you apparently do. I'm interesting in exploiting the choices that you mention so that I can show students (a) that writers have choices and (b)ways to play with choices. My hope would be they'd transfer the comfort they gain with playing with choices to their own writing development."

So I thought I'd elaborate a little more on how to do this--first on how I did it with my game, and secondly on a sort of, well, quick-and-dirty way to do it.

The game I wrote back in 2003 was in C++, a fairly common programming language. You could pick it up yourself, it's certainly possible, but I took a semester of CS to really get my head around it; and now, though I know the concepts well enough, I doubt I could really write a similar program now without a lot of relearning of the nitty-gritties.

Basically the branching story game has a large library of "nodes," each of which is a specific instance, happening, location, etc. in the story. The game took the information about each node from a text file, so depending on what text file you used, you could have the game load up a number of different games/stories if you wished. Each node had a block of text that presented the player with what had happened, and a number of associated choices the player needed to pick between. This was the game's opening:

"You awake on your side, half covered in snow. You're very cold. There's a lot of blood staining the snow around you; you realize it's from your arm, which upon examination looks like it's been shot--if only you could remember why! You stagger to your feet and look around. You're in a trench that leads away in both directions across the face of a hill."

Then some choices, such as:

"It looks like there might be something down the hill...besides, it'll be easier to go down hill in my condition."
or
"This trench looks like it may go somewhere...I'll follow it and see where I end up."

Each node had a number, and each choice had an associated number indicating which node it led to. The twist that gives this program an advantage over the quick-dirty method I'll outline in a second is that each choice had another number associated with it, which controlled whether or not the player could see that choice. The game could keep track of things the player "picked up" along the way (specifically, there was an array of saved variables, and each node when reached by the player could turn one of those variables on, to represent the gain of some item, skill, or informational tidbit, or turn one of them off, to represent using or losing one of the same), and that could range from taking a key from the gatehouse to whether or not they chose to talk to the postman; therefore, if the player came to a locked door but had not picked up the key, the option to unlock the door would not appear. Or if the player had not followed the story in such a way as to learn that the neighbor's daughter liked chess, they could not then challenge the neighbor's daughter to a match...quite flexible in that regard.

Now, the quick and dirty replication of this program could use html to accomplish almost the same thing, and in some ways it could be better, as it would be able to look nice and even use illustrations. I would start with a simple html page reading something such as:

James the baker was strolling down Main Street when, through a window, he spied his mother-in-law shopping for a puppy. James frowned, recalling that he had been missing some of his silverware since her last visit. On impulse he entered the store and tapped her on the shoulder.

Then I'd follow that with some links:

(link to page 2a) "Good afternoon," James said. "Are you going to get another retriever to play with Rover?"
(link to page 2b) "I've been missing a few of my grandmother's forks lately," James explained. "Have you seen them?"
(link to page 2c) "I know you stole my silver," James grumped. "I hope one of my spoons chokes you."

Pages 2a, 2b, and 2c would follow the same lines as the above, continuing the story in the direction dictated by each link. In this particular instance the relationship between James and his mother-in-law would clearly take very different forms depending on the level of tact the reader/player decided to take in this conversation, since character-driven stories can turn on the pivot of a single line spoken between two characters in passing.

Now in my mind, the html branching story is advantageous in that it can be produced much more easily than a similar .exe-type program. However, such a construction would not really be able to reach the same story point from different paths, because it, unlike the program I wrote, would have no way of remembering what had transpired. If the player picks up a key bit of information by one path, the path on which they use it would have to be unreachable from the path where the player does not learn that information. Depending on the story which is written, however, this might not be much of a limitation; my game depended in part on the reader/player passing through the same location several times, where their actions might unlock new choices at key points; a more purely story-oriented construction might not, particularly if it were only a fragment of story branches intended to illustrate something for an education purpose.

You can see a quick branching story in html that I started as an illustration here. As short and somewhat silly as it is, it still took quite a while to write; a lesson learned in the judicious restriction of branches...

Wednesday, January 24, 2007

Archives & Sundry

Looking at the concept of Archives this week for class, I realized that I've actually been making use of a particular online literature archive for several years -- that is, http://www.gutenberg.org/wiki/Main_Page, Project Gutenberg, which has more that 20,000 out-of-copyright works of literature online. I came across this site at first while looking for Baum's old Wizard of Oz works--as you may or may not know, there are actually quite a few of these--because I've found myself rather drawn to older works of fantasy and science fiction. There is a very different feeling to many of these works compared to more modern fare, as though those authors were more willing to range further in their imaginations. In the case of much speculative and science fiction from the early 20th century, I find myself ticking off scientific impossibilities as I read, but I don't think that detracts from the stories.

As far as using archives for teaching, I was hard-pressed to add to Dr. Webb's list of ideas! Creating a new set of original mythologies presented in the same fashion as http://www.pantheon.org/ would make an interesting group project...

On another note, all that talk of hypertexting the other day made me recall a text-based game I wrote up a long time ago in C++...the engine itself was very flexible, allowing for story nodes with decision groupings that could vary based on certain conditions (for example, the choice to unlock a door might appear if the user had previously picked up a key). I wrote some of a game using the engine that involved exploring an abandoned WWII-era mansion, but I didn't get too far before realizing the fractal nature of the story options was going to require a very large amount of content development and subsequent debugging. I wonder if it would be worth continuing to develop now. It'd be interesting to consider something similar (probably in a more updated format, such as hyperlinked .html pages, for instance) as a group project; having a fractal branching format for a story is just begging for multiple contributors. Where one student/group might develop a thread from the initial conditions that became a murder mystery, another group's work might cause a different choice at the beginning to lead to a romantic plot. And if such a thing were developed in a internet format, the possibilities of embedded hypertext and other additions only make the potential complexity and richness of the resulting work that much more immense.

Wednesday, January 17, 2007

Initially

English Teaching and Technology! I somehow think that we won't be able to avoid doing some fascinating things here. Encarta and Microsoft Word are nothing new; hypertext fiction, interactive virtual environments, online games, wikis, blogs, and teaching websites are something else again. Exploiting these things for the instruction of English is--aside from being something I wish I'd had access to as part of my own education--certainly something I would gladly attempt to further. The use of MMO-type games such as Second Life for this is particularly fascinating to me.

My website is up at http://www.kiolia.com/teach now; after coming up with my idea for navigating the site I felt it would be fastest for me to code it up from scratch in Notepad, so I did. I'm still working on learning Dreamweaver. I also need to get some new FTP software; I've been going through my hosting's upload interface, which is nowhere close to as fast to work with, especially for putting up a whole site in one sitting.