24
Game Development using the Irrlicht Graphics Engine Ben Mossman Danny Lee Dmitry Kallestinov Daniel Juel http://www.engineering.uiowa.edu/~danlee/eedesign/

Game Development using the Irrlicht Graphics Engine

  • Upload
    gil

  • View
    88

  • Download
    0

Embed Size (px)

DESCRIPTION

Game Development using the Irrlicht Graphics Engine. Ben Mossman Danny Lee Dmitry Kallestinov Daniel Juel http://www.engineering.uiowa.edu/~danlee/eedesign/. Preliminary Design Objectives. Develop PC-based FPS (first-person-shooter) Model weapons and aliens Animate weapons and aliens - PowerPoint PPT Presentation

Citation preview

Page 1: Game Development using the Irrlicht Graphics Engine

Game Development using the Irrlicht Graphics Engine

Ben MossmanDanny Lee

Dmitry KallestinovDaniel Juel

http://www.engineering.uiowa.edu/~danlee/eedesign/

Page 2: Game Development using the Irrlicht Graphics Engine

Preliminary Design Objectives Develop PC-based

FPS (first-person-shooter)

Model weapons and aliens

Animate weapons and aliens

Use simple game and character models

Object collision Model bullets and

weapon particle effects

Simple HUD (heads- up-display)

Short, engaging back-story

Page 3: Game Development using the Irrlicht Graphics Engine

Pre-Productio

n

Production

Testing

Software Process Pre-production –

initial planning, pick team, assign roles, preliminary design, identify milestones

Production – final design, meet milestones

Testing – alpha and beta

Completion – deploy product

Maintenance – provide customer support

Pre-production Production Milestones Testing Completion

Page 4: Game Development using the Irrlicht Graphics Engine

Project Resources Development team roles assigned

based on National Occupational Standards for Interactive Media (2005)

Page 5: Game Development using the Irrlicht Graphics Engine

Project Resources (cont.) Ben: Lead

Programmer, Project Manager

Danny: 3D Modeler, Sound Engineer, Programmer

Dmitry: 3D Modeler, Sound Engineer, Programmer

Daniel: Level Designer, Programmer

Page 6: Game Development using the Irrlicht Graphics Engine

Project Resources (cont.) Irrlicht graphics

engine DirectX SDK IrrKlang sound

engine IrrEdit scene editor 3ds MAX modeling

software

Google Sketchup Microsoft Visual C+

+ Express Edition (IDE)

Page 7: Game Development using the Irrlicht Graphics Engine

Initial Planning Ogre3D Graphics

Engine Java binding for

Ogre3D Python binding for

Ogre3D Game Engines –

Dark GDK, StemCell, Cube 2: Saurbraten

Ogre3D has a steep learning curve

Team inexperience Incomplete wrapper

or binding Little or no

programming involved

Page 8: Game Development using the Irrlicht Graphics Engine

Irrlicht Graphics Engine Irrlicht: cross-

platform graphics engine written in C++ (MS Windows Vista, Mac OS)

Supports Direct X and OpenGL

Abstracts details of Direct3D and OpenGL

Open source GNU Lesser Public

License (free) Stable Productive Extensive

documentation Broad support

community

Page 9: Game Development using the Irrlicht Graphics Engine

Irrlicht Features Basic physics,

collision detection, rigid body

Per-pixel lighting Bump-mapping Parallax-mapping Mesh loading and

skinning Bill-boarding

Skybox Simple water and

fog effects Particle System 2D GUI System

Page 10: Game Development using the Irrlicht Graphics Engine

Irrlicht Features (cont.) Pixel and vertex

shaders support Fast shaders written

in assembly Other shaders

written in Cg or DirectX9 HLSL

Scene Management Scene querying

features

Fixed-function pipeline (use prefabricated DirectX algorithm for modifying graphical output)

Supports Pixel and Vertex Shaders 1.1 to 3.0

Programmable pipeline (write your own algorithm, aka “shaders”)

Page 11: Game Development using the Irrlicht Graphics Engine

3D Modeling Tools Export from

Milkshape3D, 3ds Max, Maya, Blender and Wings3D

Irrlicht supports over 18 file formats including Maya (.obj), DirectX (.x), and 3ds MAX (.3ds)

3ds Max for character modeling

IrrEdit for level modeling

3ds MAX includes Character Studio for modeling and animating characters

Used by FX experts in Hollywood

IrrEdit can build scenes or meshes in native format compatible with Irrlicht

Page 12: Game Development using the Irrlicht Graphics Engine

IMPORTING M

ODELS This is a blender model rendered using Irrlicht.

Page 13: Game Development using the Irrlicht Graphics Engine

Irrlicht Life Cycle Link in Irrlicht

graphics engine Setup 3rd party

libraries and plug-ins Setup Irrlicht device

object Setup selected

renderer (DirectX or OpenGL)

Create scene manager

