Video game design is the process of conceiving, planning and directing the creation of an electronic game in which players control images on an electronic display. Video game design demands a strong background in logic, as well as a working knowledge of game theory and human psychology.
Just as a film director envisions how a scene in a movie should make the viewer feel, a video game designer must envision the conceptual, technical and artistic elements that will provide players with the desired playing experience. For example, the designer must consider whether some aspects of the game will require cooperation for the players to be successful, or whether the game will be competitive and require each player to act independently. Each type of user experience has its own challenges. To keep expectations realistic, designers must also understand the limitations of the hardware that the game will run on.
In addition to story decisions, the designer must plan out the pacing of the game and what part, if any, rewards and punishments will have. This requires the designer to map out every ITTT dependency, which simply means "If the player does this, then that will happen. ITTT mapping can be very time consuming if done manually. To ensure that all a game's dependencies are accounted for, designers often rely on a formalized design framework.
A designer who follows the Mechanics, Dynamics, Aesthetics framework (MDA framework), for example, would typically start by determining which constraints will guide player behavior. This aspect of development is referred to as the mechanics of the game. Next, the designer will decide how players will be able to interact with the game; this aspect of game design is referred to as the dynamics of the game. Finally, the designer needs to provide a detailed explanation of what the user should feel while playing the game. The desired emotional response is called the aesthetics of the game.
Once a video game has been designed, the development team can use a game engine to build a prototype. Game engines are reusable components that developers use to code a game quickly, without having to start development work from scratch. Popular game engines include Unreal Engine by Epic Games and GameMaker by YoYo Games.
See also: design thinking