Software Engineering for Computer Games

Slides:



Advertisements
Similar presentations
Indie Video Game Design and Development by Elmar Juzar Computer Engineering First Year.
Advertisements

By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
MMORPG-SIM Massively Multiplayer Simulation Game Creation Main Feature: Uniqueness.
Software Engineering Muhammad Fahad Khan
CS 638, Fall 2001 CS 638: Computer Games Technology Fall 2001.
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
Mark Nelson What are game engines? Fall 2013
CS 160 Introduction to Computer Science Andrew Scholer
Introduction to PowerPoint What is PowerPoint? PowerPoint is a software package designed to aid you as you create and deliver information primarily through.
Module 5 A system where in its parts perform a unified job of receiving inputs, processes the information and transforms the information into a new kind.
SimArch: Work in Progress Multimedia Teaching Tool Faculty of Electronic Engineering University of Nis Serbia.
Chapter 7 Software Engineering. © 2005 Pearson Addison-Wesley. All rights reserved 7-2 Chapter 7: Software Engineering 7.1 The Software Engineering Discipline.
Dr. Brian Durney Computing and Networking Sciences at UVU C S
Matt Curtis AIE Melbourne Lea Bartlett AIE Canberra 10 Essential Skills For Budding Games Programmers.
Ahmed Saker Indie Game Developer
CS 426 Video Game Design and Programming © Jason Leigh Electronic Visualization Lab, University of Illinois at Chicago “The figure of merit.
UFCFS D Technologies for the Web An Introduction to the Module.
 A plan of attack for your games content  Or (more specifically)  A detailed description of all games mechanics, objects, characters, stats, ect… that.
Course File seminar NCAAA SSR Preparation (3rd dec 2015)
GAME PROGRAMMER By: Aaron Ramos and Oscar Quiles.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Welcome to the Victorian Games & App Challenge. What is the problem, issue or challenge you want to take on? How is your game or app going to increase.
The successful features in game developing
The Victorian Games & Apps Challenge Design Brief (PowerPoint)
INTRO. To I.T Razan N. AlShihabi
Welcome! My name is Dr. Sab Babu A bit about myself
Supervisor : Trần Vinh Thu
An Introduction to Software Engineering
Large-Scale Design Process
Dr. Fernando Paniagua Associate Professor CSIT Department
IS301 – Software Engineering V:
Design Quality (30%) - 6slides
TeleManagement Forum The voice of the OSS/BSS industry.
Chapter 18 Maintaining Information Systems
General Instructions You have the liberty to select the background, transition effects, sounds, etc. Use the Slide Master view to make settings that apply.
Software Reuse ©Ian Sommerville 2006.
Introduction to PowerPoint
References: "Software Engineering, 9th ed." (Addison-Wesley 2011)
Software Documentation
Chapter 1 The Nature of Software
Chapter 1 The Nature of Software
Business Communication Dr. Aravind Banakar –
Business Communication
Get thinking: What is the problem, issue or challenge you want to take on? 
Graduation Project Kick-off presentation - SET
Chapter 16 – Software Reuse
Introduction to PowerPoint
CO1301: Games ncepts 2016 Lecture 2
Game Engines Edd Soper.
EECE 310 Software Engineering
IMPORTANT NOTICE TO STUDENTS:
Master dissertation Proposals
Design Quality (30%) - 6slides
Revision lesson Task Take notes
CS 160 Introduction to Computer Science
What should we be teaching our computer science students?
Chapter 7 –Implementation Issues
Chapter 7 Software Engineering.
Game City In this project you will learn the basics of visual programming to start creating your own games. The tool you will be using to do this is Microsoft.
Design Brief.
Title of Project Joseph Hallahan Computer Systems Lab
(Computer fundamental Lab)
Fundamental Concepts and Models
The Basics of Information Systems
Videogame Development
Chapter 16 – Software Reuse
Games Development 2 Tools Programming
The Basics of Information Systems
Design Document Review
Presentation transcript:

Software Engineering for Computer Games Chris Ballinger 04/08/13 CS 791

Outline Architecture Considerations Unique Problems Common Issues Interesting Resources Questions How many of you have played or are familiar with any kind of video game? From a software engineering point of view, what components of a video game can be strongly separated from each other?

Architecture Considerations Several separate components Sound, Graphics, Physics, Input, Networking, AI May not all be developed in-house (COTS) Middleware Many possible platforms Only recently has multithreading become a consideration Rarely considers academic research concerns Middleware example: Punkbuster COTS (Commercial off the shelf) examples: Torque GFX engine, FMod Sound engine, Bullet Physics ORTs, Strategus

Architecture Considerations Type of game Regardless of the type of game, developers have the same nonfunctional requirement that always provides a challenge. Any guesses? Hint: It’s the entire purpose of the game

Unique Problems Unique nonfunctional requirement “Fun” Games present a challenging nonfunctional requirement: fun. Hard to define, and may vary depending on the type of game (shooter, strategy, etc), and subjective(maybe I like mini-maxing my stats, you do not)

Common Issues “Feature Creep” Team Communication Major source of delays A necessary evil Team Communication Teams are formed by members from many different disciplines Poorly defined domain terms “Game engine”

Interesting Resources Information Gamasutra Game Developers Conference (GDC) USC Game Innovation Lab Gamasutra Website for news on all areas of game development, such as programming, design patterns, art asset creation and marketing GDC The primary industry conference for all things related to game development. Gives the cutting edge in gaming technology and techniques USC Game Innovation Lab Research into game design, aesthetics, emergent worlds. Some professors in charge of the lab have industry experience Unity Already know everyone is familiar with this tool, since I presented on it earlier UDK Similar tool to Unity, providing a game engine with a complete programming environment and content pipeline. Engine been used for blockbuster games such as Batman: Arkham Asylum Doxygen Not strictly related to game development, but still useful, thought I’d mention it since no one else has. A tool to automatically generate well organized documentations, simply by following their comment format/convention. Similar to Javadocs. Can use graph-viz to produce additional chart such as collaboration diagram (which classes use other classes), inheritance diagram, call graph, etc, even if you havent commented your code.

Interesting Resources Tools Unity

Interesting Resources Tools Unity Unreal Development Kit (UDK)

Interesting Resources Tools Unity Unreal Development Kit (UDK) Doxygen

Questions

Test Questions What are the common issues in game development? What are the differences between software engineering for games and software engineering for other types of projects?