82
CSCE 552 Spring 2010 Game Design II By Jijun Tang

CSCE 552 Spring 2010 Game Design II By Jijun Tang

Embed Size (px)

Citation preview

Page 1: CSCE 552 Spring 2010 Game Design II By Jijun Tang

CSCE 552 Spring 2010

Game Design II

By Jijun Tang

Page 2: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Announcements

Send me group names and logos XNA demo/learning on Feb 1st, in 1D11

Please go to http://creators.xna.com to register and download XNA Game Studio

Install Game Studio and VC# Express on your laptop

Please bring your laptop to the class Presentation on Feb 3rd

In 1D11 Each group 10 minutes to present, 3 minutes to

answer question

Page 3: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Game Design Presentation

Expecting formal presentations with powerpoint files, pictures, musics, etc

10 points total for this presentation Grade will be group based, you can have

the whole group or part of the group to present

Grade will be based on scores from me and from the class

Page 4: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Contents for the Presentation

Group members, group name, logo Description, specification, goals, game play System requirement, audience, rating Interface, input/output, interactions, cameras Premise/limitations/choices/resources Content designs/3D/2D/animation, audio Level designs, flexibility/scripting language? Actor/Verb/Noun/Use case/UML (rough) Engines (graphics, game, sound, physics) to use Version control/testing strategy/documentation Brief timeline (demo date is early May)

Page 5: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Models A model of the player – game

M e c hanic s Inte r fac e Sys te m

P LAYER G AM E

P e rc e ivings tate s

Inte rpre t ingpe rc e ptio ns

E valuat inginte rpre tat io ns

E xe c utio n o fac t io n s e que nc e

Se que nc e o fac t io n

Inte nt io nto ac t

G o als

T H E GA M E

Seven Stages of Action

Page 6: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Resources/Economies

Resources Things used by agents to reach goals To be meaningful, they must be…

Useful – provide some value Limited – in total or rate of supply

Economies Systems of supply, distribution, consumption Questions regarding game economies:

What resources exist? How and when will resources be used? How and when will resources be supplied? What are their limits?

Page 7: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Interface

Typical perspectives: First-person Over-the-shoulder (OTS) Overhead (top-down) Side Isometric

Page 8: CSCE 552 Spring 2010 Game Design II By Jijun Tang

First person

Page 9: CSCE 552 Spring 2010 Game Design II By Jijun Tang

OTS

Page 10: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Overhead and Side

Page 11: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Isometric

Page 12: CSCE 552 Spring 2010 Game Design II By Jijun Tang

HCI

Human-Computer Interaction Goal: improve the interaction between users

and computers by making computers more user-friendly More receptive to the user's needs.

It is the study of… Communication between users and computers How people design, build, and use interfaces Better support for cooperative work

Page 13: CSCE 552 Spring 2010 Game Design II By Jijun Tang

HCI Goals

Page 14: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Cognitive Ergonomics

Ergonomics: designing the equipment and workspace to fit workers

Cognition: desire to know Cognitive ergonomics:

studies cognition in work settings in order to optimize human well-being and

system performance It is especially important in the design of

complex, high-tech, or automated systems.

Page 15: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Design of Everyday Things

Norman’s five principles of design Visibility: Making the parts visible Mappings: Understandable relationships between

controls and actions Affordances: The perceived uses of an object Constraints: Prevent the user from doing things they

shouldn’t Feedback: Reporting what has been done and

accomplished

Page 16: CSCE 552 Spring 2010 Game Design II By Jijun Tang

System Design

Two general approaches to design Special case

Experiences built one scene/level at a time Anticipate states while pre-scripting events Solved by discovering the intentions of the designer

Systemic General behaviors are designed Scenes/Levels are specific configurations Some events may still be pre-scripted Solved by understanding the system

Page 17: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Systems

A set of entities comprising a whole where each component interacts with or is related to at least one other component

Game systems exist to enable play mechanics

Relationships between components determine how the system works to produce results

Page 18: CSCE 552 Spring 2010 Game Design II By Jijun Tang

System Components

Objects: Pieces of a system Attributes: Properties determining what objects

are Behaviors: Actions the objects can perform Relationships: How the behavior and attributes

of objects affect each other while the system operates

Page 19: CSCE 552 Spring 2010 Game Design II By Jijun Tang

