Post on 12-Sep-2021
transcript
Blender as a tool forVideo Game Prototyping
By
What is a prototype ?
INTRODUCTION
INTRO > What > How > BLENDER in a commercial context > End
What is a prototype ?● For a commercial dev studio :
● For an indie dev. Studio :
INTRODUCTION
INTRO > What > How > BLENDER in a commercial context > End
What is a prototype ?● For a commercial dev studio :For a commercial dev studio :
It's a pre-production validation stage.
● For an indie dev. Studio :
INTRODUCTION
INTRO > What > How > BLENDER in a commercial context > End
What is a prototype ?● For a commercial dev studio :
It's a pre-production validation stage.
● For an indie dev. Studio :For an indie dev. Studio :An evidence for potential editors/institutes or communities.
INTRODUCTION
INTRO > What > How > BLENDER in a commercial context > End
INTRODUCTION
INTRO > What > How > BLENDER in a commercial context > End
● 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)
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● What do we need to create a prototype ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● What do we need to create a prototype ?● Modelisation/Shading
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● What do we need to create a prototype ?● Modelisation/Shading● Character animation tool
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● What do we need to create a prototype ?● Modelisation/Shading● Character animation tool● Music/sound tools
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● What do we need to create a prototype ?● Modelisation/Shading● Character animation tool● Music/sound tools● Inputs management
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● What do we need to create a prototype ?● Modelisation/Shading● Character animation tool● Music/sound tools● Inputs management● Scene graph
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● What do we need to create a prototype ?● Modelisation/Shading● Character animation tool● Music/sound tools● Inputs management● Scene graph● Objects events/Scripting tools
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● Blender's benefits
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
– VS Ogre 3D/Irrlicht
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
– VS Ogre 3D/Irrlicht
! NO 3D TOOLS INTEGRATED !
! TIME CONSUMING !
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
– VS Ogre 3D/Irrlicht
– VS Unity/Shiva/Lightspeed
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
– VS Ogre 3D/Irrlicht
– VS Unity/Shiva/Lightspeed
Intro > WHAT > How > BLENDER in a commercial context > End
! COST ! NO 3D TOOLS INTEGRATED !
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
– VS Ogre 3D/Irrlicht
– VS Unity/Shiva/Lightspeed
– VS 3DS Max/Maya/XSI...
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
– VS Ogre 3D/Irrlicht
– VS Unity/Shiva/Lightspeed
– VS 3DS Max/Maya/XSI...
Intro > WHAT > How > BLENDER in a commercial context > End
! COST !
! NO REALTIME GAME ENGINE !
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
– VS Ogre 3D/Irrlicht
– VS Unity/Shiva/Lightspeed
– VS 3DS Max/Maya/XSI
● Documentation and sources
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● Blender's benefits● Integrated game engine (BGE)
– VS Ogre 3D/Irrlicht
– VS Unity/Shiva/Lightspeed
– VS 3DS Max/Maya/XSI
● Documentation and sources● Community
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
● 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
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
Intro > WHAT > How > BLENDER in a commercial context > End
WHAT have we done and why blender ?
www.klakos.com
Intro > WHAT > How > BLENDER in a commercial context > End
HOW have we done this ?
Intro > 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
Intro > What > HOW > BLENDER in a commercial context > End
World Creation level
HOW have we done this ?
Intro > What > HOW > BLENDER in a commercial context > End
TEAM : DESIGN
World Tiles
World Heightmaps
World Global MapGeneration Script
Region 1Tiles
Region 2Tiles
Region 3Tiles
AppendAppendAppend
RegionCreation
Level
RegionCreation
Level
RegionCreation
Level
FinalWorld
Link LinkLink
Region creation level
HOW have we done this ?
Intro > What > HOW > BLENDER in a commercial context > End
Scenery(RegionTiles)
Link
PropsLink orAppend
Lights
Chars.
Link orAppend
Link
MobsLink
InterractiveObjects Link
TEAM : CG
TEAM : DEV
Characteranimation
NodalMaterials
CharacterModelingTexturingShading
Link
Link
LevelDesign
OUT
IN
Player
Terrain tiles shading method :
● Color textures blending● Shadows/Ambiant
occlusion● Terrain glow
HOW have we done this ?
Intro > What > HOW > BLENDER in a commercial context > End
HOW have we done this ?
Intro > What > HOW > BLENDER in a commercial context > End
Point & Click interface (inventory, etc...)● Overlay scene● Data persistence
(Disk)
HOW have we done this ?
Intro > What > HOW > BLENDER in a commercial context > End
● One-click Inventory
HOW have we done this ?
Intro > What > HOW > BLENDER in a commercial context > End
● Contextual menu
HOW have we done this ?
Intro > What > HOW > BLENDER in a commercial context > End
AIs and BBOX generalisations
Intro > What > How > BLENDER in a commercial context > End
BLENDER in a commercial contextBLENDER 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...)
Intro > What > How > BLENDER in a commercial context > End
BLENDER in a commercial contextBLENDER 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
Intro > What > How > BLENDER in a commercial context > End
BLENDER in a commercial contextBLENDER 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.
Intro > What > How > BLENDER in a commercial context > End
BLENDER in a commercial contextBLENDER 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 ?)
Intro > What > How > BLENDER in a commercial context > End
BLENDER in a commercial contextBLENDER 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.
Intro > What > How > BLENDER in a commercial context > End
BLENDER in a commercial contextBLENDER 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.
Intro > What > How > BLENDER in a commercial context > End
BLENDER in a commercial contextBLENDER in a commercial context
Intro > 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
BLENDER in a commercial context
Intro > 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)
Intro > 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
Intro > 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 multi-texturing with nodes and vertex painting
Intro > What > How > BLENDER in a commercial context > END
CONCLUSION
FINALLYQuestions ?
Intro > What > How > BLENDER in a commercial context > END
CONCLUSION
FINALLYThank you for your attention.