s

p

My FDG 2014 Cruise Ship Conference Experience

You may recall that I was going to a conference on a cruise ship in April.  Well, I'm back from Foundations of Digital Games 2014 and am happy to report that I have found another new favourite conference and community.  The conference went well and I made some wonderful friends. Win win!

It was a strange experience, being on a cruise ship for (mostly) academic purposes.  This was my first time on one, and to be honest, I actually prefer the resort experience more when it comes to vacations.  An overwhelming sense of "fake" was prevalent on the ship, and while resorts aren't necessarily better, on a cruise all you have is the boat.  No beach, no grass, etc.  I also didn't love the dark, cavernous feeling on most decks of the boat or the lengthy process to embark and debark.  Even the mall was kept dark and lit with neon lights most of the time.


But there is a big advantage to hosting a conference on a cruise ship: nobody can leave! This was really great for building community.  It was easy to find other attendees and spend some social time with them.  For example, on one of the early nights, there was a disco party happening in the mall.  At that point I was alone, wandering around, wondering what to do.


When I ran into some friends (old and new), I finally had someone to dance with, even if we were stuck with disco for quite some time.  I would not have danced disco alone, but with them, I had a blast.

I have to admit that the upper deck with the pools was a nice place to prepare for my paper presentations (lab mates, if you are reading this: pretend I prepared weeks in advance and practised at our meetings).  Sitting on a swinging chair looking out on the ocean is a good way to relieve last-minute stress.


And boy, was I stressed.  I wasn't worried about the actual presentation being good, but rather whether the audience of heavy-hitters in the stories-in-games field would think the work itself was any good.  It was a rare moment of feeling the imposter syndrome.  To make matters worse, I had two talks almost in a row! Good to get them over with, but no chance for feedback in between.

