130 likes | 934 Views
Game Design Basics. Soon Tee Teoh CS 134. Definitions. What is play? An activity engaged for the purpose of eliciting emotions What is a game? An object of rule-bound play Fact: People enjoy playing
E N D
Game Design Basics Soon Tee Teoh CS 134
Definitions • What is play? • An activity engaged for the purpose of eliciting emotions • What is a game? • An object of rule-bound play • Fact: People enjoy playing • Why? Many theories, but not fully understood. The short answer is: People enjoy playing games because it’s fun!
Objective of Playing Games • People play games because they evoke an emotional response. • For example: tension, surprise, fear, wonder, adventure, challenge, fantasy • Safe environment: • Players can experience excitement and challenge in a game environment, where the consequences are not real • Goal of game developer: Make games that people will enjoy playing • How? Here are some keys you can aim for. Games that people enjoy usually provide these: • Internal experience: Enjoy the fantasy, visuals and experiences provided by the game • Hard fun: Enjoy the strategy and challenging problem-solving • Easy fun: Enjoy some easy exploration and adventure • Social experience: Stimulated by social experiences such as teamwork, competition, recognition, manipulation
Rules • Most games have rules. • Rules can be either explicit or implicit. • Explicit rules are clear, understood by everyone, unambiguous and non-negotiable. • Vagueness is harmful to the game because it adds confusion. • Example: If you fall off the cliff, it’s game over. • Implicit rules are non-binding, and not formally stated. • An implicit rule is often a tacit agreement among the players to abide by some principle so that the game is more fun. • An implicit rule is made in the spirit of the game. • Some “social” games don’t have explicit rules. Personal creativity and social skills are used to negotiate acceptable behavior.
Premise and Model • A game has a premise. • It refers to the imaginary world that the game is in. • The premise of a racing game is that you’re driving a car and the objective is to get to the finishing line. • The premise of a sports game is that you’re controlling some players. • Other fantasy games can have very complex premises. • A game builds a model. • There is a difference between the model and the subject being modeled. • For example, keystrokes are used to control the actions of sports players. • A person who ordinarily does not enjoy taking out trash may actually enjoy doing it in The Sims.
Uncertainty and Randomness • A system that always responds the same way given the same inputs and state is called deterministic. • Should a game be deterministic? • Is a game that is deterministic too boring? • Answer: Usually, it is desirable for a game to be deterministic. Slight differences in players’ behavior make every game different. • Opposite from a deterministic system is a stochastic system. • It is difficult to implement a stochastic system. If one implements a stochastic system, one should be careful not to allow random variable to have great effect. Players normally like their fate to be determined by their own actions and performance, rather than by pure chance.
Game Platforms • Game Platforms include: • Personal Computer • Console (PlayStation, Nintendo, Xbox) • Hand-held (Game Boy) • Mobile Device (Cell phone) • Arcade • PC Games compared to other platforms: • PC Games are developed and used in the same platform. Other platforms may require proprietary development kits. • Console games are popular because consoles are used in a “lean-back” position, while PC is used in a “sit-forward” position.
Saving the Game • All platforms (except for arcades) typically allow saving (a certain state of the game attained by the player, so that the player can return to this state later). • Different ways of saving the game: • Save trigger: Automatically saved at certain points in the game • Disadvantage: Player has little control • Save anywhere: Allow the player to save the state at any point in the game • Disadvantage: System needs to save many different variables, also may make it too easy for the player • Save points: Save only the accumulated points • Disadvantage: Rather limited • When designing a save method, think about what is appropriate for the game, and also whether you have the resources to implement it.
Audience • What is your target audience? • Age, gender income … • What does your audience know? • What does your audience demand? • Industry divides gamers into two groups: • Hardcore gamer: Characteristics include • Playing games over long sessions • Protracted and frequent discussing of games • Very knowledgeable about games • Owning the latest games • Having a high threshold for frustration • Casual gamer: Everyone else
Game Development Process • Iterating: You have to go through several cycles before getting it right • Prototyping: Build early, basic models of the final product (performance optimization not important at this stage) • Software testing: Test your game to make sure it doesn’t have bugs • Play-testing: Have some people play the game and get their feedback
Psychological Issues • Some human psychological issues to keep in mind while designing your game … • Working memory: Humans typically can only keep a small amount of information: 7 +/- 2 items at a time • Conditioning: (from Behaviorism) Positive conditioning teaches a person to associate a behavior with a reward. Negative conditioning teaches a person to associate a behavior with a punishment. Over time, the person will be conditioned to have the desired behavior.
Architectural Components • Besides some good modular programming practices, in game programming, it is useful to have the following architecture: Separate game-specific code and game-engine code • Game-engine code: • Will be used by many games • Graphics rendering, collision-detection code, path-finding etc. • Sometimes further separated into graphics engine, AI engine, physics engine etc. A game engine can be simply “AI.h” and “AI.cpp” • Game-specific code: • Code that will only be used by this game