Table of Contents
The first section offers a working definition Interactive Surfaces and describes different types. Subsequent sections offer examples as well as some discussion of how this is applicable to games, and what the implications for game design might be. If you do not enjoy taxonomy for its own sake, you might want to skip to the next chapter.
A Surface is any triangle mesh (including the degenerate case of one or two triangles, e.g. point sprites or billboards) that is rendered to the framebuffer using shaders (e.g. a simple texture). Surfaces can be curved or flat, they can define the closed surface of a solid (e.g. a brush or non-convex polyhedron) or separate two volumes (water surface, glass windows).
I use the following categorization of surfaces with respect to their responsiveness:
Static Surfaces
Active Surfaces
Reactive Surfaces
Interactive Surfaces
These categories are based on assumed differences in responsiveness to the player, i.e. to player presence or action. The most important category with respect to this discissuon is that of Interactive Sufaces. I distinguish the following sub-categories of Interactive Surfaces, to be discussed separately:
Minimally Interactive Surfaces (MIS)
Partially Interactive Surfaces (PIS)
Fully Interactive Surfaces (FIS)
Transparently Interactive Surfaces (TIS)
Few of the distinctions made here can be considered absolute - in most cases, the distinctions are based on quantitative differences measured against a continuum, and more often than not, there is no clear metric by which to measure the differences. This is certainly the case for attempting to distinguish reactive from interactive. The same disclaimer holds true for properties relating to (e.g.visual) representation, i.e. output and reponse:
Textual Representation
Iconic Representation
View Representation
Each of the categories above is discussed separately, followed by a discussion of a few selected combinations of properties with some simple examples.
Static Surfaces are surfaces that do not respond to the player at all. As a rule of thumb, if there is no dynamic state associated with the surface in question, it has to be considered static. This used to be the case for most if not all surfaces: limits on memory made it impossible to store anything beyond a read-only material index for the vast majority of meshes.
Note that the player might affect lights or cast shadows, and a static surface might still change visual appearance accordingly, but as long as those changes simply approximate the lighting equation and do not signify any kind of state change, the surface is still static. However, if the physical properties of the surface as relevant to the simulation change in response to light, the surface is not static even if its texture does not change beyond light and shadow effects.
Like Static Surface, Active Surfaces do not respond to the player. However, an active surface's visual appearance and physical properties [1] are defined by an explicit state that changes over time. Textbook examples of active surfaces are animated textures or shaders that cycle through a (possibly pseduo-random) sequence of states.
As a design device, active surfaces require player adjustments (e.g. an active surface's state changes from damaging to inert and back, hence constraining the timing of player movements). This type of surface has a very compact state, which is explicitely or implicitely a function of time, and can be shared across all surfaces of the same type.
Reactive Surfaces respond to player presence or action. This type of surface needs per-instance state variables, as the surface state is determined solely by the player (within designer-set constraints). The textbook example of a minimally reactive surface is a binary on-time switch: two textures are used for representation, the designer sets the initial state, the player can trigger the transition to the terminal state at her discretion, but the transition is irreversible.
For practical purposes, not every modification of a surface's appearance in response to external events defines a reactive surface. It is possible to consider decals such as dents, scorches, bullet marks or spraycan grafitti responses to the player, but as long as these changes in appearance do not modify the surface's behavior (e.g. a burned floor tile ceases to be slippery, a shot-up light panel goes dark), they constitute visual effect of no relevance to gameplay and player tactics - however important for immersion, continuity and aesthetics.
In a related note, active surfaces that are not updated while out of player view are not reactive surfaces, as the response to player proximity is implemented for purposes of optimization. On the other hand, active surfaces that visibly respond to player proximity (i.e. the player can observe their switching on and off, and relate it to her own movements) should be considered reactive surfaces.
[1] It is at best a very bad idea to change physical properties without changing visual representation, as the player has to expect visual cues whenever gamestate changes. In reverse, it is usually uneconomical to change visual representation without a meaningful change in properties.