Fortunately, everything went very well.  The talk was good, and the questions afterwards were even better.  A lot of the people I was intimidated of in the first place made a point to tell me that my talk was interesting.  Later in the conference I even got to have an extended conversation with one of them, giving me both confidence and ideas.  (Learn more about what I presented if you're interested.)

After my talks and a couple of other interesting paper sessions, I escaped on my own for a bit to decompress.  The sun was starting to set, which was the perfect time to take a stroll around the boat.



The next day, the ship docked in Cozumel, Mexico, where two of my new friends and I went on a tour of Maya ruins (apparently you aren't supposed to include an "n") and visited a gorgeous beach.  I was really glad to have my talk behind me at that point as I could completely relax and enjoy it!





The last day of the cruise included more interesting talks and a lovely reception and dinner to cap it all off.  I left the following morning on a high, and already trying to figure out how to ensure I attended next year's conference.  I left feeling like I had finally found "my people," from my awesome roommate to the researchers with the same interests.  Thanks FDG, and hope to see you again soon!


Interactive Storytelling in Games: Next Steps

Last night I gave a lecture for our undergrad society on some of the more interesting recent developments in interactive storytelling, along with a preview of my own thesis work.  Below are my slides.


Cruise Ship Conference

I've never been on a cruise before. Who would have thought that my first opportunity to sail would be for an academic conference on videogames? Come on, admit it. You're jealous.


The conference is Foundations of Digital Games, and the photo above shows where we'll be living for about 5 days in April.  This past fall, my supervisor and I worked really hard to get a paper we'd been sitting on into good enough shape to submit, and wrote up a whole new paper on my thesis work.  I was nervous about whether either would get in, but lo and behold, both did!

The paper on my thesis work, A Framework for Coherent Emergent Stories, got in with generally positive reviews, despite the very embarrassing fact that two important diagrams ended up as black boxes.  The one more negative review was actually extremely helpful - we will definitely be improving our write-up with those comments in mind.

The other paper was about non-linear stories in traditional media and games.  It was hard to know how this one would fare since the topic is more closely related to games studies, making me a bit of an outsider.  It was accepted in the work-in-progress track, which I am definitely satisfied with.  Lots of really useful comments in those reviews, too, so while this isn't the more important of the two papers, we should be able to improve it.

I have to admit that these successes are really great news after a recent string of rejections.  My publication luck is finally beginning to pick up!

Slides from 'Coherent Emergent Stories in Video Games' / GHC13

I gave a talk at this year's Grace Hopper on what I've been working on for my thesis project:
Coherent Emergent Stories in Video Games
Crafting satisfying narratives while preserving player freedom is a longstanding challenge for computer games.  Many games use a quest structure, allowing players to experience content nonlinearly.  However, this risks creating disjointed stories when side quests only minimally integrate with the main story.  This talk introduces the problem of nonlinear storytelling in games and discusses our flexible, scene-based story system that reacts dynamically to the player’s actions.

My slides are embedded below and you can learn more on my website.



Working With Google Spreadsheets Data Directly

On Wednesday I talked about assigning numbers to my princess-and-dragon story.  I have all my data in an easily parsable format in a Google Spreadsheet.  I decided to use Python to do my story-related computations because of the fast start-up time and the existence of the Google Data Python Library.


Things started well enough thanks to a decent quick start guide, even though I've only used Python a few times before.  I was able to connect to my spreadsheet without issue and start working with the spreadsheet's feed.

But from there things got... complicated.  The quick start guide didn't cover what I needed to do, and I kept getting referred to the spreadsheets API that made mention of other languages, but not Python.  This isn't the first time I've found documentation by Google to be lacking in some way.  I could probably figure things out eventually (perhaps by looking at the source code), but I didn't really want to spend that much time on getting the data - I would rather spend time processing it!

Luckily, @ArcTanSusan and @sharonw gave me a great suggestion on Twitter: gspread.  It was made for Python specifically, has good documentation, and offers much simpler code for doing what I needed to do.  Sign me up!

Making the switch saved me a bunch of time in the end.  The moral of the story: use gspread to work with Google Spreadsheets in Python, and search for alternatives before just using Google's stuff.

Princesses, Dragons, and Assigning Numbers to Stories

I've been working on a prototype story for my thesis project ("Coherent Emergent Stories").  Although I have a couple of stories on the go (such as the one I made for my GRAND poster), the one I am working with now was loosely inspired by The Paper Bag Princess.  This is an informal representation of some of the nodes:


In addition to these nodes are many more satellite nodes that, at the very least, further the story's themes or develop its characters, but that are optional and can be seen in any order.

My task now is to turn the ideas behind each node's availability (where should the player be? What knowledge should they have? etc) into numbers.  We are currently using a modifier system to calculate suitability of a node at any given time.  This means that I need to represent things like mood and knowledge as numbers.  This is much easier said than done!

I will also be writing some code that will represent formula(s) for computing a scene's score so that we can test what scenes will be available for various game states.  I decided to use Python, since its quick and easy scripting nature is just the thing needed here.  It also seems easy to connect directly to a Google Spreadsheet, where my story data currently resides.

Tomorrow, we plan on spending the morning playing with the prototype and adjusting the data and calculations as needed.  I'm really curious to see how far off the mark my numbers end up being!

Stories and Games at GRAND 2013

Last week, I attended the annual meeting of the GRAND (Graphics, Animation, and New Media) research network, held in Toronto.  Although the research and discussion presented and held at the conference spanned much more, the focus for me was on games and stories in games.


The presenter I was most excited about seeing was Jane McGonigal of Reality is Broken and Superbetter fame.  She believes that gamers are actually practicing some rather useful skills when they play.  For example, they learn to be hopeful and creative, two of several things that we should want people solving the world's greatest problems to be.  I reviewed her book a couple of years ago and still find that it influences my thinking on games.  Although I already knew most of what she talked about at GRAND (having been a fan for a while), I loved seeing her in person, and loved even more that my friends and colleagues now buy into her ideas as well.


A surprise for me was how much I loved Terry O'Reilly's talk.  I admit I'm not much of a CBC follower (unless they're airing an Ottawa Senators hockey game), so I didn't know who Terry was ahead of time.  He spoke about the power of stories, mostly with respect to marketing and advertising.  One of my favorite quotes:
Make people feel your message, not just understand it.  -Terry O'Reilly
Besides being an extremely good talk, it was fascinating how much I connected with his message with respect to games.  In particular, I found myself being convinced by him (and less directly by Jane McGonigal earlier) that stories can truly make a difference in learning with educational games.

On Tuesday night I presented my nicely designed research poster.  I was quite pleased to see a few other really great posters.  My favorite poster (possibly of all time) described Tiffany Inglis's research on pixel art in the form of a comic strip.  Check out the poster on her project page.

Finally, on Wednesday, the last day I was at the conference, I attended the Women in Games panel.  The panel featured Grace from Fat, Ugly, or Slutty, Cecily from Dames Making Games, Anita of Feminist Frequency (which is most recently focusing on tropes vs. women in videogames), and Brenda of Silicon Sisters, a women-lead game studio in Vancouver.  The discussion was fascinating, and I saw a lot of what I do with women in CS shine through, even though involvement in games can be much broader than programming/CS.  It was also really neat to see what Brenda and her company have been working on, since I had been chatting with Brenda about stories in games the previous evening at my poster.


Even though I had less than two days between trips (poor baby Molly!), and even though I could only stay for two days, I'm really glad I ended up coming to GRAND.  I feel energized as I move into my attempt to get a lot done research-wise this summer...

My Beautiful GRAND Conference Poster

I'm a strong believer in creating conference posters that look good.  If they have a striking resemblance to printed papers, in my opinion something has gone really wrong.  With that said, I have to say I had a lot of fun designing my most recent poster.


Although this image is slightly out of date from the final print version, it gives a good idea of what I was going for.  You can get the gist of the research by looking at it, but it does not contain all the information a paper would.  That's what the poster presentation itself it for: I will have the opportunity to discuss the work more deeply.

There is no reason whatsoever that a poster can't be both beautiful and functional, so I encourage you to see what you can come up with the next time you create a poster! If you have an example to something you're particularly proud of, I'd love to see a link in the comments.

Edit: You can now check out the high resolution PDF of the poster if you'd like.

Story Graph Example Inspired by The Paper Bag Princess

Without giving too much away, I wanted to share an early example of the types of story graphs I'm working on for my thesis.  This was my first example, and it's inspired by Robert Munsch's Paper Bag Princess.


Without even telling you what all the colours and notations mean, you can probably gather that there are some nodes that must be seen in a particular order, and others that can be seen any time.

Eventually my examples will have much more of the latter type.  The end goal is to be able to decide which nodes should be available in the first place according to the player's current state in the game, and then to dynamically modify the scenes in small, simple ways to ensure they make sense and connect back to previously seen nodes.

Hopefully, this will result in more open and coherent emergent stories in games.

Coherent Emergent Stories

My thesis project is moving forward, which I'm thrilled about. Here's a high-level abstract that summarizes the system I am working on.

Crafting satisfying narratives while preserving player freedom of action is a longstanding challenge for computer games. Many games use a quest structure, allowing players to experience content nonlinearly. However, this risks creating disjointed stories when side quests only minimally integrate with the main story. We propose a flexible, scene-based story system that reacts dynamically to the player’s actions.

In the proposed system, stories are defined within a graph where nodes represent scenes and edges represent causality. Nodes are tagged with information including possible locations for the scene, the plans or goals connected to the scene, and the agents and objects involved in the scene. At any time, the distance from the player’s current game state to nodes in the story graph is measured according to five dimensions of nonlinearity: time, space, causality, agents involved, and the player’s goal. The system will use the distance to determine what nodes should be available at any given time. Scenes will be modified dynamically according to when and where they ultimately take place, ensuring that each node has a narrative connection to its predecessors. This system allows for potentially connected stories driven by player action, leading to a more cohesive emergent story.

Interactive Storytelling: Slides from CUSEC 2013

Here are my slides from yesterday's talk at CUSEC 2013.  There are normally embedded videos in the slides; this version links to the videos online instead.


Procedural Rhetoric and Theme in The Walking Dead

I've been thinking about procedural rhetoric and its relationship to a particular theme in a story. For example, a major theme in The Walking Dead is humanity: how do you maintain your humanity in such trying times, and how far are you willing to allow it to slip in order to survive?


How do the game’s mechanics support this theme? Most of the mechanics are superficial in their relationship to the story (i.e., classic point-and-click adventure style of interaction). But then there are the story choices. Many are dialog choices which don’t end up having much real impact in terms of story results, but some are black and white choices like whom to save.

These latter types of choices seem to fit more with the idea of procedural rhetoric. You are faced with a decision you have to make quickly and on the spot. Neither choice is good, and sometimes the outcome is essentially predetermined anyway in the sense that the zombies will kill no matter what. This reflects how it might feel in real life as well, when the adrenaline is pumping and you have only moments to react. Sometimes your actions feel futile, and often somebody has to die.

But I think these are really the only mechanics you could argue represent procedural rhetoric relevant to the humanity theme.

I want to figure out if there's a way to represent the theme more deeply in the game’s rules/mechanics.

SPOILER ALERT...

For example, one episode involves a farming family who we eventually learn are cannibals. They had decided to survive by eating flesh of people who were injured and going to die anyway, though they eventually rationalize eating even hardly injured people. How could the game reverse the roles so the player ends up doing something like that and actually feeling like it was the right choice despite the moral dilemma?

...END SPOILER

I want it to be more than just the story, even if the story can branch for these kinds of choices; I want the rules of the game to represent the theme better. I am not convinced the current setup of Walking Dead would be the best for this, given the style of mechanics, so what might?

Research Article About Me: Creating Compelling Computer Games

There's a nice story about my research on the Carleton website.  I'm particularly happy to see it because it hasn't been easy to figure out my exact thesis project, and it feels good to have finally found my path.
A team of Carleton researchers is trying to find out why so many computer games shy away from using nonlinear storytelling techniques – that is, techniques that help present stories out of chronological order. Traditional media like films and novels use all kinds of interesting nonlinear techniques, like those found in Run Lola Run, Groundhog Day and Memento. Many games tend to stick to fairly simple techniques like flashbacks, but more sophisticated approaches could result in more games with critically acclaimed stories.
Read the rest here!

Resources for Testing Game Story Ideas

I will soon be trying out simple nonlinear narrative ideas for my thesis research, and wanted to find (freely available) tools that will make doing so much easier.  Here are a few, some of which are great for beginners and non-programmers.  (Know of any other great tools? Let me know in the comments!)

inklewriter

 
If you want to create branching stories quickly and easily, this free graphical tool might just be for you.  It's not likely to be useful for me without access to its source code, but non-programmers should have some fun with it.

Ren'Py


This is how Ren'Py describes itself:
Ren'Py is a visual novel engine that helps you use words, images, and sounds to tell stories with the computer. These can be both visual novels and life simulation games. The easy to learn script language allows you to efficiently write large visual novels, while its Python scripting is enough for complex simulation games.
I like that beginners can use its simple scripting language to create interesting stories, and that I will be able to use Python to make more sophisticated games.  This is probably the first tool I'm going to download and try since it should be really fast to get going on the simplest of ideas.

Fabula


As per the Fabula website:
Fabula is an Open Source Python Game Engine suitable for adventure, role-playing and strategy games and digital interactive storytelling.  Fabula can be used as a library to develop your own games. As an alternative, you can use the Pygame-based graphical editor and the default game engine that come with fabula.
With this tool, you get into programmer's territory, but still get a lot for free.  I like that the engine was designed with storytelling in mind, and that like Ren'Py it uses Python, which should make it fairly easy to work with. I will likely give this one a try early on as well.

Orx



According to the Orx project site:
Orx is an open source, portable, lightweight, plugin-based, data-driven and extremely easy to use 2D-oriented game engine. It has been created to allow fast creation of games and prototypes.
The reason I include this project is because I think 2D is the way to go to test story ideas, and such an engine would make creating a 2D game much easier.  If the other tools aren't flexible enough to customize things as much as desired, then this might be the way to go (assuming you understand C/C++ programming).  I probably won't use this one right away since I don't need the power, but I have a feeling it could come in handy later on.

Research Snapshot for Fall 2012

Now that I'm back in school full time, it's a good time to have a look at where I am research-wise.  Here are some of the projects I'm working on and what progress I've made.  (My last snapshot was from Fall 2011, before I went on maternity leave, and has more detail about some of these projects.)

Cognitive Advantages of Augmented Reality

My work in this area was finally published with a learning spin at E-Learn.  You can check out the final abstract and paper on my website or read about it on this blog to see some possible future directions others can take.

Gram's House

Since last fall, this project has moved forward a bit.  One of our team members ran a pilot project that just wrapped up.  The study compared a slightly updated version of Gram's House that tracks player stats, and a new game created by my colleague's students.  It will be very interesting to see the data that was collected during the study.

In the meantime, we are also finding some new researchers who want to try for an NSF (or other) grant to further develop the project.  We've got a few ideas on how to make our project stand out among the many trying to do things like this with games, and I'm excited to see where we go!

Although not everything is public right now, you can track the project on my website.

Teaching and Learning Computer Science With Story

This project centred on the study we did in this past year's mini-course.  The study went well and we learned some interesting things (like the fact that story had little or not benefit over context).  However, the paper we submitted to SIGCSE was not accepted.

We are in the process of deciding what to do next, but I am leaning toward taking what we learned, doing a follow up study, and submitting to next year's conference.  I am not sure if I'd like to stick to the middle school age group or try something in an undergrad class.

Nonlinear Story in Games

This is the thread of research that will be my thesis.  In fact, my supervisor liked the ideas I had put together while on leave, so I have a good, solid direction now! In a nutshell, I want to use procedural rhetoric as a way to break apart story episodes in a reasonable way, and learning theory to dynamically arrange those pieces as well as entire episodes.

Before delving too deeply into my specific ideas, however, I'm going to finish some work I started last fall.  We're looking at nonlinear stories (that is, stories whose events are presented out of chronological order) and comparing them to nonlinear stories in games.  We are trying to see why games shy away from more sophisticated uses of nonlinear stories, which may lead to new ideas on how to do it.

Research Plan: The Role of Story in Educational Games

I've (finally!) been working on a concrete thesis research plan and wanted to share a general idea of what I'm intending to do.  The short version is that I want to experimentally determine how different types of stories actually affect learning outcome in educational games, and make it easier for others to incorporate story into future games.

Stray Souls Dollhouse Story game screenshot 


These are the main questions I'm hoping to answer in three phases:
  1. As shown through experimentation, does the use of story in educational games offer
    players an opportunity for deep learning beyond simply providing motivation or engagement?
     
  2. Does the use of nonlinear narrative or interactive storytelling improve engagement and/or learning?
     
  3. How can narrative best be incorporated into educational games? What set of metrics could
    be developed to help game designers ensure that they are able to effectively tie together their story, educational content, and gameplay mechanics?
     
  4. Using this knowledge, what would a tool to support the authoring of stories for educational games look like?
The idea is to first choose a set of games with which to conduct experiments that test learning outcome.  Some of these games will be already established works with clear learning objectives and stories that can be removed without severely affecting the educational content. We will also use some of our own designs.  The selection of games will be made with the second research question in mind; that is, we wish to find games that use both linear and nonlinear storytelling techniques.  The results of these experiments will heavily influence the rest of the research.

In the second phase the set of metrics mentioned in the third research question will be developed.  Established games and games of our own design will be used to iterate on the metrics until a reasonable set can be settled on.

Finally, the third phase involves writing a tool that will both help enhance an author's creativity when writing stories for educational games and help ensure the story is consistent with the educational content.  How it will look depends, of course, on the results of the first two phases, but I am imagining using some AI techniques to help check consistency and make story suggestions.  There may also be an opportunity to use some graph analysis, for example to take advantage of connections between content topics present on sites like Wikipedia.

One of the coolest things that's happening with respect to this plan is hearing excitement from writers who want to be able to write better interactive stories for educational games.  I'm thrilled to have people I can speak with directly to ensure that what I do ends up being useful, and I may even have some professional writing help when designing our own games for our experiments.  Hopefully it'll be win-win for all of us!

Did reading this raise any red flags to you? Do you have any ideas or suggestions? Please leave a comment and let me know! The more feedback, the better.

Research Snapshot for Fall 2011

For those of you wondering what the heck I've been up to lately research-wise, wonder no longer! Here's a snapshot of what I've been working on lately and plan to work on before Christmas (when, as you may know, I will be going on maternity leave for a while).
Cognitive Advantages of Augmented Reality

This is something I've been working on for well over a year now.  It started in a class I took extra to my degree called Computers and Cognition.  For my term project, I looked at a couple of key cognitive theories and how they related to what I thought was so great about augmented reality.  Since that class, the prof and my own supervisor have been expanding and refining that work into publishable form.

So far, we've run into some trouble getting our paper accepted to a conference.  In our last attempt, we received quite good reviews, but still weren't accepted.  Apparently the paper caused much discussion at the conference committee meeting, but in the end they decided that they needed to hold it to a higher standard since it was both new and more on the theoretical side of things.  They (and the reviewers for our previous attempt) suggested a journal might be a better venue.

So that's where we are now.  We are working on the latest rewrite and will hopefully submit it soon.  You can follow the progress of this work on this page if you are so inclined.

Gram's House

I've written about this project a few times on this blog.  Originally a project we submitted to Microsoft's Imagine Cup, it has evolved nicely into becoming an international collaboration between industry and academia.

At this point, I have a wonderful team of academics from the States who are on board with applying for a National Science Foundation grant in January to help fund the development and evaluation of this project.  Filament Games is interested in professionally developing the game.  There are several other academics and CS education community members who are interested in helping evaluate the game with their classes or outreach initiatives.

NSF grants are competitive, so I realize that we may not be successful in our first attempt.  Nevertheless, I'm excited that, no matter how long it takes, Gram's House may become the full-fledged game I am dreaming of, allowing it to make a widespread impact in many girls' lives.

You can follow this project here (it has not yet been updated with the latest grant goings-on, but will be once things are more solidified).

Narrative and Educational Games

Finally, a newer thread of research has been related to narrative and interactive storytelling.  In an effort to solidify a specific direction for my PhD thesis, I have chosen this thread as my main topic and started outlining a research plan.

Right now, I'm working on putting together a taxonomy of techniques in nonlinear fiction.  There is a balance between categorizing approaches by their creative intentions and the technology behind them.  In October I am leading a round table discussion on this work with the goal of looking at why games have used certain techniques but not others (is it because it's too difficult creatively or technically, or because we just need someone to try?).

