Play games

We probably all have a pretty good intuitive notion of exactly what a game is. Play games the typical term “game” encompasses board games like chess and Monopoly, card games like poker and blackjack, casino games like roulette and slot machines, military war games, computer games, types of play among children, and the list goes on. In academia, we sometimes talk about game theory, in which multiple agents select strategies and tactics in order to maximize their gains within the framework of a well-defined set of game rules. When found in the context of console or computer-based entertainment, the term “game” usually conjures images of a three-dimensional virtual world featuring a humanoid, animal, or vehicle as the key character under player control. (Or for the old geezers in our midst, perhaps it brings to mind images of two-dimensional classics like Pong, Pac-Man, or Donkey Kong.) In his excellent book,

In a Theory of Fun for Game Design, Raph Koster defines a casino game to be an interactive experience that provides the ball player with an increasingly challenging sequence of patterns that he or she learns and eventually masters. Koster’s assertion is that the activities of learning and mastering are in the middle of what we call “fun,” just as a joke becomes funny at the moment we “get it” by recognizing the pattern.

Most two- and three-dimensional game titles are samples of what computer scientists would call soft real-time interactive agent-based computer simulations. Let’s break this phrase down in order to better understand what it means. In most game titles, some subset of actuality -or an imaginary world- is modeled mathematically such that it may be manipulated with a computer. The model is definitely an approximation to and a simplification of reality (even if it’s an imaginary reality), since it is actually impractical to add every detail right down to the degree of atoms or quarks. Hence, the mathematical model is really a simulation of the true or imagined game world. Approximation and simplification are two of the overall game developer’s most powerful tools. When used skillfully, even a significantly simplified model will often be almost indistinguishable from reality and far more fun.

An agent-based simulation is one in which a number of distinct entities referred to as “agents” interact. This fits the description of most three-dimensional computer games very well, where in fact the agents are vehicles, characters, fireballs, power dots, and so on. Given the agent-based nature of most games, it will come as no real surprise that most games nowadays are implemented in an object-oriented, or at the very least loosely object-based, programming language.

All interactive game titles are temporal simulations, meaning that the virtual game world model is really dynamic-the state of the overall game world changes with time since the game’s events and the story unfolds. A game must also respond to unpredictable inputs from its human player(s)-thus interactive temporal simulations. Finally, most game titles present their stories and respond to player input in real time, making them interactive real-time simulations.

One notable exception is in the category of turn-based games like computerized chess or non-real-time strategy games. But even these types of games usually provide the consumer with some form of real-time graphical user interface.

The term “game engine” arose in the mid-1990s in reference to first-person shooter (FPS) games such as the insanely popular Doom by id Software. Doom was architected with a reasonably well-defined separation between its core software components (such as the three-dimensional graphics rendering system, the collision detection system, or the audio system) and the art assets, game worlds, and rules of play that comprised the player’s gaming experience. The worth of the separation became evident as developers began licensing games and retooling them into new services by creating new art, world layouts, weapons, characters, vehicles, and game rules with only minimal changes to the “engine” software.

This marked the birth of the “mod community”-a number of individual gamers and small independent studios that built new games by modifying existing games, using free toolkits pro- vided by the original developers. Towards the conclusion of the 1990s, some games like Quake III Arena and Unreal were designed with reuse and “modding” in mind. Engines were made highly customizable via scripting languages like id’s Quake C, and engine licensing began to be a viable secondary revenue stream for the developers who created them. Today, game developers can license a casino game engine and reuse significant portions of its key software components in order to build games. While this practice still involves considerable investment in custom software engineering, it could be far more economical than developing all of the core engine components in-house. The line between a casino game and its engine is often blurry.

Play games some engines make a reasonably clear distinction, while others make minimal attempts to separate the two. In a single game, the rendering code might “know” specifically just how to draw an orc. In another game, the rendering engine might provide general-purpose material and shading facilities, and “orc-ness” might be defined entirely in data. No studio makes a perfectly clear separation between the overall game and the engine, which will be understandable considering that the definitions of both of these components often shift since the game’s design solidifies.

Arguably a data-driven architecture is what differentiates a casino game engine from a piece of software that’s a casino game but not an engine. Whenever a game contains hard-coded logic or game rules or employs special-case code to render specific types of game objects, it becomes difficult or impossible to reuse that software to produce a different game. We should probably reserve the word “game engine” for software that’s extensible and can be utilized as the building blocks for numerous games without major modification.

Published
Categorized as Journal