Create a camera scene object

Create a mesh scene object

Choose render modes

Create event receiver (listener)

Start the render loop

Page 14: Game Development using the Irrlicht Graphics Engine

IRRLICHT CLASS DIAGRAM Everything starts with the device object, which creates your render window and is the root object for any scene. A scene is programmed using a scene “node”. There are camera nodes, light nodes, and billboards nodes.

Page 15: Game Development using the Irrlicht Graphics Engine

SPACE REPRESENTATION Irrlicht can represent 3D space using Binary Space Partitioning (BSP). In BSP, space is subdivided recursively into “convex sets” (solid, no dents) using hyper-planes. It’s faster, but less intuitive, so we will use Octrees, which are tree data structures whose children can hold 8 nodes. The 8 nodes represent the 8 octants surrounding a point in space.

Page 16: Game Development using the Irrlicht Graphics Engine

Simple Scene

Page 17: Game Development using the Irrlicht Graphics Engine

Wiimote Enhanced Gameplay

Presents a minor challenge with major benefits

Allows the player to control the game more naturally

Expands marketability

Page 18: Game Development using the Irrlicht Graphics Engine

Nintendo Wiimote Blue Soleil allows PC

to wirelessly connect with wiimote

Requires a Bluetooth dongle

Requires GlovePie Input Emulator

Simple script maps mouse actions to wiimote

Wiimote can be used to interface with game menu

Navigation Strafing Aiming Volume control Event feedback in

the form of vibration

Page 19: Game Development using the Irrlicht Graphics Engine
Page 20: Game Development using the Irrlicht Graphics Engine

Project Milestones – Fall 08Milestone Work

AllocationDate Status

Purchase wiimote Daniel Juel 9-12-08 Completed

Verify if Blue Soleil works with wiimote

Daniel Juel 9-19-08 Completed

Get Ogre3D graphics engine to work and program basic scene

Ben Mossman 9-20-08 Completed

Map wiimote and mouse actions together using Input Emulator GlovePie script

Daniel Juel, Ben Mossman, Dmitry Kallestinov, Danny Lee

10-8-08 Completed

Integrate wiimote with Ogre3D scene

Daniel completes this verification

10-8-08 Completed

Page 21: Game Development using the Irrlicht Graphics Engine

Milestones – Spring 09, p.1Milestone Work

AllocationDate Status

Make transition to Irrlicht graphics engine

Ben Mossman 12-28-09 Completed

Complete game framework with level loader and graphical configuration menu

Ben Mossman 12-28-09 Completed

Complete gameplay concept (Sci-Fi first-person shooter)

Ben Mossman 12-28-08 Completed

Complete targeting system for player (laser sights, modeling bullets)

Ben Mossman 12-28-08 Completed

Complete terrain and object collision

Ben Mossman 1-7-09 Completed

Complete parallax mapping and flashlight

Ben Mossman 1-7-09 Completed

Page 22: Game Development using the Irrlicht Graphics Engine

Milestones – Spring 09, p.2Milestone Work

AllocationDate Status

Complete targeting system for aliens

Ben Mossman 1-30-09 Irrelevant if aliens don’t shoot.

Build game Level (without props)

Daniel Juel 1-30-09 Using GtkRadiant as level modeler.

Build and animate alien models

Danny Lee 1-30-09

Build and animate weapon models

Dmitry Kallestinov 1-30-09

Create particle effects for alien models

Danny Lee 2-6-09

Heads Up Display (HUD) Ben Mossman 2-6-09

Interim Report #1 Danny Lee, Daniel Juel, Dmitry Kallestinov, Ben Mossman

2-23-09

Page 23: Game Development using the Irrlicht Graphics Engine

Milestones – Spring 09, p.3Milestone Work

AllocationDate Status

Complete in-game computer screens and mirrors

Ben Mossman 2-27-09 In Progress. (need to fix all reversed reflections)

Complete AI for aliens Danny Lee, Dmitry Kallestinov

2-27-09

Populate level model with 3D sounds, dynamic lights, and props

Daniel Juel 2-27-09 Identified IrrEdit as level editor we will use for this.

Interim Report #2 Danny Lee, Daniel Juel, Dmitry Kallestinov, Ben Mossman

3-30-09

Complete integration, alpha testing, and game installer

Danny Lee, Daniel Juel, Dmitry Kallestinov, Ben Mossman

4-10-09 Identified Install Creator as wizard we will use for this.

Final Report with poster and documentation

Danny Lee, Daniel Juel, Dmitry Kallestinov, Ben Mossman

4-17-09

Page 24: Game Development using the Irrlicht Graphics Engine

Meet The Custom

erPrim

ary Customer

Customer Profile

Prof. Gary E. ChristensenAffiliations: Associate Professor Electrical and

Computer Engineering, University of Iowa

Radiation Oncology Computational Imaging Group Leader, Iowa Institute for Biomedical Imaging