Useful Tools for Making Video Games Part II An overview of.

Slides:



Advertisements
Similar presentations
Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
Advertisements

MVisio: a multi-device 2D/3D graphic engine for PDAs, PCs and CAVEs Achille Peternier, Ph. D. Student VRLab, EPFL, Switzerland 3D Mental Vision.
Comm Operator Tutorial How to send sequence data at given time automatically Serial Port Tool
GlTF and rest3d Patrick Cozzi University of Pennsylvania CIS Fall 2013.
Intro to Java Monkey Engine Download JME loads/ loads/
3D Programming Cocos 2D-x and Unity 3D Nguyễn Đức Toàn Bùi Minh Đạo
Geometry Systems Inc. 3D Graphic Solutions Balancing art with engineering
TORQUE 3D Daniel Casadevall-Pino
Irrlicht Engine Overview By Eric Osugi. Irrlicht's development started in 2003 with only Nikolaus Gebhardt. Only after the 1.0 release of Irrlicht in.
Paradox Engine OVERVIEW. What is Paradox Engine  C# Game Engine for everybody  Easy to use, highly productive, free  Powerful and flexible architecture.
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.
Master Project Preparation Murtaza Hussain. Unity (also called Unity3D) is a cross-platform game engine with a built-in IDE developed by Unity Technologies.
Overview of Computer Graphics Chapter 1. Bird’s Eye View  Overview of Computer Graphics –Basic concept of computer graphics, system, programming platforms,
WebGL for lazy dudes Janne Lautamäki 1 GLGE – Janne Lautamäki
AppVision © Integrated approach to system management Building automation Energy Management Security ManagementProcess Management (SCADA) AppVision.
Antigone Engine Kevin Kassing – Period
 Develop PC-based FPS (first-person- shooter)  Model weapons and aliens  Animate weapons and aliens  Use simple game and character models  Object.
OpenGL Shading Language (Advanced Computer Graphics) Ernest Tatum.
CSED451. Computer Graphics Term Project 3D Runner Game Team CSED451. Computer Graphics Term Project – 3D Runner Game.
Overview [See Video file] Architecture Overview.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
Microsoft Robotics Studio Simulation Kyle Johns Software Development Engineer Microsoft Corporation.
Games Games GAMES. About Me:  Ariel Nehmad.  I’m 31 years old.  Live in Buenos Aires, Argentina.  CTO and father of Flare3D, FLSL and Flare3D Phys…
Web Games Programming An Introduction to Unity 3D.
Game Engine Jian-Liang Lin ( 林建良 )
Platforms for Educational Games Richard M. Levy, Ph.D. MCIP Why is this an issue at all Expectations of Students Educational Game Market Resources of Academic.
Ling Chen ( From Shanghai University 1.
Computer Graphics Group Jiří Žára. Computer Graphics Group 2X3D Contents 1.Web3D Consortium 2.X3D specification 3.GeoVRML 4.NurbsVRML 2.
3D Programming and DirectX API. Content Mathematics Mathematics Prepare to Write a 3D program Prepare to Write a 3D program Program Structure Program.
Introduction to the Maya C++ API Brent Haley The Ohio State University
Esri UC 2014 | Technical Workshop | Using ArcGIS Online Analysis Widgets Shing Lin, Jerome Yang.
Vizard Virtual Reality Toolkits Vizard Virtual Reality Toolkits.
RealXtend vs. Second Life RealXtend overview  Main ambition Promote the evolution.
Iconoclast Game Engine and test game “Scumbag”. 3D 3D rendering with use of the latest OpenGL standards. Multiple light sourcing Mesh data loaded from.
Delta3D: To Date Progress of the Delta3D Open Source Game Engine Erik Johnson, Technical Director.
DIGITAL CONTENT CREATION PROCESS fff PRE-PRODUCTION PRODUCTION POST-PRODUCTION Process ANIMATION PROCESS.
Environment Design by Stefanie Kristiansson. Project Recap  Jungle scene  Frapped walk through video  Simplicity Low poly environment modeling Textures.
Edison Gao 主讲人:高原. GameFinal A Next-Gen 3D Game Engine Edison Gao.
Antigone Engine. Introduction Antigone = “Counter Generation” Library of functions for simplifying 3D application development Written in C for speed (compatible.
1 EiffelMedia. 2 Overview Features of the library Documentation Demos Community Stats Roadmap.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
MP3.. Start at the very beginning. Almost. Either start from nothing yourself, or use the empty template for this MP. Run through the provided files are.
Computer Graphics Imaging Lecture 13 and 14 UV Mapping.
Creation and Visualization of 3D Scenes with the MRPT library January, 2007 Jose Luis Blanco Claraco Dept. of Automation and System Engineering University.
Use Autodesk® Maya® 2011 and Autodesk® Mudbox® 2011 to build up modern game producing work flow  Jerry Zhao  3D Technology Expert of Shangqi Technology.
Text Drawing & Playing Sound
Game Development with Unity3D
Unity 3D Rolfe Bozier 24-Apr-2017
Interactive Animation
X3DOM : Integrating 3D content seamlessly into webpage
Chapter 1 Introduction.
Games Development Practices 3D Modelling
Rapid Prototyping using UDK
Using the Unreal Editor
3GB3 Game Design Unity 3D Basics.
Antigone Engine.
Ogre Overview Lecture 3.
Immediate Mode GUI – Theory and Example
Ogre Overview.
Computer Animation System Overview
Computer Animation UV Mapping.
Solid Edge ST4 Training Exploding assemblies
Useful Tools for Making Video Games
Professional Environment
Unity Terrain Design Tutorial
Interactive media.
Games Development 2 Tools Programming
OpenGL-Rendering Pipeline
Chapter 1 Introduction.
Presentation transcript:

Useful Tools for Making Video Games Part II An overview of

Sample Games  Slam Soccer 2006 Slam Soccer 2006  H-Craft Championship H-Craft Championship  Di Jabolo Di Jabolo  Gekkeiju Online Gekkeiju Online  Inevitable Online Inevitable Online

Features  Platform & Graphics API independent  Direct import of common mesh and texture formats  Shader support  Character animation  Particle effects, billboards, light maps, shadows, environment mapping  Easy physics integration  Open source!

Startup Sequence Main() { // startup engine … // load scene & models … // add camera, turn on lights … // draw everything while(device->run() && driver) { driver->beginScene(true, true, video::SColor(255,0,0,255)); scenemgr->drawAll(); driver->endScene(); } return 0; }

Loading models  Some of supported formats.3ds,.obj,.x,.ms3d,.mesh,.bsp,.md2 …  IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2"); IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh ); if (node) { node->setMaterialFlag(EMF_LIGHTING, false); node->setFrameLoop(0, 310); node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") ); }

