Tools for Game Developmet Erik Harpstead Carnegie Mellon University 1.

Slides:



Advertisements
Similar presentations
FireMonkey Deep Dive The Next Generation of Business Application Development.
Advertisements

MULTIMEDIA DEVELOPMENT 4.3 : AUTHORING TOOLS. At the end of the lesson, students should be able to: 1. Describe different types of authoring tools Learning.
 Currently there is no software solution that combines video and animation in to one platform.  Every single change drag changes in all of the environments.
Goals Give you a feeling of what Eclipse is.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Spring 2007COMP Design Teams Team Structure Interdisciplinary Teams.
Aug 24, Fall 2005ITCS4010/50101 Design Teams Team Structure Interdisciplinary Teams.
Software Architecture Research and Practice Nenad Medvidovic University of Southern California
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
CHAPTER 1 Introduction to Game Development © 2008 Cengage Learning EMEA.
MERTIS: Modifiable, Extensible, Real-Time, Interactive Simulation Leandro Basallo ◦ Ryan Leigh ◦ Sam Talaie ◦ Regan Snyder with Dr. Sergiu Dascalu and.
Sep 14, Fall 2006IAT 4101 Design Teams Team Structure Interdisciplinary Teams.
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.
Unity 3D game IDE 1.  Unity is a multi-platform, integrated IDE for scripting games, and working with 3D virtual worlds  Including:  Game engine ▪
CHAPTER 17 Creating an Interactive 3D Environment © 2008 Cengage Learning EMEA.
UNIT-V The MVC architecture and Struts Framework.
Things you need to know George Georgiev Telerik Corporation
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Separating VUI from business logic Caller Experience-centered design approach Alex Kurganov, CTO Parus Interactive
3rd Person Shooter Milestone 1. Timeplan & Progress table Timeplan Progress table Progress table.
Games Development 2 Entity / Architecture Review CO3301 Week
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Senior Design Spring 2010 Milestone 1. General Project Info Team Members: – Lauren Bissett – Dan Maguire – Nicholas Woodfield Project Goals: – Expand.
Mark Nelson What are game engines? Fall 2013
Logistics and Systems Rabby Q. Lavilles. Supply chain is a system of organizations, people, technology, activities, information and resources involved.
10/9/20151 Unreal Basics CIS 488/588 Bruce R. Maxim UM-Dearborn.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Installation and Development Tools National Center for Supercomputing Applications University of Illinois at Urbana-Champaign The SEASR project and its.
Web Games Programming An Introduction to Unity 3D.
Grid Workflow Research update in SIG Dr. ZhenChun Huang Tsinghua Univ. NRSCC/RSGS/SIG Team Sep. 8th, 2004.
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
Application of AI techniques for Computer Games BSc Computer Games Programming, 2006 Julien Delezenne GAMES ARTIFICIAL INTELLIGENCE.
Chapter 3.6 Game Architecture. 2 Overall Architecture The code for modern games is highly complex (can easily exceed 1M LOC) The larger your program,
Celluloid An interactive media sequencing language.
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
Java Beans. Definitions A reusable software component that can be manipulated visually in a ‘builder tool’. (from JavaBean Specification) The JavaBeans.
RealXtend vs. Second Life RealXtend overview  Main ambition Promote the evolution.
Games Development 1 Review / Revision CO2301 Games Development 1 Semester 2.
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
1 Topics: Introduction to Game Engine Course Overview What is a game engine? Advantages and Disadvantages Torque Game Engine.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
+ Game Design Careers. + Game Development Developing an interesting video game is a very challenging task. It usually takes many different people working.
XML 2002 Annotation Management in an XML CMS A Case Study.
© ExplorNet’s Centers for Quality Teaching and Learning 1 Objective % Understand career planning in a digital media environment.
Introduction of Scratch (1/4) You can find Scratch on the Web:
Chapter 1 Introduction.
CST 1101 Problem Solving Using Computers
Prototyping in the software process
Software Prototyping.
Game Engine Architecture
Using Unity as an Animator and Simulator for PaypyrusRT Models
Game Architecture Rabin is a good overview of everything to do with Games A lot of these slides come from the 1st edition CS 4455.
Complexity Time: 2 Hours.
The merging of Web and Mobile APP
CHAPTER 8 Multimedia Authoring Tools
Objective % Understand career planning in a digital media environment.
Major themes Abstraction Design tradeoffs Recursion Leverage existing components without understanding details Create components that can be.
Game Engine Architecture
CIS16 Application Development – Programming with Visual Basic
Professional Environment
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer Low level programming language: A programming.
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
Games Development 2 Tools Programming
Games Development 1 Review / Revision
Games Development 2 Entity / Architecture Review
Chapter 1 Introduction.
Presentation transcript:

Tools for Game Developmet Erik Harpstead Carnegie Mellon University 1

Game Development is Hard 2

3

Challenges in Game Development Rapidly shifting design requirements Multi-platform development Integration of many different forms of media (sound, music, art, modeling) Highly interdisciplinary teams The demand for novelty 4

Three Routes for Development 5

Three Routes Roll your own engine Use a Framework Use an off-the-shelf engine 6

Rolling Your Own Engine Surprisingly common Special game mechanics require custom software architectures Existing tools are too restrictive for rapid design changes Using other people’s tools is a cop-out 7

Using a Framework Usually provide basic utilities and primitives Commonly built around a state machine in a loop 8

Using a Framework 9

10

Using a Framework Other Common Components: –Rendering Library –Physics Engine –Input Abstraction –Fast Math Libraries –Object Pooling/Resource Management –Audio Management 11

Using a Full Game Engine Use some kind of interactive editor Provide custom API or scripting language for defining game mechanics More approachable by design and art members of a development team Combines many tools into a single package 12

13

Entity/Component Model A pattern that is becoming more popular in game development Used in the Unity Game Engine Every game object is an entity which contains different components Those components are acted on by systems that run in loops 14

Example Entity class Entity { void AttachComponent(ComponentType, argumentList, name) void DetachComponent(name) void UpdateComponents() void UpdateComponentType(ComponentType typeOfComponentToUpdate) void HandleMessage(MessageType message) // echoes to all attached components... BaseComponentList attachedComponentList.... } 15

Example Component class BaseComponent { virtual void Startup() virtual void Update() virtual void Shutdown() virtual void HandleMessage(MessageType message).... } class RenderComponent: Public BaseComponent { virtual void Startup() // (registers the renderable mesh with the rendering system) virtual void Shutdown() // (removes the renderable mesh from the rendering system)... } 16

Components in Unity All public members of a script are exposed in the GUI allowing non- programmer team members to control game settings Built in Component types can also be accessed and edited this way Properties can be changed in the GUI while the game is running to test changes 17

Open Areas for Game Tool Development Implementing AI behaviors (complex simulation in general) Better animation control (some promising recent tools) Truly cross-platform deployment (particularly to web) 18

Questions? 19