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

Slides:



Advertisements
Similar presentations
Video Game Design Game Maker Ms. Scales. What is game design? Is it art? It is all about artistic expression. Is it technical? Just follow some deign.
Advertisements

Software Process Models
CSCE 590E Spring 2007 Game Design II By Jijun Tang.
Alternate Software Development Methodologies
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
GameSalad Fundamentals. Introduction to Game-Authoring System  Objectives  Define game-authoring system.  Understand the components of logic and assets.
Spring 2007COMP Design Teams Team Structure Interdisciplinary Teams.
Aug 24, Fall 2005ITCS4010/50101 Design Teams Team Structure Interdisciplinary Teams.
CSCE 590E Spring 2007 Game Design II By Jijun Tang.
Engineering H193 - Team Project Gateway Engineering Education Coalition P. 1Spring Quarter 2007 Week 8 Day 1 Notes on Individual Competition and Visual.
Chapter 2.2 Game Design. 2 Overview Game design as… full-time occupation is historically new field of practical study – even newer.
Chapter 3.1 Teams and Processes Being a programmer.
The Game Development Process Documentation. The Role of Documentation The Concept Document The Design Document Based on Ch 18-19, Gameplay and Design,
Sep 14, Fall 2006IAT 4101 Design Teams Team Structure Interdisciplinary Teams.
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 1 Program Design
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
A Technical Game Project 4 Due dates: Game Idea Friday, March 16 th Game Plan Friday, March 23 rd Web Page Sunday, April 9 th First Playable Wednesday,
SM3121 Software Technology Mark Green School of Creative Media.
CSCE 590E Spring 2007 Game Design By Jijun Tang. Announcements We will NOT have lab on Wednesday Some groups have not sent me the names First small game.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
CODING Research Data Management. Research Data Management Coding When writing software or analytical code it is important that others and your future.
CSC230 Software Design (Engineering)
Software Development Unit 6.
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Software Construction and Evolution - CSSE 375 Software Documentation 1 Shawn & Steve Right – For programmers, it’s a cultural perspective. He’d feel almost.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Web Design and Patterns CMPT 281. Outline Motivation: customer-centred design Web design introduction Design patterns.
Introduction to Interactive Media 02. The Interactive Media Development Process.
S/W Project Management
Chapter 2.2 Game Design Part 2. 2 Game Theory Decision under certainty Players know the outcome of any decision Risky decisions Probabilities of nature.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
Game Design EST310/ISE340 Fall 2011 Tony Scarlatos.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
By Mr. Lee. What makes up a game? Brainstorm as a class some ideas.
MULTIMEDIA DEVELOPMENT
Project Workflow. How do you do it? -Discussion-
Introduction to Interactive Media The Interactive Media Development Process.
CSCE 552 Spring 2009 Game Design III By Jijun Tang.
COMP 208/214/215/216 Lecture 3 Planning. Planning is the key to a successful project It is doubly important when multiple people are involved Plans are.
CHAPTER TEN AUTHORING.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Chapter 2.2 Game Design. CS Overview This introduction covers: –Terms –Concepts –Approach All from a workaday viewpoint.
CS 111 – Nov. 22 Chapter 7 Software engineering Systems analysis Commitment –Please read Section 7.4 (only pp ), Sections –Homework #2.
Chapter 3.1 Teams and Processes. CS Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
CSCE 552 Spring 2010 Game Design II By Jijun Tang.
Systems Development Life Cycle
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
 A plan of attack for your games content  Or (more specifically)  A detailed description of all games mechanics, objects, characters, stats, ect… that.
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Paper Prototyping Source: Paper Prototyping a method of brainstorming, designing, creating, testing, refining and communicating.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Motivates, interests and engages. Teaches problem solving skills. Allows for creativity and imagination. Demonstrates project design. Encourages teamwork.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
CS223: Software Engineering Lecture 16: The Agile Methodology.
1 Multimedia Development Team. 2 To discuss phases of MM production team members Multimedia I.
Software Design and Development Development Methodoligies Computing Science.
CSCE 552 Spring 2009 Game Design II By Jijun Tang.
Sound Practices of Games Business and Design Presented by Brian Jacobson.
Large-Scale Design Process
Software Process Models
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
CS310 Software Engineering Lecturer Dr.Doaa Sami
Presentation transcript:

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 Content designs/3D/2D/animation, audio Level designs, flexibility/scripting language? Version control/testing strategy/documentation Brief timeline (demo date is early Dec)

Homework Game treatment document Each group to turn in one Due: Sept 17 th, before class Print and bring it in class Expected page lengths 4-5 pages, 11pt font, single space.

Example of Treatment ser/DH2650/spel08/The%20Game%20 Treatment.doc

Requirement

Highlights

Production Details

Game World

Examples

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

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 ”

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

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

Example

Huds

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

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

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

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  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

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

Example Flowcharts

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

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

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

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 code Anything related directly to the game Game engine Any 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  SVN

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: lott.org/resources/cstyle/CppCodingStandard.htmlhttp:// 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