CSCE 552 Spring 2010 Game Design II By Jijun Tang.
-
Upload
ethan-lloyd -
Category
Documents
-
view
216 -
download
0
Transcript of CSCE 552 Spring 2010 Game Design II By Jijun Tang.
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
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
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)
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
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?
Interface
Typical perspectives: First-person Over-the-shoulder (OTS) Overhead (top-down) Side Isometric
First person
OTS
Overhead and Side
Isometric
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
HCI Goals
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.
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
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
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
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
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
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
Cybernetics Study of communication, control, and
regulation Model
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
Example System
Senso r
C om parato r
Ac t i vato r
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
Positive Feedback
Amplify changes Leads to runaway behavior Difficult to make use of
From Bob Craig
Negative feedback
Counteracts changes Leads to goal seeking behaviors Most common form in systems
From Bob Craig
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
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
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?
Genres
Genre – a category describing generalities of conventions, style, and content
Major Genres
Action Adventure Arcade Casual Education Fighting First-person shooter Platform
Racing Rhythm Role-Playing (RPG) Simulation Sports Strategy Puzzle Traditional
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
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.
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
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
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
Waterfall vs. Iterative
testing
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
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
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
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
Unit Test
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)
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
Bug Report
Balancing
Tuning Developing solutions by adjusting systems Iterations are faster Changes are less dramatic
Balance: Equilibrium in a relationship Player relationships, mechanics, systems, etc.
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
Creativity
Ability to create Ability to produce an idea, action, or
object considered new and valuable
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
Brainstorming Generating ideas without discrimination Evaluation after elaboration, can be
unfocused
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
Hats
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
Communication
Documentation Methods vary widely Written, descriptive model of the game
Depth varies according to the needs of the game
Development documentation Docgen Wikidot
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
Example of Treatment
http://www.csc.kth.se/utbildning/kth/kurser/DH2650/spel08/The%20Game%20Treatment.doc
Other Document Types
Preliminary design document Initial Design Document Revised Design Document General Design Document Expanded Design Document Technical Design Document Final Design Document
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
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
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
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
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
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
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
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
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)
A Team Picture
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
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
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
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
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
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
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
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
Make Coding Easier Version control Coding standards Automated build Code review Unit testing and acceptance testing
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
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
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
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
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
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