rapid 3d game development in blender 2 - pycon india · • introduction to 3d game programming •...
TRANSCRIPT
![Page 1: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/1.jpg)
Rapid 3D Game Development in Rapid 3D Game Development in Rapid 3D Game Development in Rapid 3D Game Development in Blender 2.5Blender 2.5Blender 2.5Blender 2.5Blender 2.5Blender 2.5Blender 2.5Blender 2.5
Arun Ravindranwww.arunrocks.com
![Page 2: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/2.jpg)
• Introduction to 3D Game Programming• Components of Typical 3D Games
• Python 3D Game Development • Blender Game Engine • Blender 2.5 Basics • Blender 2.5 Basics
• Case Study: A Simple 3D Game• Further Reading
![Page 3: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/3.jpg)
(Re)visiting 3D Games(Re)visiting 3D Games
![Page 4: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/4.jpg)
![Page 5: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/5.jpg)
GenresGenres
![Page 6: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/6.jpg)
Action – FPSAdventure
RPGPuzzlePuzzleSimsSportsStrategy
![Page 7: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/7.jpg)
Game EngineGame Engine
![Page 8: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/8.jpg)
Game Engine
Physics engine Sound engine
Scripting engine Animation engine
Game Engine
AI engine Networking
Resource mgmt …
![Page 9: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/9.jpg)
Don’t write your own!
Industry Insider Tip #87
Don’t write your own!
![Page 10: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/10.jpg)
Programming 3D Games in PythonProgramming 3D Games in Python
![Page 11: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/11.jpg)
Python 3D game enginesGame EnginesGame EnginesGame EnginesGame Engines RemarksRemarksRemarksRemarks
PyOpenGL
Python-Ogre
Pyrr
pyglet
Only Rendering, Not Full Game Engine
Panda3D game engine in C++ with python
integration
Soya 3D / PySoy High level 3D engine for Python
Blender Game Engine Game engine, modeler, animator
Sylphis3D commercial game engine with GPL
version
![Page 12: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/12.jpg)
Blender Game engine (BGE)Blender Game engine (BGE)
![Page 13: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/13.jpg)
Blender Game Engine
Physics engine Sound engine
Scripting engine Animation engine
�
�
�
�
Blender Game Engine
AI engine Networking
Resource mgmt …
PythonPythonPythonPython
![Page 14: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/14.jpg)
Where has BGE been used?
![Page 15: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/15.jpg)
ColorCube Puzzle game $
SAAB-91 Virtual RaceBFight
"A Furry Vendetta“, Yo Frankie! Project"A Furry Vendetta“, Yo Frankie! ProjectArchitectural Visualizations
Physics Simulations
![Page 16: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/16.jpg)
What kind of games can be made with BGE?BGE?
![Page 17: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/17.jpg)
FPS?Multiplayer?Orthographic?Orthographic?
Platform?
![Page 18: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/18.jpg)
All of themAll of themAll of themAll of them
![Page 19: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/19.jpg)
Two ways of making games
![Page 20: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/20.jpg)
1. Code a Game loop
![Page 21: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/21.jpg)
do
get player input
do calculations do calculations
repaint screen
loop while not game over
![Page 22: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/22.jpg)
Yawn!
![Page 23: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/23.jpg)
2. Click and drag game creation (the Blender Blender Blender Blender way)(the Blender Blender Blender Blender way)
![Page 24: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/24.jpg)
100% Code-free **
** Conditions Apply***: The conditions under which you do not need to write any code are as follows: 1. The game you are trying to
build is completely free of any complex logic such as bot AI, path finding, complex simulations 2. There is no multiplayer requirement. 3. There are no complex collisions outside that can be handled by default bullet engine
*** All these conditions are fake
![Page 25: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/25.jpg)
Understanding the way of Logicof Logic
![Page 26: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/26.jpg)
Understanding the way of Logic Machinesof Logic Machines
![Page 27: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/27.jpg)
What is a Machine?
![Page 28: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/28.jpg)
Reacts to StimulusEvaluates some logicPerforms an actionPerforms an action
![Page 29: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/29.jpg)
Take any Machinecoffee machine | fire alarm | firecracker
![Page 30: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/30.jpg)
ReactsReactsReactsReacts to StimulusEvaluatesEvaluatesEvaluatesEvaluates some logicPerformsPerformsPerformsPerforms an actionPerformsPerformsPerformsPerforms an action
![Page 31: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/31.jpg)
ReactsReactsReactsReacts EvaluatesEvaluatesEvaluatesEvaluates PerformsPerformsPerformsPerforms
![Page 32: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/32.jpg)
A Crash Course to Blender 2.5 (Beta)
![Page 33: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/33.jpg)
A Crash Course to Blender 2.5 (Beta)
Yes, it may crash!
![Page 34: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/34.jpg)
![Page 35: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/35.jpg)
What’s new in 2.5?
![Page 36: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/36.jpg)
Major rewrite of Blender API GUI finally works! (Discover)GUI finally works!
New Smoke SystemPython Based GUI
![Page 37: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/37.jpg)
What’s new in BGE 2.5?
![Page 38: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/38.jpg)
* Faster!* New sound system (ogg, mp3, wav…)
* Real-time external IK targets* Ability to use raw OpenGL code (GUIs)* Ability to use raw OpenGL code (GUIs)* Dynamic loading/freeing of assets
* Python API improvements
![Page 39: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/39.jpg)
Some BGE concepts
![Page 40: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/40.jpg)
Modeling & Texture mapping
![Page 41: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/41.jpg)
Types of Sensors
![Page 42: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/42.jpg)
Types of Controllers
![Page 43: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/43.jpg)
Types of Actuators
![Page 44: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/44.jpg)
Packaging Your Blender Game
![Page 45: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/45.jpg)
Blender PlayerCrystalBlendCrystalBlend
GameKit
![Page 46: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/46.jpg)
Pros & Cons of BGE
![Page 47: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/47.jpg)
☺ No code ☺ No Compilation
☺ Out-of-the-box Physics☺ Out-of-the-box Physics☺ No Integration Issues
☺ Python 3.1! 1st
![Page 48: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/48.jpg)
� Graphical Logic Complexity� Sparse Documentation� Unconventional Approach� Unconventional Approach
� Optimisations?
![Page 49: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/49.jpg)
Case Study: Pacman 3D
![Page 50: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/50.jpg)
Learn more
http://www.blender.org/documentation/250PythonDoc/
http://wiki.blender.org/index.php/Dev:2.5/Py/API/Intro
![Page 51: Rapid 3D Game Development in Blender 2 - PyCon India · • Introduction to 3D Game Programming • Components of Typical 3D Games • Python 3D Game Development • Blender Game](https://reader031.vdocuments.mx/reader031/viewer/2022022513/5aebc0657f8b9ae5318e172b/html5/thumbnails/51.jpg)
Thank You
Follow @arocks