Blender as a tool for Video Game Prototyping By
INTRODUCTION What is a prototype? INTRO > What > How > BLENDER in a commercial context > End
INTRODUCTION What is a prototype? For a commercial dev studio : For an indie dev. Studio : INTRO > What > How > BLENDER in a commercial context > End
INTRODUCTION What is a prototype? For a commercial dev studio : It's a pre-production validation stage. For an indie dev. Studio : INTRO > What > How > BLENDER in a commercial context > End
INTRODUCTION What is a prototype? For a commercial dev studio : It's a pre-production validation stage. For an indie dev. Studio : An evidence for potential editors/institutes or communities. INTRO > What > How > BLENDER in a commercial context > End
INTRODUCTION Prototyping must be done fast Prototyping should give an overview of the production tools needed Prototyping should give an overview of the possible market (playable) INTRO > What > How > BLENDER in a commercial context > End
What do we need to create a prototype?
What do we need to create a prototype? Modelisation/Shading
What do we need to create a prototype? Modelisation/Shading Character animation tool
What do we need to create a prototype? Modelisation/Shading Character animation tool Music/sound tools
What do we need to create a prototype? Modelisation/Shading Character animation tool Music/sound tools Inputs management
What do we need to create a prototype? Modelisation/Shading Character animation tool Music/sound tools Inputs management Scene graph
What do we need to create a prototype? Modelisation/Shading Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools
What do we need to create a prototype? Modelisation/Shading Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
What do we need to create a prototype? Modelisation/Shading Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
What do we need to create a prototype? Modelisation/Shading texturing tool Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
What do we need to create a prototype? Modelisation/Shading texturing tool Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
What do we need to create a prototype? Modelisation/Shading texturing tool Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
What do we need to create a prototype? Modelisation/Shading texturing tool Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
What do we need to create a prototype? Modelisation/Shading texturing tool Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
What do we need to create a prototype? Modelisation/Shading texturing tool Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
What do we need to create a prototype? Modelisation/Shading texturing tool Character animation tool Music/sound tools Inputs management Scene graph Objects events/scripting tools Realtime rendering engine
Blender's benefits
Blender's benefits Integrated game engine (BGE)
Blender's benefits Integrated game engine (BGE) VS Ogre 3D/Irrlicht
Blender's benefits Integrated game engine (BGE) VS Ogre 3D/Irrlicht! NO 3D TOOLS INTEGRATED!! TIME CONSUMING!
Blender's benefits Integrated game engine (BGE) VS Ogre 3D/Irrlicht VS Unity/Shiva/Lightspeed
Blender's benefits Integrated game engine (BGE) VS Ogre 3D/Irrlicht VS Unity/Shiva/Lightspeed! COST! NO 3D TOOLS INTEGRATED!
Blender's benefits Integrated game engine (BGE) VS Ogre 3D/Irrlicht VS Unity/Shiva/Lightspeed VS 3DS Max/Maya/XSI...
Blender's benefits Integrated game engine (BGE) VS Ogre 3D/Irrlicht VS Unity/Shiva/Lightspeed VS 3DS Max/Maya/XSI...! COST!! NO REALTIME GAME ENGINE!
Blender's benefits Integrated game engine (BGE) VS Ogre 3D/Irrlicht VS Unity/Shiva/Lightspeed VS 3DS Max/Maya/XSI Documentation and sources
Blender's benefits Integrated game engine (BGE) VS Ogre 3D/Irrlicht VS Unity/Shiva/Lightspeed VS 3DS Max/Maya/XSI Documentation and sources Community
Deluge, The Team Jean-Christophe Romain : Confirmed Game developer - «Jack of the trade» in CG (Art Director) and Programming. Gauthier Boaglio : Confirmed Programmer, level designer and tool programmer Pascal Pribat : CG Student Timothée Prost : CG Student Sylvain Duigou : Sound Designer Deluge, The planning : Jully 1rst August 19 th 2009
www.klakos.com
HOW have we done this? > What > HOW > BLENDER in a commercial context > End
HOW have we done this? Classic project environment Intranet (Process and planning) SVN Server File Organisation (learned from YoFrankie!) World Creation level Region Creation level > What > HOW > BLENDER in a commercial context > End
HOW have we done this? World Creation level World Heightmaps Append Region 1 Tiles Region Creation Level Link TEAM : DESIGN > What World Global Map Generation Script Append Region 2 Tiles Region Creation Level Link Final World World Tiles Append Region 3 Tiles Region Creation Level Link > HOW > BLENDER in a commercial context > End
HOW have we done this? Region creation level IN TEAM : CG Props Lights Link or Append TEAM : DEV Interractive Objects Link Scenery Link or (Region Append Tiles) Link Level Design Link Link Link Nodal Materials Chars. Character animation Link Character Modeling Texturing Shading Player Mobs OUT > What > HOW > BLENDER in a commercial context > End
HOW have we done this? Terrain tiles shading method : Color textures blending Shadows/Ambiant occlusion Terrain glow > What > HOW > BLENDER in a commercial context > End
HOW have we done this? Point & Click interface (inventory, etc...) Overlay scene Data persistence (Disk) > What > HOW > BLENDER in a commercial context > End
HOW have we done this? One-click Inventory > What > HOW > BLENDER in a commercial context > End
HOW have we done this? Contextual menu > What > HOW > BLENDER in a commercial context > End
HOW have we done this? AIs and BBOX generalisations > What > HOW > BLENDER in a commercial context > End
BLENDER in a commercial context > What > How > BLENDER in a commercial context > End
BLENDER in a commercial context Enhancements to go further Logic Bricks A great tool for fast development Become hard to read when the complexity increases SOLUTION : implementing the ability to turn the bricks into a full python scripting (Python Event Handling this point is actually being discussed...) > What > How > BLENDER in a commercial context > End
BLENDER in a commercial context Enhancements to go further Custom tools implementation (python scripting) Python exposure of some functionnalities (For example the NODAL features) Blender UI access from python SOLUTION : it seems to be part of Blender 2.5 new API > What > How > BLENDER in a commercial context > End
BLENDER in a commercial context Enhancements to go further Project oriented development Lack of global project overview (multi-blend files projects) Source control integration inside blender SOLUTION : ability to turn the folders view into a project management window that takes a root folder as the root of the project. > What > How > BLENDER in a commercial context > End
BLENDER in a commercial context Enhancements to go further Lighting and shadows performances During our developments we had to : Reduce a lot the number of lights in huge scenes Lower shading complexity for the materials SOLUTION : Rendering optimization by reducing the scope of action of the lights. Reducing the scope to the area displayed around the camera focus, or whatever... (+ «defferred shading» in Blender?) > What > How > BLENDER in a commercial context > End
BLENDER in a commercial context Enhancements to go further Protecting the IP (intellectual Property) Actually BGE doesn't allow to export a project into a full binary distribution : Graphics ressources and linked.blend files stay editable. So we provided a video to show our work SOLUTION : To extend the binarization applyied to the main.blend file to the others (the linked ones) and to encrypt external datas. > What > How > BLENDER in a commercial context > End
BLENDER in a commercial context Enhancements to go further Some other minor issues Recurrent loss of relative paths for highly linked huge projects Loading time very long at files opening (but quite good «ingame») and crashes sometimes Characters physics behaviour very hard to manage SOLUTIONS : We are looking forward to using Blender 2.5 which should fix some of those problems. > What > How > BLENDER in a commercial context > End
BLENDER in a commercial context A larger use of Blender in the game industry? Development of bridges with the principals game engines (even when they're not Open Source) Requires actors to be more involved in collaborations (more intensive use of standard formats...) Deploying a more complete support Personalized support together with Blender specialists/ingeneers for companies who need it This could be both more people using Blender and more revenues for the Blender Foundation > What > How > BLENDER in a commercial context > End
CONCLUSION Our experience with Blender Blender is a great tool and it takes an important place into our production pipeline Thanks to it, we reached our goal : producing and showing our first playable Demo With some advanced features and services, it could become a software of choice for a complete game development pipeline (it is already the only one that combines creation of both the world and the game) > What > How > BLENDER in a commercial context > END
CONCLUSION FINALLY Even if we are testing it under GraphicAll.org, we are looking forward to having access to the 2.5 stable release!! We see in Blender a stable and reliable tool Big and skilled community Fast development > What > How > BLENDER in a commercial context > END
CONCLUSION More informations about our BGE experience The video of our first game prototype on our web site : http://klakos.com Some extras for BGE adepts A «Hack'n Slash» template V0.1 A complete tutorial addressing «terrain splatting» methodes we used (nodal way) A tutorial showing a sample of RT objects multitexturing with nodes and vertex painting > What > How > BLENDER in a commercial context > END
CONCLUSION FINALLY Questions? > What > How > BLENDER in a commercial context > END
CONCLUSION FINALLY Thank you for your attention. > What > How > BLENDER in a commercial context > END