computer game development
DESCRIPTION
Computer Game Development. 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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/1.jpg)
Computer Game Development
By Jijun Tang
![Page 2: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/2.jpg)
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? Version control/testing strategy/documentation Brief timeline (demo date is early Dec)
![Page 3: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/3.jpg)
Homework
Game treatment document Each group to turn in one Due: Sept 17th, before class Print and bring it in class Expected page lengths 4-5 pages,
11pt font, single space.
![Page 4: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/4.jpg)
Example of Treatment
http://www.csc.kth.se/utbildning/kth/kurser/DH2650/spel08/The%20Game%20Treatment.doc
![Page 5: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/5.jpg)
Requirement
![Page 6: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/6.jpg)
Requirement
![Page 7: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/7.jpg)
Requirement
![Page 8: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/8.jpg)
Highlights
![Page 9: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/9.jpg)
Production Details
![Page 10: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/10.jpg)
Production Details
![Page 11: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/11.jpg)
Game World
![Page 12: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/12.jpg)
Game World
![Page 13: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/13.jpg)
Examples
http://pyrrha.csisdmz.ul.ie/4075/treatment.html
![Page 14: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/14.jpg)
Premise
Story is the typical example of premise Time Place Characters Relationships Motivations Etc.
![Page 15: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/15.jpg)
Choice and Outcome
Well-designed choice Often desirable and undesirable effects Should relate to player goals Balanced against neighboring choices
Too much weight to every choice is melodrama
Orthogonal choices – distinct from others Not just “shades of grey”
![Page 16: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/16.jpg)
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 17: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/17.jpg)
Interface
Typical perspectives: First-person Over-the-shoulder (OTS) Overhead (top-down) Side Isometric
![Page 18: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/18.jpg)
First person
![Page 19: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/19.jpg)
OTS
![Page 20: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/20.jpg)
Overhead and Side
![Page 21: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/21.jpg)
Isometric
![Page 22: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/22.jpg)
Audio Interface
General categories of audio Music
Powerful tool for establishing mood and theme
Pay attention to license issues The campus is cited 960 times last year
Sound effects Dialog
![Page 23: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/23.jpg)
Example
![Page 24: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/24.jpg)
Huds
![Page 25: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/25.jpg)
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 26: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/26.jpg)
Cybernetics Study of communication, control, and
regulation Model
![Page 27: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/27.jpg)
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 28: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/28.jpg)
Example System
Senso r
Com parato r
Ac t i vato r
![Page 29: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/29.jpg)
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 ve l
G oa l
Info rm a tio nA c tion
R a te
![Page 30: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/30.jpg)
Positive Feedback
Amplify changes Leads to runaway behavior Difficult to make use of
From Bob Craig
![Page 31: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/31.jpg)
Negative feedback
Counteracts changes Leads to goal seeking behaviors Most common form in systems
From Bob Craig
![Page 32: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/32.jpg)
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 33: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/33.jpg)
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 34: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/34.jpg)
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 35: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/35.jpg)
Genres
Genre – a category describing generalities of conventions, style, and content
![Page 36: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/36.jpg)
Major Genres
Action Adventure Arcade Casual Education Fighting First-person shooter Platform
Racing Rhythm Role-Playing (RPG) Simulation Sports Strategy Puzzle Traditional
![Page 37: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/37.jpg)
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 38: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/38.jpg)
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 39: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/39.jpg)
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 40: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/40.jpg)
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 41: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/41.jpg)
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 42: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/42.jpg)
Waterfall vs. Iterative
testing
![Page 43: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/43.jpg)
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 44: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/44.jpg)
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 45: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/45.jpg)
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 46: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/46.jpg)
Example Flowcharts
S t artW an deri n g
C i t yS e a r c h f o r
Q u e s tQ ue 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 lit G o to
W ild e r n e s s
Ci 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
Enco un ter
![Page 47: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/47.jpg)
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 48: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/48.jpg)
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 49: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/49.jpg)
Psychology
Classical conditioning Reaction to stimulus is conditioned by pairing with another
stimulus that elicits the desired response naturally
C o nditio ning Af te r c o ndit io ning
B e fo re c o ndi t io ning
![Page 50: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/50.jpg)
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 51: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/51.jpg)
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 52: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/52.jpg)
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 53: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/53.jpg)
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 54: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/54.jpg)
A Team Picture
![Page 55: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/55.jpg)
Different Programs
Game codeAnything related directly to the game
Game engineAny code that can be reused between different
games Tools
In house toolsPlug-ins for off-the-shelf tools
![Page 56: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/56.jpg)
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 57: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/57.jpg)
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 58: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/58.jpg)
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 59: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/59.jpg)
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 60: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/60.jpg)
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 61: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/61.jpg)
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 62: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/62.jpg)
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 63: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/63.jpg)
Make Coding Easier Version control Coding standards Automated build Code review Unit testing and acceptance testing
![Page 64: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/64.jpg)
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 SVN
![Page 65: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/65.jpg)
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 66: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/66.jpg)
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 67: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/67.jpg)
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 68: Computer Game Development](https://reader035.vdocuments.site/reader035/viewer/2022062411/56814d07550346895dba3ac5/html5/thumbnails/68.jpg)
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