Tuesday, October 19, 2010

Dynamic Environments

I tend to be kind of unforgiving of static environments, worlds that do not react to a player character, when the alternative is an option.  It's the easy way out for developers, and under the right circumstances quite acceptable.  But it isn't believable.  In many cases it is our objective as developers to allow our players to become immersed in our games, and believability is a large part of that.

A dynamic world, a setting which exists, lives and breathes independantly of a player is the key to immersion.  This can include a good AI for NPCs, assigning them a routine to follow when not being interacted with and reactionary responses to interface with the player.  Multilinear dialogues that change with player behavior add to this effect.  Even these elements of believability need groundwork, it's the things we take for granted that make a game more real, and aren't really noticed unless they are missing.

It is the absolute environment basics that build the foundation of a believable game environment.  Vegetation that responds to winds, weather effects, flowing water currents with leaves drifting downstream, birds of squirrels doing what birds and squirrels do when players don't bother them, and run when they do. Grass that parts and water that ripples when a character moves through it.  Steamy breath when it is cold, footsteps in mud or snow.  You don't need tons of details, but the more details you have the more the world lives and the more intense the experience for the player.  All it really takes is some animation work to already existing models and a statement loop checking for player proximity.  This can be as simple as triggers on a character's feet that give off a sound everytime they come in contact with the ground.  It can even be different sounds, based on information the trigger receives from the ground it makes contact with.

It's a little bit of extra effort, and believe me, it will show.