Amy Guy

Raw Blog

Showing posts with label interdisciplinary creative practices. Show all posts
Showing posts with label interdisciplinary creative practices. Show all posts

Wednesday, June 13, 2012

Shifting focus (from readers to authors)


By sheer coincidence, I find myself neck-deep in creating a custom Interactive Fiction engine during a year in which all kinds of new engines for authoring and enjoying interactive narrative are popping up. Many of these by established programming and literary experts in the IF community.

It feels like every week Emily Short posts a review of something new. Most of the ones I've seen recently are more of a Choose Your Own Adventure format than parser-based. Nonetheless, there is a lot I can learn about world modelling and code-free authoring from these systems. Not all of them are open to the public for creating though. All of them seem to be open to Emily Short, however, and she is doing a great job of describing and reviewing her experiences.

It occurred to me a while ago that creating the interface for authoring pieces for Palimpsest is potentially more interesting and important than examining the reader experience when it's all done. Readers are much more fickle, and those who spend time writing and creating are by definition the committed and passionate. I'm not saying the readers aren't. But a solid interface for authoring is going to make it much more likely that good experiences for readers are to be created. If I rush through the design and build of the software itself so that I can focus on filling it with content then quizzing readers about the immersiveness of their experiences - as was my original plan - there's a good chance I won't spend nearly enough time testing with authors (as I'll be doing the authoring) and will miss the opportunity to allow people to create immersive or particularly engaging experiences, jeopardising the outcomes of the user study stuff in the end anyway.

I only have about two months left to work on this in the context of my MSc. Whilst I need something substantial to fill my final report with, I'm certain I'll be continuing to develop this in the future, and I'll only end up having to redo bits from scratch if I cut corners the first time.

I also have to think about what I want to get out of my MSc, and how I want to use the opportunities I have studying in an art department compared to what would be expected of me studying in a computing department.

I jumped on the idea of 'user study stuff' because I know how to do this in terms of software, and I know how to write a lot about it.  Not that I don't find the immersion thing interesting, but overall I think it would be more valuable to both myself and any eventual users of Palimpsest if I produced documentation of detailed musings about the perhaps unfinished or forever-ongoing development of a custom engine and authoring interface for Interactive Fiction, rather than gloss over that to fill my report with lots of nice statistics and quotes and analyses about reader experiences that are ultimately invalid anyway.

And I can do this for an 'art' project, where the journey is equally, if not more, important than the outcomes.  Where for a 'computing' project, the documentation of the journey has in my experience generally been intended to be a build up to an overarching theoretical or practical conclusion.

So next up, look out for a discussion of the various engines for different flavours of interactive narrative that have been popping up / I've been noticing recently, coming soon to a blog near you!  (This one.  This is the blog it'll be coming to.  Not any old blog near you).

Sunday, May 13, 2012

UI for IF


This is the first in an upcoming series of posts about my final project for my MSc by Research.  For those who don't know, my programme is Interdisciplinary Creative Practices, or ICP for short, and my main focuses so far have been on Interactive Fiction (IF) and the Web.  My final project needs a log book.  Traditionally such a thing would be compiled by me at the last minute based on notes scattered around my workspace, emails to myself and entries on Google Calendar and Tasks.  It's high time I got a grip on my organisation and did this properly, so blog posts tagged "icpLog" will help me keep a proper track of ongoing thoughts and progress.

For my final project, I endeavour to create in a "location-aware Interactive Fiction engine".  If at this stage you don't know what IF is, read this nice description by Emily Short.

Historically IF is programmed using one of several specialist languages along with specialist software packages.  The one I am most familiar with is Inform 7, a brilliantly simple but incredibly powerful natural language.. language.. which is perfect for non-programmers who want to create IF.  I haven't actually made anything myself with Inform yet (I plan to, in the name of research), but I have read a lot of source code and tutorials.

Similarly, IF is traditionally played/read on a user's computer, in their local environment.  The open source JavaScript IF interpreter, Parchment, brings playing IF to the Web; much more flexible and shareable, and enabling of many possibilities.