System Behaviors

Emergent complexity Emergence is the development of complex

organized systems Emergent complexity: Behaviors that cannot

be predicted simply from the rules of a system Dynamics

The behavior of systems over time Dynamics determined by a given architecture Generalizing dynamic behavior is hard

Page 20: CSCE 552 Spring 2010 Game Design II By Jijun Tang

System Dynamics

Is an approach to understanding the behavior of complex systems over time

Created by Jay Forrester 1956, MIT A discipline for modeling and

simulation Originally a tool for policy analysis, but

applicable to any system

Page 21: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Cybernetics Study of communication, control, and

regulation Model

Page 22: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Cybernetic System

A basic cybernetic system has: Sensor – detects a condition

Thermometer Comparator – evaluates the information

Switch Activator – alters the environment when

triggered by the comparator

Page 23: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Example System

Senso r

C om parato r

Ac t i vato r

Page 24: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Feedback

Feedback: information about the internal or external changes of system that

make the system adjust its output The portion of a system’s output that is returned into the system

Feedback Loop The path taken by the feedback

L e v e l

G o a l

Info rm a tio nA c tio n

R a te

Page 25: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Positive Feedback

Amplify changes Leads to runaway behavior Difficult to make use of

From Bob Craig

Page 26: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Negative feedback

Counteracts changes Leads to goal seeking behaviors Most common form in systems

From Bob Craig

Page 27: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Feedbacks in a Game

Negative feedback Stabilizes the game Forgives the loser Prolongs the game Magnifies late

successes

Positive feedback Destabilizes the game Rewards the winner Can end the game Magnifies early

successes

Page 28: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Platforms

Platform: General description of hardware and software Personal computer – PC, Mac, etc. Console – Wii, PlayStation, Xbox, etc. Handheld – DS, Game Boy Advance, PSP, etc. Mobile device – Cell Phones, NGage, PDA, etc. Arcade – custom vending games (e.g. Time Crisis)

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

Page 29: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Game Saves

Save triggers: automatically saved at certain points 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

Coded text saves to save a bit space Do you really want user to save?

Page 30: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Genres

Genre – a category describing generalities of conventions, style, and content

Page 31: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Major Genres

Action Adventure Arcade Casual Education Fighting First-person shooter Platform

Racing Rhythm Role-Playing (RPG) Simulation Sports Strategy Puzzle Traditional

Page 32: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Audiences

Target audience Group of expected consumers Age, gender income … What does your audience know? What does your audience demand?

Demographics Study of relevant economic and social statistics

about a given population Demographic variables

The relevant factors

Page 33: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Audiences

Market Demographic segmentation of

consumers Market segments: Smaller sub-segment of the

market; more tightly defined

Demographic profile Typical consumer attributes in a market Age, Social class, gender etc.

Page 34: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Audiences

Heavy Users Those of the numeric minority of potential users

responsible for majority of sales of any product 80/20 rule: in anything a few (20 percent) are vital and

many(80 percent) are trivial.

Hardcore gamer Game industry term for heavy video game users

Casual gamer Game industry term for all other gamers

Page 35: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Hardcore Players

Play games over long sessions Discuss games frequently and at length Knowledgeable about the industry Higher threshold for frustration Desire to modify or extend games creatively Have the latest game systems Engage in competition with themselves, the game,

and others

Page 36: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Design Procedure

Waterfall method Development methodology Design and production are broken into phases

Iterative development Practice of producing things incrementally Refining and re-refining the product May iterate many cycles before get it right

Page 37: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Waterfall vs. Iterative

testing

Page 38: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Prototypes

Prototypes Early working models of the product Used to test ideas and techniques

Physical prototypes Non-electronic models; physical materials

Software prototypes Used regularly during iterative development

Page 39: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Testing

Software testing: Process of verifying performance and reliability of a software product

Tester: Person trained in methods of evaluation, may be the first job in the industry for a fresh graduate

Bug: Discrepancy between expected and actual behavior

Problem/Bug report: Description of the behavior of the discrepancy

Page 40: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Testing Types

Unit test written from the developer's perspective focus on particular methods of the class under test

Focus test Testing session using play-testers Testers represent the target audience Lots of feedback at one time Data can be compromised by group think

Acceptance test

Page 41: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Unit Testing With very large codebases, it's difficult to

