computer game development by jijun tang. contents for the presentation group members, group name,...

68
Computer Game Development By Jijun Tang

Upload: tracy-kelly

Post on 02-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Computer Game Development

By Jijun Tang

Page 2: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Example of Treatment

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

Page 5: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Requirement

Page 6: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Requirement

Page 7: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Requirement

Page 8: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Highlights

Page 9: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Production Details

Page 10: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Production Details

Page 11: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Game World

Page 12: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Game World

Page 13: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Examples

http://pyrrha.csisdmz.ul.ie/4075/treatment.html

Page 14: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Premise

Story is the typical example of premise Time Place Characters Relationships Motivations Etc.

Page 15: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Interface

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

Page 18: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

First person

Page 19: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

OTS

Page 20: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Overhead and Side

Page 21: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Isometric

Page 22: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Example

Page 24: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Huds

Page 25: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Cybernetics Study of communication, control, and

regulation Model

Page 27: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Example System

Senso r

C om parato r

Ac t i vato r

Page 29: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 30: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Positive Feedback

Amplify changes Leads to runaway behavior Difficult to make use of

From Bob Craig

Page 31: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Negative feedback

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

From Bob Craig

Page 32: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Genres

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

Page 36: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

Waterfall vs. Iterative

testing

Page 43: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 47: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 50: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

A Team Picture

Page 55: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 56: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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

Page 64: Computer Game Development By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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 By Jijun Tang. Contents for the Presentation Group members, group name, logo Description, specification, goals, game play System

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