One such use of Parchment can be seen in Playfic, which appeared around March this year.  Playfic offers a fully in-browser Inform development environment for authors, similar to the Inform software the experienced would be used to running on their own machine.  And of course, an online read/play interface for the IF consumers.

This interface affords the user the chance to share their work-in-progress with the IF community.  The source code for all of the games can be viewed, making it really easy for newcomers to learn how to get started, and for anyone to figure out how a particularly creative experience or interesting quirk has been achieved.

One of the aims of my project when I laid out my ideas last October was to lower the entry barrier for prospective new IF authors.  Having spent several years weaving in and out of technical and non-technical environments or groups of people, it's plain to see that even Inform might be daunting to some.  Whilst it appears like uber high-level natural language to us programmers, for a writer, things like verbose if statements, oddly structured sentences and repetition of logic that would be inferred by a human from just a few words, can be pretty alien.

In other words, the programmer in me looks at Inform source code and sees prose; no complex syntax to remember, and logical and basic programming concepts.  The writer in me doesn't see prose; she sees awkwardly formed statements and struggles with maintaining the fluidity of a story whilst attempting interlace it with conditions and behaviours of things.

I'm sure if they work together, they can figure something out.

But more importantly, I'm sure my creatively split personality can offer some useful insights when it comes to designing my own online interface for IF authoring.

During a few weeks in April this year, I built the first iteration of Palimpsest, as my project is so named, around the requirements of some folk from the University of Edinburgh's English Literature department.  Concentrating on the 'location-aware' part and ignoring the 'Interactive Fiction' part, the current alpha allows the author to input bodies of texts and allocate them areas on a map.  The user, upon starting a particular 'experience' on their smart mobile device, could wander around a particular area and have these texts dynamically pushed to them, to read in the surroundings intended by the creator.  English Lit. are using this to deliver historical and contemporary literary works written or set in Edinburgh, as part of the celebration of 250 years of Edinburgh literature.  There's more work to be done for them before it meets all of their specifications, and it'll be premièred during the summer.  I built it on Google AppEngine with Python and jQuery and at the time of writing anyone can sign in and create an 'experience' for their own city, at http://palimpsest.rhiaro.co.uk.

It's time for the project to branch, as I must turn my attention to the IF side.  I will be pondering the source code of Nick Montfort's Curveship for inspiration about processing user input (one of my initial ideas was to adapt Curveship itself to add the location-aware aspect and a Web interface, but the complex narrative stuff that Curveship does goes waaay beyond my needs, and I think that would end up being more complicated than starting from scratch).

I will also be filling my flat with paper sketches of user interfaces for the authoring of Palimpsest works.  I need ways to model characters (playable and non-playable), locations and connections between locations (shouldn't be too hard, as this will be based on the real world), objects and their properties, and interactions with objects and characters.  I have so far concluded that I need a system of actions and consequences; I should be able to apply this to everything.  Most importantly, I need to a user to be able to input this information as if they were writing a story.  Obviously there will still be some differences; it may be a disjointed story, spread across a series of input fields.  But there won't be any degree of programming syntax, or unnatural prose.  The system needs to do that work, and help the author to put the right information in the right places to allow this.  For the programmatically-inclined, we could perhaps consider the writing of a traditional story (novel, etc.) as procedural writing, and the writing of a Palimpsest interactive piece as object-oriented writing.  Maybe.  We'll see how that analogy holds up as the project progresses.

In terms of functionality, all that I'm really changing compared to regular IF is stripping out the directional commands - north, south, east, west, and alternatives - and replacing them with physical movement.  The system will know where the rooms in a particular story are on a world map, and the wonderful HTML5 geolocation API will know where the player is (once they've given permission for Palimpsest to track their device).  I've already done this.  It works.  There are varying degrees of accuracy.  If you're in a building, you're looking at between fifty and two hundred metres of accuracy, depending on your device.  Outside, I had it accurate to three metres, and the average was five to ten.

