Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
In the past decade or so, games have started to become much more data driven. For example, the Actor system lets you create whole classes of different actors by just mixing and matching different components. You can even add and remove components at runtime, making it possible to completely change an actor’s definition, behavior, and properties without having to recompile and relaunch the game. The days of having hard-coded constants that affect gameplay are coming to a close, being replaced by tuning hierarchies that are completely in the hands of the designers.
As a programmer, my job is becoming more about enabling the designers, artists, and musicians to be creative. I spend my days creating tuning hooks for them to play with the simulation. This is an incredibly powerful concept because it means that once a system is working, the designers can iterate on it without having to talk to me at all. On The Sims, a programmer doesn’t need to be involved in creating every single television, he just needs to figure out the first one. And with a bit of cleverness, he may not need to be involved in any television objects at all since they can be defined entirely in data. The available channels, the amount of fun it provides, and so on can all be set by the designers.