Fun vs Realism in IF

One thing I struggle with at times when coding on my WIP, is the idea of realism in modeling objects or actions.  I think often we (or maybe it’s just me) can get caught up in perfectly implementing something and duplicating it’s exact functions that we forget or don’t realize that often our mundane tasks aren’t really that fun.

Let me share an example of something I was working on a while ago (still in the works, just on a bit of hiatus at the moment).  Early in the game, the PC comes across an elevator.  My original implementation had the complete function of the elevator.  When standing outside, you pushed the call button. Then you waited for the elevator arrive.  If the elevator was on the 3rd floor and you were on the 1st, it would take 2 turns for the elevator to arrive.  I had implemented a floor indicator above the elevator that told you exactly where the elevator was each turn and then when it arrived, the door opened.  Then after two turns, if you didn’t trigger something else, the door would shut automatically.  You got in the elevator and the process repeated itself as you moved to your destination.

A typical transcript might look like this (abbreviated of course):

You are standing in front of the elevator on the 1st floor.  Beside the elevator is a call button and above the elevator door an indicator showing that the elevator is currently on the 3rd floor.

>push call button

When you push the button you hear a distant ding and then the whir of the elevator as it begins to descend.


You are still in front of the elevator but the floor indicator now says 2 as it descends to you.


You wait and the elevator has arrived and the doors part.


You enter the elevator.  Before you is a panel of floor buttons and again above the door is an indicator showing that the elevator is currently on the 1st floor.

> push floor 3 button

The doors close and you feel the elevator begin to lift.


The indicator above the door indicates you’ve now reached the 2nd floor.


Well you get the idea.  In the real code, I had much more interaction you could do while waiting, but the essentials were there.  I finished it up and I was quite proud of myself.  I had learned a lot during the development of this and actually had thoughts on expanding it even further.

But it wasn’t fun!!!

After playing through the elevator section multiple times during testing of it as well as coding up the areas on the upper floors that I was moving to, I was sick of it.  I didn’t want to wait around for the damn elevator to show up.  Ugghhhh,…..what to do.

Well I scrapped it all.  Well not really, there is an elevator there still and you still need to use it to go to the upper floors (and of course I saved all the code off in my archives to reference later), but the transcript goes a bit like this now.

You stand before the elevator on the first floor.  Beside the door is a call button and above the elevator is a floor indicator showing the elevator is currently on the 3rd floor.

>push call button

You push the button and you were the elevator begin to your floor.  After a few moments the doors part and the elevator has arrived.


You enter the elevator.  Before you is a panel of floor buttons and again above the door is an indicator showing that the elevator is currently on the 1st floor.

>push floor 3 button

You push the button for the 3rd floor and the doors close.  You feel the elevator being to rise and a few moments later the elevator doors open and you arrive at your destination.

Much better….I still kept much of the scenery and things to play with there, but I made the travel much easier.    Still perhaps not the epitome of fun, however it keeps enough of the realism of the elevator without forcing the player to step through all the mundane steps that we take each day without thinking about it.

My takeaway on this is to make sure that no matter how cool the code is, no matter how realistic it may be, unless I’m writing a historical simulation or a particular puzzle or story element truly requires that level of detail….I need to make sure it’s fun and truly necessary before putting the player through something truly mundane.


3 thoughts on “Fun vs Realism in IF

  1. This is a lesson that many IF authors ought to learn, even it’s far from new. We’ve already seen this to some extent by the decline of hunger, thirst, and sleep daemons; bathrooms that aren’t implemented as full rooms but just messages that leave the PC in the hallway; and doors that are far more friendly, opening themselves, or even unlocking themselves (if the PC has a valid key), in response to attempts to go in the door’s direction. I think much of it comes down to the author asking him or herself why they’re adding something — does it serve the story? does it feature in a puzzle? does it make the game more enjoyable for being there? If it doesn’t do any of those things, maybe it shouldn’t be there.

  2. I agree David, it’s become better over the years, but it’s still a bit disrupting when I’m presented with “What would you like to unlock the door with?” Well how about the only damn key I’m carrying! 😉

  3. Here’s the important thing to realise about realism: total realism is not possible in art. This is as true of interactive fiction as it is of

    When game designers say that they’re committed to realism, they always mean that there’s a particular thing that they want to make more realistic. Usually it’s a thing that they think is particularly important. Similarly, when audiences complain that something’s unrealistic, it’s a signal that they think that accurate depiction of that particular thing is important. Or else they’re just being wankers.

    The decision you have to make as a designer is which aspects of reality are worth focusing on. If you care deeply about elevators and think other people should too, go for it. If you think there’s something more worthy of your attention, dedicate your energies and the players’ time to that instead.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s