make changes without breaking features Unit tests make sure nothing changes Test very small bits of functionality in

isolation Build them and run them frequently Good test harness is essential

Page 42: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Unit Test

Page 43: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Acceptance Testing Also called functional tests High level tests that exercise lots of

functionality They usually run the whole game checking

for specific features Having them automated means they can

run very frequently (with every build)

Page 44: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Bug Report and Trace Bug database Keep a list of all bugs, a description, their

status, and priority Team uses it to know what to fix next Gives an idea of how far the game is from

shipping Doesn't prevent bugs, just helps fix them

more efficiently

Page 45: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Bug Report

Page 46: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Balancing

Tuning Developing solutions by adjusting systems Iterations are faster Changes are less dramatic

Balance: Equilibrium in a relationship Player relationships, mechanics, systems, etc.

Page 47: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Balancing

Intransitive relationships Multiple elements offer weaknesses and strengths relative

to each other as a whole Balanced as a group Example: Rock-Paper-Scissors (RPS)

H e a v yI n f a n t r y

C a v a lr yA r c h e r s

Page 48: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Creativity

Ability to create Ability to produce an idea, action, or

object considered new and valuable

Page 49: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Classic Approach to Creativity

Preparation: Background research and comprehension

Incubation: Mulling things over Insight: Sudden illumination – Eureka! Evaluation: Validating revealed insights Elaboration: Transforming the idea into substance

Page 50: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Brainstorming Generating ideas without discrimination Evaluation after elaboration, can be

unfocused

Page 51: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Creativity

Six Thinking Hats White Hat – neutral and objective Red Hat – intuition, gut reaction Black Hat – gloomy, naysayer Yellow Hat – Pollyannaish, optimistic Green Hat – growth and creativity Blue Hat – process and control

Symbolize perspective worn by people involved in the creative endeavor

Page 52: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Hats

Page 53: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Inspiration

Board games Spatial relationships

Card games Resource management

Paper RPGs Dynamic narratives

Books Fantasy and agency

Sports Team competition

Film Continuity techniques

Television Serialized stories

Music Temporal systems

Martial arts Discipline in action

Children Invention

Page 54: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Communication

Documentation Methods vary widely Written, descriptive model of the game

Depth varies according to the needs of the game

Development documentation Docgen Wikidot

Page 55: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Communication

Treatment: A brief, general description of the game and the fundamental concepts

Used to sell and show off your idea May include:

Concept statement Goals and objectives Core mechanics and systems Competitive analysis Licensing and IP information Target platform and audience Scope Key features

Page 56: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Example of Treatment

http://www.csc.kth.se/utbildning/kth/kurser/DH2650/spel08/The%20Game%20Treatment.doc

Page 57: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Other Document Types

Preliminary design document Initial Design Document Revised Design Document General Design Document Expanded Design Document Technical Design Document Final Design Document

Page 58: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Communication-Flowcharts

Flowcharts A typical technique for diagramming steps in a

process Most developers are familiar

Star t /E ndP ro c e s s /

Ac tio nD e c is io n

Y/N D e lay

Page 59: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Example Flowcharts

S t artW an d eri n g

C i t yS e a r c h f o r

Q u e s tQ u e s t

Q u e s t D e ta il sA c c e p t

G a th e r P C A ll ie s E m b a r k/Sp l it G o to

W ild e r n e s s

C i ty

N o

Y e s

Y e s

N o

Re c r u i ts

R e c r u it

E q u ip

G e a r

G a th e r

S e e k A id

A r t if a c ts A ss is ta n c e

Reg ro u p

En co u n ter

Page 60: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Communication-Diagrams

Associative diagram Drawing that helps manage and organize information visually

Mind Map A style of associative diagram Key words and figures are placed on branches

we ap o n

fi ghti ng

r a n g e

Page 61: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Psychology

Working Memory Holds roughly 7 ± 2 items at one time while other

cognitive operations on them Each slide should not have more than 6 items

Attention Method of enhancing perceptions relative to

other stimuli in the same environment How we focus on important things Limited capacity

Page 62: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Psychology

Classical conditioning Reaction to stimulus is conditioned by pairing with another

stimulus that elicits the desired response naturally

C o ndit io ning Af te r c o ndit io ning

B e fo re c o ndit io ning