During the rest of this term, I'll be delving into this taxonomy deeper and working on a paper for a game studies/design journal.

As for my thesis, I will be narrowing in on what the role of narrative is in educational games.  Does story simply engage a game's learners, or is there something more going on there? What are the best ways to incorporate story effectively into an educational game? Can we create a tool that supports writers and designers in properly crafting stories for these sorts of games? Though I'm keeping it general for now, I'd like to ultimately focus on reality-based educational games (including augmented reality) and make use of the cognitive advantages research mentioned above.

The taxonomy work can be followed here, and future pages on my portfolio will be created as my journey continues.

Techniques for Telling Nonlinear Stories

At the beginning of October, I'll be participating in a digital narrative workshop for the GRAND NCE called 'Experiencing Stories with/in Digital Games.' The following abstract describes a round table talk I'll be giving as part of the student gathering:
Non-linear fiction ranges from the use of static plots with events presented in a non-chronological way to interactive story worlds where users make choices that affect the outcome of the story. A wide range of media can be used to implement works of non-linear fiction, including novels, film, storytelling engines, and games. In all of these cases, there are multiple techniques available for designing and telling a non-linear story.

We have compiled a taxonomy for these techniques with broad categories for strategies for explaining non-linearity, structuring stories as graphs, relying on emergent behaviour, creating character driven plots, and designing data-driven interactive worlds. Each of these categories breaks down further with classic examples from all types of media and with approaches reported on in academic literature. For instance, a strategy to explain a story’s non-linearity is to attribute it to time travel (The Legend of Zelda: Orcarina of Time) or to a hallucinating or brain-damaged character (Memento). Many examples use a simple branching structure to change the story based on player choices (Choose Your Own Adventure) while others rely on game data to adjust how other characters in the story react to you (Fallout 3).