Now all I need to do is... everything else.  The idea of building an IF engine from scratch is pretty daunting, especially given the huge complexity of actions people can squeeze out of languages like Inform.  Palimpsest will have nowhere near these capabilities, not at this stage, and I need to remember not to get hung up on that.  I'll probably leave out scoring, and whilst saving progress is a must, 'undo' won't be a priority.  With Inform you can create random events and complex algorithm-based behaviours of objects and characters.  That's not going to happen for Palimpsest this round.  I also can't shake the nagging inferiority I feel thinking about the usefulness of the Inform development environment in letting you visualise paths through your narrative to check for bugs and dead ends.  My subconscious will be working hard on a solution to that, but I can't hope too hard for it to be an outcome of this stage of the project.  Based on the actions-consequences idea, it would probably be feasible to generate a flow chart of some kind to help an author fish out paths through the narrative that don't work.

As anticipated, writing this post has helped my brain spin into ideas mode.  Likely before the day is out, I will post again with some doodles and diagrams and a more solid idea of how to make this UI work.

Comments, questions and suggestions welcome.

Thursday, December 15, 2011

Interdisciplinary Memories

tl;dr - My MSc group made an art installation. Me? Art? Shocking, right. I've formed some new ideas and opinions, and had lots of fun in the meantime. Photos coming soon.

This semester I have been one fifth of the brains behind the ICP Group Project. Our brief was essentially to make something between us by December. There's quite a lot of scope there. The fact that we're working out of the College of Art probably also leant a few assumptions to what the final outcome should be.

When we started this adventure, I was still coming to terms with the notion that not everything needed a distinct purpose to be a valid contribution to society. What I mean is, whilst I understood the concept of art in principle, I still couldn't quite align the idea of art for art's sake with my view of the world. During the seminars, research and discussions of the past few months, things like the value of play; the possibilities opened by beginning research without a clear goal; the emergence of new ideas by unfocussed exploration; have all started to round out an initially biased view of the area in which I am now studying.

Don't get me wrong. I'm still not going to look at an unadorned mirror on a wall, labelled 'Untitled', and nod my head and make thoughtful noises about the meaning of identity. Some 'art' is just plain silly.

But I'm willing to take a little more time to think about the methods and thought processes that went into creating something, and what might be the end result in addition to the physical outcome. It's likely that I'll still be more of a fan of art that was created to raise awareness, to provoke thought, or to explore innovative uses of new media or technology. But art that was created 'just because' will get more of a chance in my books now than it might have done three or four months ago.

Being part of this kind of creative process no doubt influenced my altered perspective. We started the semester as five strangers: Katherine, literature; Tina, video editing and broadcast; Agnese, musical theory and graphic design; Liz, sociology and prettyful artsy things; and myself, that new fangled Interweb nonesense, and writing. We have grown into unit, mish-mashed our skills, learnt a whole lot from each other, and been fed extensively by Liz. It has been noted on a number of occasions how well we all gelled from the start. Thus the 'group' part of the group project produced no problems at all. That just leaves the 'project' part...

So at the start, when notions of an 'installation' or 'performance' were thrown around, I was almost horrified. The open nature of the project left us so much scope, we could pool our skills to do something truly useful or revolutionary. I didn't want to just 'make art'. My head was still in the computing world where the goal is always to make something that people will use, or that will be informative, or influential; that will reach people.

I wasn't completely close-minded, obviously. I went with the flow, as I am wont to do. And in doing so, I learnt much.

It was swiftly decided that 'memory' would be a suitable topic to explore for the group project. We start taking photos of our group meetings in case we could incorporate a super-meta aspect but we forgot quite quickly to keep this up.

