I went by to OLPC (One Laptop Per Child, the nonprofit that has created and deployed worldwide the green laptop for kids) yesterday for some discussion of narrative interfaces. I explained the basics of Curveship and what was interesting about it from my perspective, mentioning that one could hook the narrating engine up to something other than an interactive fiction world. I also found out that others had some of their own, very interesting, ideas.
Chris Ball, for instance, showed a proof-of-concept where he hooked up the simulated world of Curveship’s Cloak of Darkness, the classic simulated example world, to a graphical display and a graphical system for inputting commands:
Source is available on github. While it doesn’t generalize to every Curveship game, what it presents on the screen here is done without any additional game data: Chris’s system determine that the south room is dark and obscures it, determines where the exits are, places objects in rooms, and generates rooms of random size since there is no way to determine how big or small a room is. The only thing the systems knows about the underlying simulated world is what’s in fiction/cloak.py, the file I put together to demonstrate Cloak of Darkness in the usual textual interface.
On the one hand, it more or less discards all of the work that fascinates me the most, the text generation and narrative variation part of the system (*). But on the other, it’s the most radical narrative variation yet – replacing the textual interface with a graphical one. A pretty neat twist on the system, and one which is very interesting from a research standpoint if one’s interested in comparing image and text in narratives.
I hope work on this will continue and that we’ll find other mutually beneficial ways to connect Curveship with the OLPC project.
(*) It doesn’t really discard these or truly “replace” the text channel. You also get to read the textual description of rooms and the textual representation of actions in windows as you play the game. But it makes the main interface a GUI rather than a textual exchange.