In this talk, we will present our taxonomy and frame it in the context of story in games. We will discuss what techniques have been used in existing games, and which have not yet been employed. We will consider why games have not used certain techniques, and use this to suggest how they might do so in the future.
I'm currently hammering out a potential thesis research plan for myself, and this work will contribute toward that.  I'm really enjoying this whole narrative thread I've embarked on this past summer.

How Important is Interactive Storytelling in Educational Games?

Story in games.  Something we seem to be trying for, but continue to struggle with.  Perhaps it's even worse for educational games: we are told that narrative engages learners and helps to situate content, but it's not clear whether we need a full fledged story instead of just a little bit of fiction to accomplish our goals.  Worse, get it wrong, and your audience could see through it and dismiss the whole idea since they know you have an educational agenda.

Books

I've been thinking lately about interactive storytelling.  The way that I understand it, interactive storytelling involves a story world instead of a fixed plot.  In this world are non-obvious choices that players can make to affect the overall story in a meaningful way.  There are many different story lines or plots that could emerge from a single story world.  While many games have story pieces with interactive game elements thrown in between them, I'm not convinced I can think of a game whose overall story could be truly and meaningfully affected by game play.  (See, for example, my discussion on L.A. Noire.)

Could educational games benefit from true interactive storytelling? Perhaps not all subjects need large, elaborate story worlds that focus on theme, character, and so on, but maybe the ability to affect the story would help learners make sense of a few interconnected topics.