Our goal became an installation, which was exhibited at Inspace on the 13th of December. Photos coming soon! This consisted of four boxes, metaphors for memory, and a wall hanging, each intended to explore a different aspect of the elusive theme. We ended up with Woven Memories (Liz's beautiful wall hanging), Spatial Memories (Katherine look at historical memory stores), Digital Memories (guess who), Tidal Memories (Tina's view on the insubstantial nature of memory) and Fluid Memories (Agnese's investigation of social nostalgia). Upon opening each the four boxes, projections trigger onto surrounding walls, enveloping the visitor in the work.

Although I had an idea of wanting to use social media as part of the project, it was Katherine's idea of physical records of memory (memory spaces) that particularly inspired my approach; this prompted me to think of how in the present day a subset of this is virtual memory spaces. An initial idea was to join Katherine on one of her photo taking expeditions around Glasgow and whilst she took photos of physical memory spaces, I would check-in to them using Foursquare, creating a connection between the historical physical and the contemporary virtual. Other commitments meant I was unable to go to Glasgow on the date planned, unfortunately, and this idea wasn't pursued.

Having decided that we would each dedicate something physical to the aspect we had chosen to consider, I sourced a box, RAM and old maps and was pleased to entrust the decoration to Liz who is far more proficient at making things pretty than me. (I absolutely loved the outcome).

Tina and I applied our technical abilities to learning the basics of Max/MSP and how to use Arduino boards. I am particularly pleased about our decision to make the installation interactive; I learnt a lot and a door that I didn't previously know the location of has now been opened to me. The use of Arduino stuff is something I will definitely investigate further in the not-too-distant future.

I knew not to be too prescriptive from the outset, as what I was building would evolve as I discovered things I could and couldn't do. I dropped Foursquare for the final outcome because the output wasn't that interesting, and concentrated instead on Flickr and Twitter. I went through several iterations using different methods to try to get around various limitations of the Google Maps API. Eventually I settled on the jQuery plugin GMap3; although I still hit a few stumbling blocks at the last minute that I had to botch around because of time pressure (using an AppleScript to refresh the page was not the most elegant of solutions, but the JavaScript just wouldn't work. It didn't make sense, I swear. It did, however, introduce me to AppleScript for the first time, and the power that lays behind that...).

The aesthetics of the thing could have done with a bit more work, but the amount of time I had to spend getting the script to technically work meant I was left with much less time and energy to focus on the appearance than I would have liked.

Last minute problems with hardware meant that we had to lose the interactive element of my box (mine was the last one we were due to wire up). This is in part what encouraged the change of location of my projection, however, and I think it was far more effective beamed on the floor than it would have been projected onto a wall. Plus, having it triggered and hidden by the opening and closing of a box seems unnecessary, and perhaps counter intuitive in hindsight, as during the exhibition people would watch the activity on the map for extended periods of time.

I enjoyed working on a project where artistic intention was more important than code quality, and a final outcome was not strictly defined. This gave me flexibility to explore and work outside of the scope of computer science boundaries that I'm used to. Though obviously creative thinking and outside-of-the-box solutions are highly encouraged in software development fields, there is certainly an underlying rigidity or 'way of doing things' that is absent when applying such technology in an artistic context. And if I do end up back in the 'official' computing world, I'm certain that the kinds of experiences I gain during ICP will massively enhance my skillset as a creative developer.

You can check out what I projected here. This has only been tested in Chrome - I cannot be held responsible for irregularities that may occur using other browsers :)

It's worth noting that there are some truly wonderful people who gave up their time, resources, advice and patience to help us out during the project. Couldn't have done it without them!

Et, voila:

Remember When..?

I'll link some more photos asap...

Saturday, September 17, 2011

University 2.0: first impressions of a new world

I'm excited.

I'm scared.

I'm filled with anticipation.

My feet are tired, my brain is in overdrive, and my imagination is on fire.

And classes haven't even started yet.

I'm inspired by the city. It's beautiful; wet and green and cobbled. Each and every one of the University buildings I've seen has a character all of its own. I've walked many miles further than necessary, over the past seven days, mostly due to map-related incompetencies. I can't wait to hit the multitude of museums and delve into the vibrant history embedded within these streets.

I'm inspired by the University. Tours of the facilities this week have blown my mind and stripped limitations from my imagination. In my leap from science to art, it suddenly seems okay to break all the rules, okay to experiment, and - though I have not quite come to terms with this idea yet - okay to consider form over function.

