Game Engineering Processes A collection of patterns used to improve game-engineering by Steve B. and Zack S. Documenting the obvious = Wisdom Disclaimers:

Slides:



Advertisements
Similar presentations
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Advertisements

Basic SDLC Models.
Software Engineering Key construction decisions Design challenges.
Software Development Practices and Methodologies Svetlin Nakov Telerik Corporation
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
A presentation from June 20, 2000 Jim Brosseau The ‘How-To’ of Software Process Improvement.
* Programming is the activity of creating a set of detailed instructions (program) that when carried out on a consistent set of inputs will result in.
1 Software Processes A Software process is a set of activities and associated results which lead to the production of a software product. Activities Common.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
CS487 Software Engineering Omar Aldawud
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Software Engineering Session 14 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
Chapter 29: Integration Jacob Harper. The Integration Approach The order of adding components to a system is crucial Benefits to careful integration –
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Chapter 6 The Process of Interaction Design Presented by: Kinnis Gosha, Michael McGill, Jamey White, and Chiao Huang.
Software Engineering.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
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.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
1 Chapter 3 Project Management. 2 The 4 P’s  People — the most important element of a successful project  Product — the software to be built  Process.
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,
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
CODING Research Data Management. Research Data Management Coding When writing software or analytical code it is important that others and your future.
Planning. SDLC Planning Analysis Design Implementation.
The Game Development Process. Typical Development Cycle Idea Proposal Design Evaluation Coding Testing Release.
Introduction  Paul Kerby  Lead Gameplay Programmer, Gotham Team  Gareth Wilson  Design Manager, Gotham Team.
Software Development Life Cycle (SDLC)
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
IT Systems Analysis & Design
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Laurent Noel.
Creating a Maintainable Software Ecosystem Jeremy D. Miller November 27th, 2007.
Seth Gibson Rapid Experience Development Build It On Stone.
Mark Nelson What are game engines? Fall 2013
Extreme Programming Daniel Baranowski 3/29/06. What is Extreme Programming? An agile development methodology Created by Kent Beck in the mid 1990’s A.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
This Session 1.Game Documentation 2.Project Management 3.Group Breakout 4.Start Level !
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Rapid Development Part 2 Mihail V. Mihaylov (Mike Ramm) CEO, RammSoft Mihail V. Mihaylov (Mike Ramm) CEO, RammSoft February.
Prof. Aiken CS 169 Lecture 21 Software Process CS169 Lecture 2.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Extreme Programming (XP) XP is an agile methodology: –aims to be responsive to change Theme running through XP is the importance of communication –amongst.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
ACT AS A TEAM WITH CUSTOMER HOW TO BUILD THE CUSTOMER TRUST & LESSONS LEARNED.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.
Planning Extreme programming
1/20 1 How to become a Guru Coder Michael Smith, TeraTech, Inc x110 Copyright.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
How to become a pragmatic programmer By Rick Mason, BusinessGrade.com.
A Method for Improving Code Reuse System Prasanthi.S.
Managing the Project Lifecycle
Extreme Programming.
Extreme Programming.
Taking an Iteration Down to Code
IT Systems Analysis & Design
The Game Development Process
Software Engineering Fundamentals
Software Engineering I
Extreme Programming (and Pair Programming)
Presentation transcript:

Game Engineering Processes A collection of patterns used to improve game-engineering by Steve B. and Zack S. Documenting the obvious = Wisdom Disclaimers: not complete, no magic bullets, we may not be as agnostic as we fancy ourselves.

Peer Review Put developers in a room and lock the door. Second set of eyes helps documentation, bug finding, personal development Promotes programmer redundancy gotcha) Programmer becomes defensive -- may view as review instead of chance to improve.

Technical Design Review Experienced outsider reviews project Create a reality check for team and mgmt. Can happen at a variety of times during project: start, midway, troubled, etc. gotcha) confrontation over results. gotcha) kill the messenger.

Requirement Docs Clarify priorities early, develop risk budget. Identify mismatched risk / fun features. gotcha) Don’t throw away valuable game asset: ability to change problem. gotcha) Becoming married to details gotcha) Designers may play more value on feature than marketplace.

Zero-defect Milestones Bugs from previous milestone are addressed for next milestone. Bugs have hidden costs, kill them early. Promotes stability. Less likely to change something that isn’t broken. gotcha) not faster, more predictable. gotcha) pressure to say:"things are on track"

Daily Build Cycle Daily build and archive of every asset. Assets don’t get lost or become stale. Identifies bad code quickly; promotes a strong self-test attitude. gotcha) annoyance. gotcha) version control must work well.

“How” Docs & Example Code Documents which describe how a system works as opposed to why it is the way it is. Most useful when presented as examples. gotcha) overly specified doc just restates the code in English gotcha) docs become out of date quickly, examples go stale.

“Why” Docs Doc which describes why a system is the way it is. What mistakes were made? What alternate solutions were abandoned? Helps prevent repeating the same mistakes. gotcha) Can degenerate into how docs, or become way too long. gotcha) Inclination to hide bad decisions reduces usefulness.

Code & Tool Reuse L1: Libraries, L2: Frameworks L3: Example Code, L4: Knowledge Reduce reinvention of wheel. “Black boxes” deter redesign. gotcha) Learn by doing is reduced. gotcha) Ignored because code is different gotcha) Hard to debug what you don’t know

Coding Standards Standards for naming, bracketing, commenting, documenting. Reduces “it’s different” arguments. gotcha) politically explosive gotcha) More namespace collisions

Prototyping Create a disposable simulation. Five kinds: UI, Algorithmic, Structural, Architectural, Demos Help make decisions early. gothca) not incremental development!