Sunday, September 27, 2009

View predicates

If you're not actually working in game design the term "view predicates" might not necessarily mean anything to you without explanation, but the concept is pretty simple. The word "predicate" is from the Latin praedicatum, from praedicare ‘make known beforehand, declare’. In game design it refers to something that's required (a condition that has to be met) before you can do something else. For example, I must have my car key in my possession before I can drive the car. A "view predicate" specifically would be something that's required before you can see something else.


It's a fairly simple idea and one that we mostly take for granted, but older games didn't have this functionality and it meant that quests either had to be designed to not need this kind of functionality, or the players would have to suspend disbelief when what they saw didn't always sync with the stage of the quest they were on. As an example, I'm trying out Aion this week and have come across a number of instances where it seems they either don't have view predicates, or didn't bother to use them. I just finished a quest this afternoon, called "Where's Rae This Time?" which has exactly this problem.


It seems Rae's father has a problem with his daughter, who's always running off and getting into trouble. I'd already found her once before in an earlier quest, and now she's gone missing again. The problem with this quest is that another quest that someone else gave me earlier on happened to send me into the same caves where Rae is hiding for this quest, and of course, since I've already had to rescue the girl once before, I recognized her. When I saw her in the cave while on the other quest, I hailed her expecting to be offered a quest to get her home again, but I wasn't. She wouldn't say anything to me, and I didn't have the option of telling her to go home again.


Instead, I had to make my way back to her father and get the quest from him to go and find her, and unfortunately her father was about a 5 minute run away from her location. And then my own knowledge got in the way of me. Once I accepted the quest called "Where's Rae This Time?" I immediately ran back to the cave, since I already knew where she was. And when I got back to the cave, Rae still wouldn't talk to me and I still couldn't tell her to go home. When I actually read the details of my quest journal, I realized the quest wanted me to go and talk to Nobekk first, a fellow in the same village as Rae's father. So I had to go all the way back again and ask Nobekk if he knew where Rae was, and the Nobekk sent me to ask Derot if he knew where Rae was, and Derot showed me a little cut-scene vision of the caves and finally told me Rae had headed that way. So back I ran to Rae yet again thinking I could finally get her out, but she still wouldn't talk to me, because apparently I had failed to also stop and talk to Naito just before the entrance of the caves. Back yet again to talk to Naito, and then, FINALLY, I could go back to talk to Rae and she finally let me progress with the quest.


Needless to say this was a somewhat frustrating quest experience, and very immersion-breaking. And while, admittedly, a lot of the back-tracking was due to me being lazy about reading the exact details of my quest journal, it was the fact that I already recognized Rae and already knew where she was that caused me to be so hasty, and that is a design flaw. It's just frustrating to a player who already knows where Rae is to force them to jump through hoops that assume they do not know where she is and can't be bypassed. Two better quest designs spring immediately to mind, though there are undoubtedly others.


First, obviously, and probably easiest, the quest designer could have used view predicates. A view predicate on Rae saying that I have to be on the "talk to Rae" step of the quest would have prevented me from ever seeing her before I needed to find her. I'd never have known she was there, and therefore wouldn't have gone running off to talk to her too early -- I would really have needed to talk to all the people the quest required in order to gather the clues as to her whereabouts. This would have made their steps of the quest relevant and useful, instead of irritating and immersion-breaking.


Second, if for some reason technical limitations of the game make view predicates impossible or impractical, then change the quest so that you can get it from either the father or the daughter. If you find Rae first and hail her, she explains what she's up to and you can accept a quest to help her and get her home. If you go to the father first, you can follow the quest steps as they are currently laid out. This could either be done as two different quests, either of which permit you to proceed to the next quest in the line, or the quest could be rewritten so only the finding of Rae actually updates the quest, and the clues from the other people are available if needed but not required as quest updates. Of course, planning the other quests so that you're less likely to bump into Rae earlier would also be helpful.


View predicates are a great tool for a quest designer telling a story and I'm actually really surprised that Aion seems to be lacking them. I use them frequently when designing quests for EQII, as they allow different players to see the world slightly differently depending on what they've done in the past. For example, one quest that I created in Lavastorm asks players to help repair a forge chimney for a goblin there. The forge is visible at all times. The broken chimney is visible if you have not completed the repair quest, and invisible once you have. The fixed chimney is invisible until you finish the repair quest, and remains visible to everybody who has completed that quest. Therefore, anybody who has not done the repair quest sees a forge with a broken chimney, and anybody who has helped the goblin repair the forge sees a fixed chimney, which is completely consistent with their in-game experience.


Of course, you don't want to go too far overboard using view predicates, as it would lead to confusion if they were used so extensively that different players see completely different worlds. (Player 1: I'll meet you over by the red house under the tree. Player 2: where? I only see a blue wagon under a mushroom?) For small details like a chimney appearance however, it's definitely an easy and effective way to give players the feeling they're making a permanent impression on the world, and help give them a more immersive experience within your game.


Apart from a bit of view predicate irritation though, I'm enjoying Aion so far. It doesn't seem to be doing anything very original -- lots of parts are highly reminiscent of the original EverQuest (my fire pet even looks similar to my EQ1 magician's), the crafting looks suspiciously like EverQuest II's, and many UI elements like the map and quest screens are extremely similar to World of Warcraft. However, it is an extremely pretty game, which always wins points in my books; it's relatively well polished; and it does an outstanding job of making the player feel important early on, particularly through the use of little cut scene storytelling segments. I don't know if I'll end up playing it long-term, but I'm having lots of fun looking around for now.

1 comment: