Game Design From Concepts To Implementation

Similar documents
City University of Hong Kong

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Level Design. Characters vs Levels. Level Design. Case Study: Matchstick puzzle

game development documentation game development documentation: concept document

GAME DESIGN AND DEVELOPMENT TECHNOLOGY. Game Design and Development Technology I

DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini

Techniques and Strategies for Data-driven design in Game Development. Scott Shumaker Outrage Games

Game Engine Review. Mr. Stuart Armstrong Research Parkway, Suite 350 Orlando FL, USA

[Name of the game] Game Design Document. Created by [Name of the team]:

Visual Programming of Logic, Motion, and Robotics

Preproduction in the Game Development Process

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

School of Computer Science

CAD and Creativity. Contents

Information Technology Career Field Pathways and Course Structure

Java game programming. Game engines. Fayolle Pierre-Alain

Masters in Computing and Information Technology

Grid Computing for Artificial Intelligence

Java Programming (10155)

MEng, BSc Applied Computer Science

Board Games They are adaptations of classic board games. Examples of board games include Chess, Checkers, Backgammon, Scrabble and Monopoly.

Project Group Applied Functional Programming

Project Development Plan

Cloud Computing for Agent-based Traffic Management Systems

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Interactive Cards A game system in Augmented Reality

Masters in Human Computer Interaction

MEng, BSc Computer Science with Artificial Intelligence

Masters in Advanced Computer Science

Digital 3D Animation

Masters in Artificial Intelligence

Masters in Networks and Distributed Systems

INTERACTIVE 3D SIMULATION SYSTEM IN GAME ENGINE BASED COLLABORATIVE VIRTUAL ENVIRONMENT FOR ARCHITECTURAL DESIGN COMMUNICATION

CS 378: Computer Game Technology

An Oracle White Paper October Oracle Data Integrator 12c New Features Overview

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

Computer Game and Animation Past, Present, and Future

Position Classification Flysheet for Computer Science Series, GS Table of Contents

Virtualization, SDN and NFV

Describe the process of parallelization as it relates to problem solving.

Computer Information Systems

Mapping Game Engines for Visualisation

SOFTWARE ENGINEER. For Online (front end) Java, Javascript, Flash For Online (back end) Web frameworks, relational databases, REST/SOAP, Java/Scala

Software Engineering. Objectives. Designing, building and maintaining large software systems

Advanced Testing Methods for Automotive Software

LONG BEACH CITY COLLEGE MEMORANDUM

CMSC 435: Software Engineering Course overview. Topics covered today

Data Visualization in Parallel Environment Based on the OpenGL Standard

Video Game Programming ITP 380 (4 Units)

CURRICULUM VITAE EDUCATION:

THE APPLICATION OF ARTIFICIAL INTELLIGENCE TO SOLVE A PHYSICAL PUZZLE. Dana Cremer

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

Instructional Design Framework CSE: Unit 1 Lesson 1

NORCO COLLEGE SLO to PLO MATRIX PLOs

Application Architectures

Research Directions in Computer Game AI. Rafael Cabredo

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Satisfying business needs while maintaining the

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Masters in Information Technology

Lesson 1 Introduction to Rapid Application Development using Visual Basic

3D Game Programming using Unity3D Syllabus

10g versions followed on separate paths due to different approaches, but mainly due to differences in technology that were known to be huge.

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

Game Programming. Bachelor of Software Engineering. Course Components

Unit 1: INTRODUCTION TO ADVANCED ROBOTIC DESIGN & ENGINEERING

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Schoo\ of Computing. Middlesbrough. Teesside University. 22 June To whom it may concern

Fundamentals of Computer Science (FCPS) CTY Course Syllabus

Robot Task-Level Programming Language and Simulation

Games Development Education to Industry. Dr. Catherine French Academic Group Leader Games Programming, Software Engineering and Mobile Systems

Computer Science Introduction