Chris Crawford says in his book on interactive storytelling that "stories are complete patterns that communicate a special kind of knowledge to our pattern-recognizing mental modules" and that "storytelling’s value arises in an attempt to convey a complex mesh containing many linkages."  I figure giving users control over what nodes in the mesh they want to see next or letting them discover the linkages through meaningful choice must be a powerful way to learn new concepts.

It's more obvious how some subjects, like history, might benefit from the use of interactive storytelling, but it's not so clear for something like computer science.  From my extensive experience using CS Unplugged activities, I can say the use of fiction in the activities helps kids and young adults grasp what are otherwise abstract concepts much more quickly than without it.  How might a more complex game or storytelling experience enhance this understanding?

One example I have been thinking about is the activity for finite state automata.  I never tell students exactly what we're going to be learning about while describing how the activity is going to work; I just promise I'll make it clear later.  Once I start talking about pirates, nobody seems to mind.  After all the students make their way from Pirate Island to Treasure Island, recording their routes along the way, we build up a complete map on the chalk board and compare how long each of them took for their routes.

Because the pirates are only allowed to ask to use shipping lane A or B at each island (at which point the island tells them where they will end up next), the routes are actually a series of A's and B's.  With these written out, I tell the students we just made our own language, and each valid route to Treasure Island is a word in that language.  The "Pirate Code," if you will.  Then we can start talking more and more abstractly and even work through some other puzzles involving state machines that reveal interesting characteristics of the languages they represent.

