Tuesday, 4 October 2011

Game interfaces

Game interfaces 

link:https://www.cs.indiana.edu/~rawlins/website/interface/game.html

Although it is true that many user interface innovations first appeared in academic and research environments, the first commercialization of many innovations appeared in games. Scrolling windows, joysticks, trackballs, point-and-click interfaces, double-clicking, click-and-drag [...] appeared in games [...] long before the Macintosh interface was introduced.
Chris Crawford, "Lessons from Computer Game Design"
Game designers have a tougher job than most other software producers since all other software is either for work or education, so users are forced to use it. No one is forced to play a game. Consequently, games are where many cutting edge interface ideas arise. Making the interface more like a game makes it more fun to use---and more fun to build. It shouldn't use the tired
rectangular-windows-with-labels-icons-scrollbars-and-buttons
scheme, it should give joy and it should build an experience. To do so it must have goals and challenges, state-dependent animation, continuous feedback, interactiveness, responsiveness, continuous user control, and a feeling of being in a real place. Here are some characteristics of non-violent puzzle-adventure games like Myst, Riven, Obsidian, Journeyman Project 2, and Rama:
 
Purposiveness:
Goals: The game has a goal---everything is shaped toward accomplishing something. This gives the experience a purpose and helps place the incidents along a timeline or path, which also aids memory of those incidents.
 
Challenges: On the way to achieving the goal, the gamer faces a series of challenges. Each surmounted challenge tells the gamer that progress is being made toward the completion point (that is, accomplishing the goal).
Navigation:
Reversibility: Navigation is almost always reversible. Entering a room through a doorway means that you can exit the room using it as well. This lets the gamer know that exploration is (usually) harmless and is therefore encouraged, since any navigation act can be undone simply and naturally.
 
Immediacy: Navigation has immediacy and consistency. It breaks the suspension of disbelief to have to reach offscreen (that is, out of the world) to navigate.
 
Mystery: Not all of the space is revealed at once. Gamers have to travel around to see new things. Of course, once a thing or a place is seen a few times it might be reachable much more easily by other means.
 
Reality: Every movement takes a certain amount of time regardless of how fast the computation could actually occur. This increases the sense of objects being moved, or distance being covered. Timing is an important reality cue.
Reality cues:
Sounds: Incidental or background sounds (wind, water, surf, birds, insects, animals, machines) give cues about location and state and thereby increase the believability of the scene.
 
Consonance: Sounds are tied to animations and proceed in lockstep. Hearing a door slam a second after it visually slams breaks suspension of disbelief.
 
Music: Music soundtracks for cutscenes heighten the sense of motion between locations.
 
Animation: Smooth animation increases the believability of active entities in the space and helps place gamers in the space as they move through it.
 
Interdependence: Animations are state-dependent, not stateless, except possibly for aggregates like water and fire, and particle systems like fog, smoke, steam, clouds, and fireworks (which are perceived as a gestalt). Animation loops aren't just boring, they're downright annoying. Any movement catches our attention but if the movement is stereotyped it ceases to be interesting. Since it's moving, however, it continues to snag our attention, which is what makes it annoying. Blink tags, marquee tags, and animated gifs are all bad examples.
 
Permanence: Objects have permanence---they have a consistency of appearance from one angle or condition or state to the next (a chair seen in one scene will still be visible in another scene, although from a different angle). This helps the gamer move from location to location and not get lost and also increases the believability of the objects in the space.
 
Solidity: Objects are three-dimensional and texture-mapped. Animated objects move under acceleration; they don't simply have constant velocity.
 
Stability: Objects don't arbitrarily change size or position.
 
Shadows: Light has a source and objects cast shadows.
 
Realism: Instead of buttons and menus and text, controls are more interesting: levers, knobs, switches, valves, wheels, gauges. The extra cost of animating these controls is well worth the increased feeling that the gamer is controlling a real machine, rather than an abstract entity. Realistic controls also make it easier to see what state a control is in.
Landmarking:
Non-regularity: The space is colorful and interesting (that is, varied in appearance) and objects are non-regularly shaped (few or no straight lines and right angles).
 
Variety: The space has a lot of varied environments, varied object types, and (ideally) varied inhabitants. Not only is there motion on land, there is also motion on water, and sometimes air (and even space). The environments provide landmarks and the inhabitants provide local color.
 
Maps: The space often has maps and those maps are usually active (an active map is essentially another kind of control).
Interaction:
Constraints: Newton's Zeroth Law of Games: Games don't give error reports. Gamers can't make errors; their actions are artfully constrained so that everything they can do at any time is always legal.
 
