1 / 24

Game Development using the Irrlicht Graphics Engine

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

gil
Download Presentation

Game Development using the Irrlicht Graphics Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. Project Resources • Development team roles assigned based on National Occupational Standards for Interactive Media (2005)

  5. Project Resources (cont.) • Ben: Lead Programmer, Project Manager • Danny: 3D Modeler, Sound Engineer, Programmer • Dmitry: 3D Modeler, Sound Engineer, Programmer • Daniel: Level Designer, Programmer

  6. 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)

  7. 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

  8. 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

  9. 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

  10. 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”)

  11. 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

  12. Importing models This is a blender model rendered using Irrlicht.

  13. 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

  14. 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.

  15. 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.

  16. Simple Scene

  17. Wiimote Enhanced Gameplay • Presents a minor challenge with major benefits • Allows the player to control the game more naturally • Expands marketability

  18. 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

  19. Project Milestones – Fall 08

  20. Milestones – Spring 09, p.1

  21. Milestones – Spring 09, p.2

  22. Milestones – Spring 09, p.3

  23. Meet The Customer Primary Customer Prof. Gary E. Christensen Affiliations: • Associate Professor Electrical and Computer Engineering, University of Iowa • Radiation Oncology Computational Imaging Group Leader, Iowa Institute for Biomedical Imaging Customer Profile

More Related