Adding camera  addCameraSceneNode()  addCameraSceneNodeMaya()  addCameraSceneNodeFPS( ISceneNode * parent = 0,ISceneNode f32 rotateSpeed = 100.0f,f32 f32 moveSpeed = 500.0f,f32 s32 id = -1,s32 SKeyMap * keyMapArray = 0,SKeyMap s32 keyMapSize = 0,s32 bool noVerticalMovement = false, f32 jumpSpeed = 0.f)f32

Loading Quake3 maps scene::IAnimatedMesh* mesh = smgr->getMesh("20kdm2.bsp"); scene::ISceneNode* node = 0; if (mesh) { node = smgr->addOctTreeSceneNode(mesh->getMesh(0)); } if (node) { node->setPosition(core::vector3df(-1300,-144,-1249)); }

Custom SceneNode’s  class CSampleSceneNode : public scene::ISceneNode {…};  core::aabbox3d Box; video::S3DVertex Vertices[4]; video::SMaterial Material;  irr::video::S3DVertex::S3DVertex ( const core::vector3df & pos,core::vector3df const core::vector3df & normal,core::vector3df SColor color,SColor const core::vector2d & tcoords);core::vector2df32  u16 indices[] = { 0,2,3, 2,1,3, 1,0,3, 2,0,1 }; driver->drawIndexedTriangleList(Vertices, 4, indices, 4);

User Input class MyEventReceiver : public IEventReceiver { public: virtual bool OnEvent(SEvent event) { // event types: GUIEvent, KeyInput, LogEvent, MouseInput, UserEvent if (event.EventType == irr::EET_KEY_INPUT_EVENT) { switch(event.KeyInput.Key) { case KEY_KEY_W: … break; } }; … MyEventReceiver myEventReceiver; device = createDevice(…, &myEventReceiver); …

Character Animation scene::IAnimatedMeshSceneNode* animMS = smgr->addAnimatedMeshSceneNode(smgr->getMesh("…/sydney.md2")); scene::ISceneNodeAnimator* anim = smgr->createFlyStraightAnimator(core::vector3df(…), core::vector3df(…), 10000, true); animMS->addAnimator(anim); anim->drop(); animMS->setMaterialFlag(video::EMF_LIGHTING, false); animMS->setFrameLoop(320, 360); anms->setAnimationSpeed(30); animMS->setRotation(core::vector3df(…)); animMS->setMaterialTexture(0, driver->getTexture("../../media/sydney.bmp"));

GUIs IGUIEnvironment* env = device->getGUIEnvironment(); Env->add[…](); addButtonaddButton (…); addCheckBoxaddCheckBox ( ); addComboBoxaddComboBox (); addEditBoxaddEditBox (); addFileOpenDialogaddFileOpenDialog (); addImageaddImage (); addListBoxaddListBox (); addTabaddTab (); addWindowaddWindow (); addMenuaddMenu (); addMessageBoxaddMessageBox (); addStaticTextaddStaticText (); addToolBaraddToolBar (); addScrollBaraddScrollBar (); addSpinBoxaddSpinBox ();

2D Graphics video::ITexture* images = driver->getTexture(…); driver->makeColorKeyTexture(images, core::position2d (0,0)); core::rect frames[NUM_FRAMES]; // fill in rect coordinates … while(device->run() && driver) { static int currentFrame = 0; u32 time = device->getTimer()->getTime(); if (time/33 % 2) { currentFrame = (++currentFrame)%NUM_FRAMES; } driver->draw2DImage(images, core::position2d (…), frames[currentFrame], 0, video::SColor(255,255,255,255), true); }

Particle Systems // fire particle system scene::IParticleSystemSceneNode* ps = 0; ps = smgr->addParticleSystemSceneNode(false); ps->setPosition(…); scene::IParticleEmitter* em = ps->createBoxEmitter( …); ps->setEmitter(em); scene::IParticleAffector* paf = ps- >createFadeOutParticleAffector(…); ps->addAffector(paf); ps->setMaterialTexture(…);

Terrain Rendering scene::ITerrainSceneNode* terrain = smgr->addTerrainSceneNode(…); terrain->setScale(…); terrain->setMaterialFlag(…); terrain->setMaterialTexture(…); terrain->setMaterialType(…); terrain->scaleTexture(1.0f, 20.0f);

For more details…  Go through the tutorials under the “examples” directory  Check out the API and forumsAPIforums

Language bindings and add-ons  Java/PureBasic/Python ports  irrEdit scene editor  irrKlang 3D audio library  Exporters/importers etc Go to Add-ons siteAdd-ons site

References 