Inertia: Newton's First Law of Games: Controls have consistent state. If a control is in a particular state it remains in that state until altered by the gamer or by other active entities in the space. Changing the state of a control then going away and coming back to find the control still in the same state adds to the feeling of being in a real place.
 
Physics: Newton's Second Law of Games: Timed entities (alarm clocks, time bombs, inflating baloons), and other entities acting under the laws of physics, can break Newton's First Law of Games, but the state of such entities is also predictable.
 
Consistency: Newton's Third Law of Games: Controls that look similar behave similarly. This promotes skill transfer---once you master one type of control all similar looking ones are obvious.
 
Feedback: Newton's Fourth Law of Games: Controls give immediate visual and aural feedback. This gives the gamer a feeling of being in direct control---things in the world exist and can be directly manipulated.
 
Unity: Controls are embedded in the space, not external to it. This increases the closure of the space and aids belief in its existence as a real place. For example, games don't have scroll controls; seeing more of the scene is as natural as turning in the real world.

General Principles

We learn by doing, so the world we interact with should let us directly manipulate objects in it. Those objects should give immediate feedback about their state, or state change, and most actions should be reversible. There should be no such thing as an error in the sense of trying to do something outside the constraints of the world and having the world crash as a consequence. That is absolutely unforgivable.
We like to feel that we're accomplishing something, so our every action should have consequences in the world and should be remembered by state change of objects in the world. This gives us direct evidence that our actions have meaning and consequence to the world we inhabit. The state changes we see also help us remember our actions and give us progressive guideposts on the way to achieve the eventual goal.
We like to be in control, so again, things should respond to direct manipulation and they should remain stable unless we, or other active entities in the world, alter them. Further, if we can see something we should be able to alter it simply and directly. Finally, immediate and multiple feedback (aural and visual at least) adds to the solidity and predictability of objects and therefore reduces the cognitive effort of remembering them.
We are better at recognition than recall, so things that look similar should behave similarly. Also, adding variety to our experiences gives things a timeline to appear in and thus make them easier to remember. Further, we like things near to hand so controls should be directly embedded in the world, not ancilliary to it; having to go elsewhere to change the state of something breaks our concentration on the task at hand..

Goals

The goal of the game might be for the user to teach the system about the user's preferences, behavior, and interests. There should be some visual indication of this, but a display of the graph of pages and their relationships is too complex to use as a visual indicator of progress. Whatever the display, it should emphasize progress and completion. The user must always be able to see that progress is being made toward the goal of the system having a good understanding of the user and should also always be able to see the distance to the next milestone.

Animation

Every activity, from opening a page to clustering pages to moving about in the space should be animated. Simply moving the mouse over the screen should cause something to happen, if only to flip between previews of the pages the mouse is passing over.
Pages should move around a bit in the space, especially in response to user action. For example, each page could have a "gravity" button and clicking it would cause all related pages to move themselves over to the clicked page. Clicking the button again restores the display to its previous state so that the user doesn't get lost in the space. Pages might also pulse or jitter if they happen to be related to a page currently being clicked on.

Interaction

There should be continuous interactivity. The user should always have something to do and the program should never, ever freeze. The user should never lose control of the interaction.
Power-user functions should be kept hidden until explicitly requested in some way. The user should have to be continually trying to reason out some hidden structure. There should be infinite undo so that users don't live in fear that their lack of understanding can cause fatal problems. The user should never feel afraid to try new things.

Feedback

The system might have a tally bar like in a pinball game that counts up how often it correctly predicts what the user is about to do before the user actually does it. There would then be positive feedback where the user would be getting good feelings when the numbers are really cranking along and the numbers would really crank when the user is feeling good. Numbers can also be translated into something more visual: perhaps an inflating balloon or something.
There might be a face to display how the system thinks it's doing (which may be different from the user's perception of how the system is doing). The more the face smiles (or frowns) the more the system thinks it's doing well (or poorly).
The system might also have a face that represents the difference between its various predictions of what the user is going to do versus what the user actually does. The goal of the game would then be to get a perfect smiley face (which is also shown as the target for the user to aim at). The trouble with this idea is that there is no obvious linkage between what the user does and how much the face changes. One potentially nice thing though is that it makes it much more visually obvious that the user is creating an electronic proxy within the system that will then be able to act responsibly on that user's behalf.
There should be continuous visual and aural confirmation about the state of the system; if the user clicks on something it should move, preview, or make a noise; if something is thrown away it should whimper or vanish in an animated way; if new mail arrives, or new pages are downloaded, there should be a ping and some visual change, and so on. Also, all these noises should be modulated by the content of the page and the context of the user---otherwise the feedback is not providing any other information except that the event happened (which would rapidly become annoying). The user should never be in doubt about the state of the system.

No comments:

Post a Comment