Example Software Development Process.

Using Autodesk HumanIK Middleware to Enhance Character Animation for Games

Tec: A Cross-Platform Game Engine

Fundamentals of Real-Time Camera Design. Mark Haigh-Hutchinson Senior Software Engineer Retro Studios, Inc.

Course Title: Software Development

Test Specification. Introduction

Advanced Web Application Development using Microsoft ASP.NET

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

Computer and Information Sciences

Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT

Graduate Co-op Students Information Manual. Department of Computer Science. Faculty of Science. University of Regina

School of Computer Science

2IOE0 Interactive Intelligent Systems

Adobe Flash Player and Adobe AIR security

Computer Graphics AACHEN AACHEN AACHEN AACHEN. Public Perception of CG. Computer Graphics Research. Methodological Approaches

Software Engineering. Software Engineering. Software Costs

Service Oriented Architecture for Agricultural Vehicles

Artificial Intelligence and Politecnico di Milano. Presented by Matteo Matteucci

A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Overview.

Transcription:

Game Design From Concepts To Implementation Overview of a Game Engine

What is a Game Engine? (Really) Technical description of game: A Soft real-time interactive agent-based computer simulation A game engine is a software made to implement such a system

What is a Game Engine? Real-time Interactive Must respond to player input in real time Agent-based Independent entities (agents) live and interact within the engine Simulation It is capable to describe a model representation of a virtual world It is a MATHEMATICAL description

A Generic Scheme

Let s make it (much) simpler THIS IS MY HUGE BLACK BOX

A Black Box for Rules and Assets A Game engine is a container for RULES You explain how the world is evolving, you do not write how to make it evolve The black box will follow your rules and apply them on the asset your provide At every step, the rules will create a new set of assets, making your world magically evolving

The Dawn of Game Engines dates back to 1984 with DOOM Strict separation between core software components Strict separation between software and data assets Strong code reusability enforced during development Yet.. The word engine was not there

Later on in 90-something Other games have been designed with modding and code reuse as keywords Scripting language (such as quake C) started to be part of the distribution The game engine was now a standalone product (and a profitable one!)

Game Engines are Strictly Data-driven A data-driven architecture is what differentiate a game engine from a piece of software that is a game but not an engine When a game contains hard-coded logic or employs special-case code to manipulate specific game objects, it becomes difficult or even impossible to reuse that software to make a different game

Game Engines are Specialized The more generic an engine is the less optimized for a certain platform/genre it will be There are specialized engine for certain kind of games USE THE RIGHT ENGINE FOR THE RIGHT GAME

Game Engines Survey Quake family FPS Unreal Engine Whatever First or Third person game Very good for prototyping Half Life Source Competitor of Unreal Windows XNA Easy to use (never underestimate this) YouTube (sharing) friendly Heavily PC/XBOX oriented and about to disappear

Game Engines Survey In-house engines Sometimes so secret we do not even know the names Open source engines OGRE 3D Easy to use, but NOT a full engine Panda3D Script based, good for prototyping Yake Built on top of OGRE, more fully functional Crystal space Torque Irrlicht

Runtime and Tools A game engine is made of two parts: Tools To compile software to work within the game engine To help you describe rules To manage assets To create content Runtime A library/middleware/sandbox/virtual machine This will run your rules on your assets MUST be distributed with the game

Let s Break it Down Game-specific subsystem Game virtual machine Interaction Output Network Debugging Gameplay Resource manager Core system Data structures Platform independence layer Graphics Physics Animation A.I. Data structures Third party SDKs and middlewares Graphics Physics Animation A.I. Operating system Device drivers Hardware

Game-Specific Subsystem Is where the game designer lives Game-Specific subsystem Weapons Vehicles Power-ups Puzzles Game-specific rendering Game cameras Quests Terrain Water space Player mechanics Collisions Movement Camera Fixed Following Scripted Artificial Intelligence Decisions Perception Path finding