General terms used in game development
AAA Game: This refers to games that are developed with big budgets and large staff to produce a high-quality game. Because of the size of the code base, there is exhaustive testing of the gameplay and codebase, high-quality graphics, polished audio–visuals, and generally a large marketing campaign to drive sales. If you have seen a commercial for a game in a magazine or on television, most likely you are looking at what the developers believe is a AAA game. On Facebook, there are quite a few AAA-level games (Zynga, EA, and others have developed quite a few), but it is important to remember that your first games will not be on the same level as these games. However, write a few games very well, and you may find yourself working with a group that turns your idea into a AAA-level game!
Application Programming Interface (API): A code library that allows different application systems to interact with one another. For this book, we use APIs that allow your code to interact with the user’s browser, as well as APIs for interacting with data from Facebook’s systems.
Assets: These are the noncode elements of your game, especially sound and image files that interact with your codebase.
Artificial Intelligence: Depending on the style of game you are developing, the player may need to interact with (or combat) the game.
Artificial intelligence is code you write that allows pieces of the game to act in a logical way. For instance, you may have a board game such as chess that can be solved automatically, or any “enemy” character in a game that needs to interact with your player (e.g., attack or run away). Although these algorithms can get quite complex, at their base level they are designed to fake how humans might interact with their environment in logical ways.
Avatar: From the Hindu concept of an incarnation of a deity on earth, an avatar in the gaming sense refers to in-game characters that represent the player. Avatars “stand in” for players in the game, and serve as proxies for experiencing the “game” world.
Collision Detection: Detecting a collision between two (or more) objects is a major component of many games. For instance, in the game Super Mario Brothers, detecting when a Goomba strikes the Mario sprite is a major component of the gameplay.
Framework: In programming, this is a set of libraries (or code) that provides generic functionality that can be selectively integrated, modified, or ignored by a software developer.
Map: A map, in the game sense, defines the universe (or a subset) of the game.
Multiplayer: A game that allows more than one player. Raster Graphics: Sometimes referred to as bitmaps, raster graphics refers to data structures that represent points of color (as opposed to Vector Graphics). These points of color are two-dimensional representations of resolution-dependent information. JPEG and PNG files are examples of raster graphics.