I know the students understand the concept at a basic level because they are able to solve the puzzles without too much help.  But what if we wanted them to understand on a deeper level? Maybe we're working with second year university students who need to go quite a bit further with the concept, for instance.

Would designing a more elaborate pirate world that had characters with goals and motivations help? Perhaps the player would somehow have the ability to choose what map to apply to a particular situation and see the consequences of that choice reflected in the story.  It might make them think about why that happened in the context of the properties of the map they chose, and then figure out how to choose a map that would result in an outcome more to their liking the next time.  (Naturally, these maps could grow to be more complex than simply representing shipping lanes.)  Even if the story (and the player's ability to control it) only serves to focus the player's attention on important pedagogical details, it seems like it could be hugely beneficial.

Yet the question still remains: can this win come from a simpler fictional layer or a non-interactive story? I don't know the answer, but I'm starting to think that running a few experiments to find out could be very worthwhile.  (Assuming, of course, that we can figure out this whole interactive storytelling thing in games in a more reasonable way!)

Examples of Games that Teach CS Concepts and Programming

In my previous post I introduced the fact that there weren't very many educational games that specifically aim to teach computer science concepts.  Here I'll share my list so far, and see if you can add any new examples.

Video Games

First let me share an interesting quote from a SIGCSE paper Digital gaming as a vehicle for learning:
During the past two years there has been a resurgence of interest in how to use digital games (e.g. video games, computer games and simulations) to support instruction in a variety of fields. The focus is on how to exploit the rich interactivity of 3-D, multiplayer virtual worlds. Computer science education has, for the most part, taken a different approach: rather than having our students play video games to learn concepts we ask them to build games to learn concepts.
This supports what I said previously: the use of games in CS education tends to centre on creating them rather than playing them.  Again, I don't think this is a bad way to learn — I just think that there is also potential in playing games to learn some of the trickier topics.

Without further ado, here is the list of games and related programs/resources that I've collected so far.  I haven't experienced them all directly, so the accuracy depends on those who suggested them.
  • CS Unplugged (not strictly games, but could be turned into games if desired)
  • Game2Learn (research group that focused on building games that teach CS concepts)
  • LearnMem1 (learn memory layout on a computer; can no longer find a link)
  • World of Goo (someone suggested it might indirectly cover some CS topics)
  • Manufactoria (sort of teaches Turing machines)
  • ToonTalk (gradually introduces children to constructs behind programming)
  • Karel the Robot (robot simulation that teaches programming)
  • Lightbot (use programmer style logic to solve puzzles)
  • 999 on Nintendo DS (knowledge of hex numbers required)
  • Dr Brain games (Island of Dr Brain apparently had programming challenge)
  • RoboZZle (makes use of stacks)
Do you have any other examples? Does your example teach programming skills or more abstracted concepts?