CHAPTER 1 Introduction to Game Development © 2008 Cengage Learning EMEA.

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
Chapter 2: Approaches to System Development
Object-Oriented Software Development CS 3331 Fall 2009.
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 2 Approaches to System Development
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Ch 3 System Development Environment
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Connecting with Computer Science, 2e
Game Development Essentials An Introduction. Chapter 10 Roles & Responsibilities developing the team.
Systems Analysis and Design in a Changing World, Fifth Edition
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CHAPTER 17 Creating an Interactive 3D Environment © 2008 Cengage Learning EMEA.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Introduction to Information System Development.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
Chapter 1 Systems Development in an Organizational Context
CSI315 Web Applications and Technology Overview of Systems Development (342)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 1 The Systems Development Environment
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Rational Unified Process Fundamentals Module 4: Disciplines II.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Game Industry and The Future of Game Pertemuan 12 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
June 05 David A. Gaitros Jean Muhammad Introduction to OOD and UML Dr. Jean Muhammad.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Content The system development life cycle
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
The Systems Development Environment Systems Analysis and Design II.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
1 Multimedia Development Team. 2 To discuss phases of MM production team members Multimedia I.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Software Engineering cosc 4359 Spring 2017.
Chapter 7: Software Engineering
Appendix B Agile Methodologies
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
UML: Unified modeling language
Introduction to Software Engineering
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Appendix B Agile Methodologies
Presentation transcript:

CHAPTER 1 Introduction to Game Development © 2008 Cengage Learning EMEA

LEARNING OBJECTIVES In this chapter you will learn about: – –The game development process – –The history of game development – –Elements of game programming – –Operating system architecture – –Game development techniques and methodologies – –Sequential software development: the waterfall model – –Iterative software development: the Rational Unified Process – –Agile software development: Extreme Programming – –The Unified Modeling Language (UML) – –Class diagrams – –Representing classes – –Representing associations – –Representing generalizations – –Aggregation – –Interfaces – –Instance diagrams – –Game development tools

INTRODUCTION TO GAME DEVELOPMENT Game development – –A multifaceted discipline concerned with the production of video games. Video game – –A game where the player interacts with some virtually represented environment via a particular controller or input device. Game development process – –Defined by combining some software engineering methodology with a project management process.

INTRODUCTION TO GAME DEVELOPMENT Software engineering – –Deals with the design, implementation and maintenance of software. Project management – –Deals with the administration of resources so that some project can be completed within a predefined timeframe, budget and scope. Any game development effort includes: – –A pre-production phase, a mainstream production phase, project milestones, testing, release to manufacturing, and patch-based maintenance.

INTRODUCTION TO GAME DEVELOPMENT

History The first computer games ever: – –OXO – –Tennis for Two Multi-User Dungeons PONG Breakout, Donkey Kong, Pac-Man and Space Invaders

History The Atari 2600 Personal computer games and the Apple II IBM PCs and Wolfenstein 3D, Doom and Quake The advent of 3D graphics cards DirectX and OpenGL

Elements of Game Programming Game programming – –Concerned with the software engineering elements of computer, console and arcade games. The programming team will often start by: – –Defining and designing the various networking, interface, AI, scripting and graphics components needed to fulfill the game’s requirements. The team will also evaluate: – –Whether all game design requirements are programmatically fulfilled, determining the lacking components.

Elements of Game Programming Difference between game programming and general application programming: – –The real-time nature of games. Computer programs were traditionally written using a flow-driven or procedural programming paradigm. Modern-day programs generally make use of the event-driven programming model.

Elements of Game Programming Games require a more independent execution approach. – –Accomplished via the implementation of a game loop. A standard game loop: 1 Initialization and memory allocation. 2 Input monitoring. 3 Execution of artificial intelligence (AI) and physics routines. 4 Sound and music output. 5 Execution of game logic. 6 Rendering of the scene based on the input from the user and other subsystems. 7 Display synchronization. 8 Shutdown of the game if the user wishes to terminate the program.

Introduction to Operating System Architecture

Cooperative multitasking – –based on the principle that any executing task must, at some point, release the CPU either voluntarily or after some system interrupt has been issued. Pre-emptive multitasking – –based on the use of a system interrupt mechanism coupled with a scheduler ensuring that all active processes can gain access to the CPU at any given time, thus creating a more reliable operating environment where each and every process is guaranteed some CPU time.

Introduction to Operating System Architecture M Memory Addressing – –Virtual mode – –Real mode Object-orientated operating system design is based on the process of extending the kernel modularly, allowing programmers to customize the operating system without affecting the overall system reliability or functionality.

GAME DEVELOPMENT TECHNIQUES AND METHODOLOGIES Sequential Software Development: The Waterfall Model

GAME DEVELOPMENT TECHNIQUES AND METHODOLOGIES Iterative Software Development: The Rational Unified Process

GAME DEVELOPMENT TECHNIQUES AND METHODOLOGIES Agile Software Development: Extreme Programming – –Practices:   Continuous integration   Evolutionary design   Pair programming   Refactoring   Testing – –Values:   Communication   Simplicity   Feedback   Courage   Respect

THE UNIFIED MODELING LANGUAGE (UML) A graphical modeling language developed in the mid 1990s for the visual representation of object-orientated software. Class Diagrams

THE UNIFIED MODELING LANGUAGE (UML) Representing Associations

THE UNIFIED MODELING LANGUAGE (UML) Representing Generalizations

THE UNIFIED MODELING LANGUAGE (UML) Aggregation

THE UNIFIED MODELING LANGUAGE (UML) Instance Diagrams

GAME DEVELOPMENT TOOLS A screenshot of Quake 3’s level editor, Q3Radiant

GAME DEVELOPMENT TOOLS A screenshot of Autodesk’s high-end 3D modeling package, Maya

GAME DEVELOPMENT TOOLS A screenshot of Adobe Photoshop

GAME DEVELOPMENT TOOLS NVIDIA’s PerfHUD

GAME DEVELOPMENT TOOLS NVIDIA’s FX Composer IDE

GAME DEVELOPMENT TOOLS Basic Visual Studio 2005 interface