Page 63: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Psychology

Unconditioned stimulus – Meat Unconditioned response – Salivation over meat Conditioned stimulus – Tone Conditioned response – Salivation over tone

C o ndit io ning Af te r c o ndit io ning

B e fo re c o ndit io ning

Page 64: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Psychology

Operant conditioning Learning by encouraging or discouraging

Operant A response; the action in question

Example: pressing a button

Reinforcement contingency Consistent relationship between the

operant and a result in the environment

Page 65: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Psychology

Reinforcers Increase the probability an action will be repeated

Positive reinforcement Positive stimulus that reinforces the behavior

Ex. Use umbrella and be dry

Negative reinforcement The removal or prevention of a negative stimulus

Ex. Use umbrella and keep from getting wet

Punishment Reduces the likelihood of a behavior with a stimulus

Ex. Being burned by a hot stove

Page 66: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Programming Teams In the 1980s programmers developed the

whole game (and did the art and sounds too!)

Now programmers write code to support designers and artists (content creators)

Page 67: CSCE 552 Spring 2010 Game Design II By Jijun Tang

A Team Picture

Page 68: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Different Programs

Game codeAnything related directly to the game

Game engineAny code that can be reused between

different games Tools

In house tools

Plug-ins for off-the-shelf tools

Page 69: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Team Organization Programmers often have a background

in Computer Science or sciences They usually specialize in some area (AI,

graphics, networking) but know about all other areas

Teams usually have a lead programmer They sometimes have a lead for each of

the major areas

Page 70: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Skills and Personalities Successful teams have a mix of

personalities and skills: Experience vs. new ideas Methodical vs. visionary

But hard-working is always the key

Page 71: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Methodologies A methodology describes the procedures

followed during development to create a game

Every company has a methodology (way of doing things), even if they don't explicitly think about it

Page 72: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Methodologies: Code and Fix Unfortunately very common Little or no planning Always reacting to events Poor quality and unreliability of finished

product “Crunch” time normal

Page 73: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Methodologies: Waterfall Very well-defined steps in development Lots of planning ahead of time Great for creating a detailed milestone

schedule Doesn't react well to changes Game development is too unpredictable

for this approach

Page 74: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Methodologies: Iterative Multiple development cycles during a

single project Each delivering a new set of functionality Refinements are needed

The game could ship at any moment Allows for planning but also for changes

Page 75: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Methodologies: Agile Methods Deal with the unexpected Very short iterations: 2-3 weeks Iterate based on feedback of what was

learned so far Very good visibility of state of game Difficult for publishers or even

developers to adopt because it's relatively new

Page 76: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Make Coding Easier Version control Coding standards Automated build Code review Unit testing and acceptance testing

Page 77: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Version Control

Recommended to use for team project Version control is

Database with all the files and history. Only way to work properly with a team. Branching and merging can be very useful Used for source code as well as game assets (text

and binary) Tools:

CVS is one of the most popular tool Source anywhere

Page 78: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Coding standards Coding standards are

Set of coding rules for the whole team to follow Improves readability and maintainability of the code Easier to work with other people's code They vary a lot from place to place

Some simple, some complex Get used to different styles

Sample standards can be found at: http://www.chris-lott.org/resources/cstyle/CppCodingStandard.html

Page 79: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Automated builds Dedicated build server builds the game

from scratch Takes the source code and creates an

executable Also takes assets and builds them into

game-specific format Build must never break

Page 80: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Quality Control Code reviews

Knowing others will read the code will make coding more carefully

Another programmer reads over some code and tries to find problems

Sometimes done before code is committed to version control

Can be beneficial if done correctly Follow coding standards, and put comments

Page 81: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Avoid Run-time Errors Run-time errors are hardest to trace and have the biggest

damage Initialize variables, use tools (Visual .Net is good at this), check

boundaries, etc. purify on Windows valgrind on Linux

Asserts and crashes Use asserts anytime the game could crash or something could go

very wrong An assert is a controlled crash in the debug version Much easier to debug and fix Happens right where the problem occurred Don't use them for things that a user could do

Open a non-existing file Press the wrong button

Page 82: CSCE 552 Spring 2010 Game Design II By Jijun Tang

Homework #1

Game Treatment Document Due on Feb 8th after class Each group turn in one hard copy and

the grade will be assigned based on group