Archive for the ‘Adventure Games’ Category.
Teaching Your Dog Tricks Through a Glass Window: The 10/Gui Interface as an Adventure Game Controller
Adventure game developers have tried a bunch of ways of making it easy to control characters in 3d environments. Myst stuck with the basic point and click. Grim Fandango used the numpad on the keyboard. Gabriel Knight 3 used both the mouse and keyboard: the mouse moved the player, and the keyboard controlled the camera.
With all of these…it’s always felt a little bit…restrictive.
A few weeks ago, Ben Croshaw reviewed the new Monkey Island game. Here’s the review. Pay particular attention to 1:50 when he talks about the mouse controlling a character in a 3d environment.
That’s exactly right. He’s hit the nail on the head. It’s like trying to teach your dog something through a glass window.
The 2D interface of a mouse or keyboard makes actions in a 3d world awkward.
Multi-touch improves on 2d interfaces by giving us more bandwidth (multiple fingers = multiple cursors). If this is the next step in desktop computing:
What does that mean for 3d adventure games? How can 3d adventure games leverage multi-touch?
For that matter, how can 2d adventure games leverage multi-touch? Think of all of the puzzles…
If you don’t know this already, I really dig adventure games. Seriously. Just click these words to see how much I dig them.
And I keep running into adventure game stuff in the most unexpected places. A few days ago, Yuri Takhteyev from the Faculty of Information spoke to the Software Engineering group about his work studying the use and popularity of the Lua language in Rio de Janeiro, Brazil. When he brought up Lua, I couldn’t help remembering that Lua was used by the GrimE engine to script Grim Fandango…
Wouldn’t it be awesome to find a way of turning my passion for adventure games into something that is useful in the field of Computer Science?
My supervisor has advised me not to think too much about my research paper just yet, and to just peek around to get a feel for what’s going on in the various facets of Computer Science. I take this advice to heart, and yet I can’t help noticing where my passion for adventure games might be applied…
Here are a few things I’ve come up with:
Storytelling Alice is an attempt to find a fun, intuitive way of teaching basic programming with the Alice language to middle-school students. It was designed and developed by Caitlin Kelleher as part of her PhD thesis at Carnegie Mellon. Storytelling Alice is designed to use storytelling as a motivating context to get students to learn various programming techniques.
In Storytelling Alice, students are compelled to learn more in order to tell more of a story. I wonder if they’d be willing to learn more to reveal more of a story? This would be very similar to the way adventure games reward players with story after solving a puzzle.
I’ve recently started taking Khai Truong’s CSC2514 – Human-Computer Interaction course. One of the first papers he got us to read this week was one that he’d written on storyboarding.
Put simply, storyboards are used by interaction designers as a low-cost way of testing out designs with their potential audience. They are similar to the storyboards used in writing/designing movies or television productions, but are instead used to communicate use cases, environment of use, physical embodiment of the system, etc.
Here is a copy of the paper, if you’re interested in reading it.
Here’s something I found interesting:
Commercial products marketed specifically for storyboard creation are available, but they are designed for experts and can be difficult for novices to use … Also, expert designers expressed that the greatest challenge for them is storytelling. These software products are not designed to support that process and may even be detrimental to it, because they do not provide complete creative flexibility in terms of what can be developed.
Very interesting. Adventure games are designed from the ground up to tell a story. I wonder if the tools that adventure games are created with could lend something to these storyboard creation tools?
As my studies continue, perhaps I’ll report more potential uses for adventure game technology.
Until then, I’ll leave you with a clip from a playthrough from one of my favourite adventure games of all time, The Dig. It might not be Dicken’s, but damned if it doesn’t hold my attention with an iron grip.
So, yesterday I wrote:
[W]hat can Drama bring to Computer Science?
The easy one is presentation/communication skills. A CS student might be brilliant, but that doesn’t mean they can present or communicate. And if an idea can’t be communicated, it’s worthless.
But what else? Any ideas? I’m going to think about this for a bit, and I’ll see if I can come up with any more.
I posted the question on Twitter, and on my Facebook. I was quite surprised by the amount of feedback I got back – apparently, quite a few people are interested in this topic.
Thanks for everybody who posted, or who came up to talk to me about this! Let me summarize what I heard back:
- Without a doubt, work in Drama hones movement/body senses. It also trains us to use and take care of our body, and voice, like a musician would take care of a musical instrument. Spending too much time hunkered over a keyboard can have detrimental effects on the body over time – I can personally admit to having absolutely awful shoulder tension, no doubt to my constant typing. I only became aware of this tension, and how to deal with it, thanks to my work in Drama. The dichotomy between body and mind is, in my humble opinion, a Western myth, and when you stop separating them, and get them to work together, amazing things can happen. Just ask any contact improviser.
- Drama is also emotional work. No, this doesn’t mean we sit in a big circle and cry, and get credit for it. Emotions are something that we study – how to mimic them, how to summon them out of ourselves, how to describe them, and abstractly represent them. This is where Psychology, Drama, and Human-Computer Interaction might have some overlap. In particular, it must be remembered that theatre is a communications medium between the actor(s) on stage, and the audience. A webpage is also a communications medium. Perhaps the theatre can teach a website a thing or two about communication. I wonder what Marshall McLuhan would have to say on all of this…
- Drama folk are creative, and are used to doing impossible, unreasonable things. If you ask them to fly, they’ll figure out a way of doing it. It’ll probably be abstract, and involve crazy lighting effects, but they’ll do it. Production Managers are used to getting crazy, impossible requests from Directors all the time. In my opinion, that’s what Directors are for! Sometimes (usually due to time constraints), the Production Manager just says no to the Director – usually, though, they just go ahead and make impossible things happen – like building a triple layered reflection box. This thing was a beast, and used a ton of computing power for live, context sensitive visual effects. I’m proud to have been a part of that.
- In Drama, if the project is no fun, the end result suffers. I’m pretty sure the same goes for software. Drama students have a way of finding the “game”, the “jeu”, and the “play” (that’s why it’s called a “play”, people!) in what they’re doing. The best actors are the ones who are clearly having a great time on stage, and are sharing this with the audience. I believe this is applicable to software development…
- If you want to think about complex systems, think about the stage. At any given moment, n actors are on stage, interacting with various bits of set or props, interacting with each other – and each has their own motivation and personal story. It can’t be a coincidence that the I* modeling language orients itself around terms like “actors” and “goals”. It also can’t be a coincidence that many adventure game engines refer to in-game sprites as actors…
But now I want to hit the big one. There is one thing that I really think Drama can bring to Computer Science. Drama students are very good at it. From what I can tell, Computer Science students rarely get exposed to it.
That thing is collaboration skills.
I already know that a few of my fellow Drama students will laugh at that – and say, “there are plenty of people in this department without collaboration skills”. Yes, this is true. But they tend not to do very well, or produce anything too interesting.
For me, the best, most exciting stuff comes when I’m with a group, and we’re not sure where we’re going with a project, but we just try things. We all throw a bunch of ideas in the middle, and try to put them on their feet. The most unexpected things can happen.
Two years ago, I took a course in Experimental Theatre. We were broken down into groups of 3 or 4 right at the beginning of the term, and given this challenge – show us what you like to see in theatre. Show us what you think good theatre looks like.
That was it. A blank canvas. No script. No “spec”. Just each other. It felt hopeless at first – we’d improv things, trying to get a feel for what our group wanted to do. Nothing would happen, it’d fall flat. We were lost.
But slowly, something started to piece itself together. We found some material that we wanted to play with (The Wizard of Oz), and a subject that we liked – “home”. What it means to be home, why people leave their homes, why we miss home, why we can’t stand home, what if we can’t get home, etc. We divided the work up into 4 sections – 1 for each of us: Dorothy, Cowardly Lion, Scarecrow, Tin Man.
It’s really hard to describe what we did. The characters and structure from The Wizard of Oz was just a playground for a huge meditation on what “home” meant to different people.
And, wouldn’t you know it, the Robert Dziekanski Taser Incident happened just a week or so before we were to present. It integrated perfectly into our piece.
When we finally presented it, some people were incredulous, others nauseous, others outraged. Some were crying. We had a huge class debate on whether or not it was appropriate to include the film clip of the Taser Incident in our piece.
But a lot of people really got something out of it. And I believe a bunch of people from that class went to a protest rally about the incident that took place only a few days later. I heard a lot of really positive things. We were so excited by it that we almost took it to the Toronto Fringe Festival.
In my opinion, that was one of the most interesting, educational, horrifying, and rewarding art pieces I’d ever been involved in. And it all started from nothing.
When are Computer Science students grouped up, and told to make whatever they want? When are they given total freedom to just go crazy, and come up with something beautiful? Something unique? When are they given the frightening prospect of a blank canvas? Maybe I’m being naive – but where are the collaborative creativity assignments in computer science education?
Now, I can imagine someone shouting – “but what about those group assignments! What about CSC318, or CSC301? Those were collaborative!”.
My friend, thanks for trying, but there’s a distinct difference between group problem solving, and collaborative creation. In my mind, for collaborative creation at its best, the ensemble starts with nothing and must create something from it. It’s the difference between having a script to toy with, and not having a script at all.
And don’t just tell me that an independent study fits the bill. The word “independent” sabotages the whole idea – the key word is collaborate.
Oh, and did I mention that Artful Making sounds like an excellent book? Why don’t you go to their website, and read the forward by Google’s own Dr. Eric Schmidt. I found it very illuminating. I think this is going to the top of my to-read list.
I wouldn’t consider myself a “gamer” by any stretch of the imagination.
Just watch me try to play Halo – I’ll run around in circles, button-jamming before somebody mercifully puts me out of my misery.
And that’s common across games that involve me running around with a gun. With the exception of Portal (which was incredible), the whole first person shooter genre kind of bores me. I’m not really impressed by amazing 3d graphics, or physics/particle engines. I just…don’t care. I just don’t get the same pleasure out of blowing up and shooting enemies that other people seem to.
I like something a bit more cerebral. I like story (which is why Portal is an exception). I like puzzle solving. I like thinking for a character, not just running around, pulling the trigger for a character.
And this is the way it’s always been for me.
But ever since I was a kid, I’ve had a real passion for adventure games. I used to play all of the old Sierra stuff…Kings Quest I-VI (before it turned lame – VII onward), the Space Quest series (5 being my favourite, but I have a soft spot for the original), the Gabriel Knight series…
And that’s just Sierra. LucasArts brought about Sam and Max, Day of the Tentacle (a masterpiece), The Monkey Island Series (also brilliant), The Dig (my personal favourite), Full Throttle, Grim Fandango…
I loved these games. I still love these games. I love being integrated so deeply into an interesting story, and having to rely on my wits and intelligence to solve problems. I get a cerebral kick out of solving the various puzzles that the game designers throw at me.
And what these games all compel me to do, without fail….is: to make one. Make an adventure game. Tell a good story. Suck the player in, and throw puzzles, deep character, and thick story/plot at them. After I finish one of these games, I usually end up Googling “how to make an adventure game”, and spending the rest of my night reading up on it. And anytime I’m on a holiday break, and have nothing to do…I always gravitate to the subject.
I’ve read all about LucasArts SCUMM and GrimE engines…Sierra’s AGI and SCI engines… Adventure Soft’s AGOS engine… and I’m grateful for the ScummVM and FreeSCI folk who share my passion, and have allowed me to play all of these old games on my Linux box. Reading about these engines just makes me want to use them to build my own game.
But somehow…they never satisfy me.
The MAD adventure game engine is open source, and has some good ideas…but the code is also a bit of a mess, and hasn’t been maintained since 2003.
So I’ve always wanted to build my own adventure game engine, and solve all of the problems that one would have to in order to make it work: path finding, graphics, animation, scripting, layering/masking, fonts… Lots of neat sub-problems. It’d be hard, but I also think it’d be a lot of fun.
So just watch me…it’ll happen someday.