I'm inspired by the people. Somewhat unexpectedly (perhaps I didn't do enough background research before I came), University staff involved with my course have histories, projects and research in areas that directly map to my interests and passions, some of which I'd almost forgotten I had. My coursemates are a diverse bunch, with backgrounds in literature, music, film, art and social sciences, and there is not a doubt in my mind that our skills will complement each other perfectly as we collaborate on projects over the year ahead.

I'm inspired by freshers week. I've gone along to meetings and events organised by a ton of different societies, mostly food related. I've met some great people whose names I've already forgotten. I've picked up plenty of free stuff, and I've talked to plenty of strangers in that way that is only really socially acceptable during freshers week.

I'm daunted by age and by time. I've hung out with first years, and felt horrendously old upon realising I'm no longer eighteen. I've been to postgraduate events, and become tiny in a room full of people who are all older, wiser, and have far more idea of why they're here and what they're going to do. Most of them don't, of course, but I feel inexperienced and lost nonetheless. And I am suddenly conscious of every passing second, terrified that a year will not be enough for me to dream of everything I want to accomplish here, let alone accomplish it.

I'm fed up of people asking me what I'm studying. I always have to say it twice, and I have the standard blank-look face emblazoned on my subconscious. I really need to come up with an elevator pitch a Twitter pitch summary of what the course is about. By that, I mean what the course is about for me. Because everybody's interpretation will be entirely different.


So, this semester, in the all new Interdisciplinary Creative Practices...

I have a core course of Postgraduate Research Methods, attendable by all postgraduate students, and in the case of masters students, a chance to kick start a PhD, should we choose to do one in the future.

I have a core module called ICP1, which is a series of seminars lead by representatives from a variety of disciplines, covering a wide landscape of interesting topics.

I'll be part of a collaborative effort for a pretty hefty looking group project, which is as yet undiscussed.

I am now a member of CIRCLE, and will be attending seminars and conferences lead by those smart people.

And I have 20 credits worth of option, which I have elected to fill with the Advanced Natural Language Processing course from the School of Informatics. That's right. I'm doing a course about something I've never studied before, with the word 'advanced' in the title. Deep end alert. (Those Who Know seem to think I'll be able to manage it, so here we go).


Naturally with all of this inspiration floating around, I've started brainstorming for projects. My recent forays into the world of interactive fiction turned out to have been perfectly timed and entirely relevant. Since I'm not particularly talented with regards to the visual or aural arts, the textual ones are likely to be come a primary focus of mine. Team this up with technology, and I'm bursting with ideas. Not to mention overflowing with joy, as I revisit my writing roots and childhood dreams in earnest. And, hopefully, also in a way that is socially relevant. Because if I end up doing research that doesn't in some way impact upon the human condition, I won't quite forgive myself. I am getting the impression that in the art world, everything can be socially relevant. I still view this as a potential slippery slope, and am determined to ensure I don't get too wrapped up in my own little art cloud that I forget about the rest of the world. It's all very well exploring and speculating, and hypothesising and dreaming. But I think it rather important that that lead to action.

And doesn't this relate quite nicely to this week's ICP1 reading? I'm half way through Two Cultures by CP Snow, and I swear that there is a small metaphorical possibility that this guy jumped into the future, into my head, gathered a mess of thoughts from the past three to five years, made them coherent and put them into the context of his own decade, then published the essay. How cheeky. I haven't finished it yet, but it is so far an entertaining and relevant read; I will likely offer further analysis upon completion. And probably after the seminar in which we discuss it.


All in all, I'm pretty damn sure I'm in the right place. This move was a last minute and unexpected (even on my part) decision, and I'm pleased I made it. I'm more aware than ever of the idea that has always lurked in the back of my mind: that I have a scientist's mind, but the soul of an artist. And this interdisciplinary adventure offers me an unrivaled opportunity to explore the potential offered by that combination.


PS. If anyone can come up with ANY reason for me to NEED to use the 3D printer here in the next year, PLEASE get in touch.