Game Engine Programming. Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output.

Slides:



Advertisements
Similar presentations
VIEW Mike Brundage Ivan Sopin. Overview of X3D X3D is an open standards file format and run-time architecture to represent and communicate 3D scenes and.
Advertisements

MANIFEST DESTINY 560group3 Abe Kim David Straily Jarrod Freeman Abdul Mod-Rokbi “The future of RTS games...”
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
Game Project Tuesday Sept 18,  Game Idea  Team  Understanding available engine options  Understanding the Pipeline  Start the process Cycle.
Networked Physics Ogre, Bullet, OgreBullet, and RakNet.
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.
Level 2 Mobile and Games Programming Modules Cathy French K233.
LICENCE EDUCATION AND TRAFFIC SIMULATION (LETS). PROJECT MEMBERS ATIL İŞÇEN UĞUR ACAR UMUT EROĞUL ÇAĞLAR ATA A.ENGİN BAYRAK.
Programming in MATLAB Week 14 – 4/28/09 Kate Musgrave
3D Game Programming All in One By Kenneth C. Finney.
Underlying Technologies Part Two: Software Mark Green School of Creative Media.
AraFell Project By: Joey Peters. System Selection A video game – Video games implement many OS principles Already working on the project Challenging Fun.
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.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
CHAPTER 17 Creating an Interactive 3D Environment © 2008 Cengage Learning EMEA.
Computer Basics Flashcards #2
3rd Person Shooter Milestone 1. Timeplan & Progress table Timeplan Progress table Progress table.
CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Blender's User Interface.
Thinh Nguyen Spring Thinh Nguyen 5 th year undergrad Dustbusters – Spring 2013.
DYNAMICS Part I Physics Engine By Willis (The Magnificent) Louie Fei (The Coyote) Liao.
11.10 Human Computer Interface www. ICT-Teacher.com.
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Graphics Programming using OpenGL. OpenGL is a software interface that allows the programmer to create 2D and 3D graphics images. This interface consists.
Drexel University Software Engineering Research Group 1 Eclipse for SE101.
Yingcai Xiao Voxel Game Engine Development. What do we need? What tools do we have? How can we design and implement? We will answer those questions in.
CSC 343/642 Interactive 3D Game Development George J. Grevera, Ph.D. George J. Grevera, Ph.D.
Web Games Programming An Introduction to Unity 3D.
Version How to Use Packet Tracer MarinaMD.
1 The Rendering Pipeline. CS788 Topic of HCI 2 Outline  Introduction  The Graphics Rendering Pipeline  Three functional stages  Example  Bottleneck.
Dr. Ken Hoganson, Kennesaw State University Introduction to the Torque Game Development System.
2008/9/24 Kim, HyungSeok. HyungSeok Kim, Konkuk University Part I: Framework – 1. Windows creation – 2. Renderer – 3. Lights and Objects/Model loading.
Project “Smoke” N-core engine experiment Threading for Performance AND Features.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Interface Opportunities for 3D Data and Media User Interface Software TechNote Panel Virginia Tech CS Fall 2002 Nicholas F. Polys Umur Yilmaz Will Lee.
Vizard Virtual Reality Toolkits Vizard Virtual Reality Toolkits.
Development of a Software Renderer for utilizing 3D Contents on a 2D-based Mobile System Sungkwan Kang 1, Joonseub Cha 2, Jimin Lee 1 and Jongan Park 1,
Games Development 1 Review / Revision CO2301 Games Development 1 Semester 2.
Super EastGate Jon Caron, Ryan Fleming, Antonio Guarino, and Mike LoVerme Merrimack College Introduction Super EastGate is a 2D side scroller game that.
An Overview of the AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George McCabe dy· na· mo: (n.) A generator 1Erin Rowland.
Introduction to Game Programming Pertemuan 11 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
Design Visualization Software Introduction / Review.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 29 Soft Bodies and Rigid Bodies.
X3DOM : Integrating 3D content seamlessly into webpage
Chapter 1 Introduction.
Quick Intro to Unity Lecture 2.
Game Development with Unity3D Inside/Outside Unity3D
2D Simulation of Rigid Bodies
Game Engine Architecture
3GB3 Game Design Unity 3D Basics.
The Purpose of game Engines
11.10 Human Computer Interface
Computer Animation Ying Zhu Georgia State University
Ogre Overview Lecture 3.
Ogre Overview.
Ogre.
Game Development Unity3D.
Game Engine Architecture
Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
X Windows.
A Prime Example of HCI Application
Blender API: Part 2: Game Engine
Professional Environment
ATEC Procedural Animation
Games Development Game Architecture: Entities
Games Development 1 Review / Revision
Games Development 2 Entity / Architecture Review
Chapter 1 Introduction.
Presentation transcript:

Game Engine Programming

Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output System (OIS) Input/Output System (OIS) Graphical User Interface (CEGUI) Graphical User Interface (CEGUI) Audio Output (OpenAL) Audio Output (OpenAL) Game Engine Components Renderer (OpenGL) Renderer (OpenGL) XML Parser (TinyXML) XML Parser (TinyXML)

Game Components Models Textures Scripts GUI Layouts Scenes Materials Animations A.I. GUI Layout GUI Layout Sound/ Music Sound/ Music System Config. System Config. Video Images Saved Data Saved Data Keyboard Mapping Keyboard Mapping

Game Loop configuration(); create_the_scene(); while(!done){ read_input_state(); update_game_objects(); render_scene(); } //end while clean_up();

Timing Each iteration of the loop varies in time. How can we make movement smooth?

Scene Graph Root Scene Node Root Scene Node Scene Node Scene Node Scene Node Scene Node Scene Node Scene Node Scene Node Scene Node Entity Geometry 3D Mesh Camera Transforms: Location Rotation Scale

OGRE Demonstration Open up a terminal window Run the command: SampleBrowser Try out some samples. Move around a scene.

Physics Engine Manages collisions. Force, torque, velocity. Friction and restitution. Rigid and soft bodies.

Physics Engine Objects Scene Node Scene Node Entity Rigid Body Rigid Body Collision Shape Collision Shape Dynamics and Collision Simulation Dynamics and Collision Simulation

Bullet Demonstration Open a terminal window. Run the command: BulletDemo Commands vary: h sometimes brings help. Try different demos. Right-click often fires blocks at the scene.

OGRE/Bullet Example Open eclipse in a new workspace. Menu: File->Import General->Existing Project into Workspace Click “Next” Click “Select Archive File” and browse to find: /Courses/cs391/PizzaShooter2.zip Click “Finish” Switch to C++ Perspective

OGRE Bullet Example C++ Classes: Header and implementation files PizzaShooterApp – FrameRendering Events – manageCollisions PizzaGOB – firePizza OgreGOB – Animation

PizzaShooter classes BaseApplication PizzaShooterApp DirectionPointer GameObject PhysicsGameObject PizzaGOB PizzaShooter (main) PizzaShooter (main) PlaneGOB TargetCubeGOB OgreGOB

Hazards of C++/OpenSource C++ Memory management Error Messages Syntax Linking libraries Cross platform issues OpenSource Buggy Complex Version maintenance

CS 391: Spring 2015 C++ Programming. Managing small software projects. Writing and testing games!

CS Elective Courses Fall 2014 CS 360 Database CS 373 Graphics Spring 2015 CS 322 Networks CS 371 Artificial Intelligence CS 391 Selected Topics PHY 240 Electronics