SlideShare a Scribd company logo
Python in the Game Industry




                               Jeff Preshing
                         Technical Architect
                           Ubisoft Montréal
                               10/24/2011
Outline



1. Describe (AAA) Game Production
2. Where Python fits in
3. Examples
Types of Game Development

                 AAA Games

Casual Games
                                    Indie Games




                                    Mobile Games
  Social Games
                  Flash Games


                                Plus: MMORPG, etc…
AAA Game Programming




Mostly Windows   Visual Studio
AAA Game Programming




Mostly Windows   Visual Studio
Structure of a Game Production
Structure of a Game Production
Third-Party Tools Scripting

• Autodesk Maya
   (Python, MEL)

• Autodesk Softimage XSI
   (Python, C#, VBScript, JScript, C++)

• Autodesk MotionBuilder
   (Python, C++)
MotionBuilder – Integrated Python Editor
MotionBuilder – Python-based Plugin
Build Steps

1.   Sync code       (< 1 min)
2.   Build editor    (5 – 10 mins)
3.   Sync data       (< 1 min)
4.   “Cook” data     (1 min – 1 hour, depends)
5.   Build game      (5 – 15 mins)
6.   Deploy to kit   (sometimes)

If only this was automated…
OvernightScript.py – End of Day
OvernightScript.py – Next Morning
OvernightScript.py – Archived Logs
Notifications
Notifications
Many Other Examples…


• Analyze MAP files
• Custom build steps for SPU ELFs
• Code sweeps
    • #include < >
    • Upgrading middleware
    • Fix C++ initializer lists
• Locate debug information
• Precompiled header optimization
• Debugging
• Log file merging
Logging System


eg. For mismatched reference counts.
Logging System


For each event:

•   Thread ID
•   Timestamp
•   Message
•   Callstack
Logging System




Very big log files!

• Log file is compressed using BZ2
• Parsing step handled in C
• Script just sees event objects
Logging System


Post-mortem log analysis via Python scripting.
Thanks to
Alex Camano Alonso
   Dave Bélanger
  Patrick Duquette
    Nicolas Fleury
    Richard Malo
 Pierre-Marc Simard




Questions?

More Related Content

PPTX
Python games
 
PPTX
game project presentation
PPTX
Python games (pygames)
PDF
Game Development With Python and Pygame
PPTX
Introduction to python programming, Why Python?, Applications of Python
PDF
Introduction to python programming
PDF
Introduction To Python
PPTX
Python programming
Python games
 
game project presentation
Python games (pygames)
Game Development With Python and Pygame
Introduction to python programming, Why Python?, Applications of Python
Introduction to python programming
Introduction To Python
Python programming

What's hot (20)

PDF
Pycon2011 android programming-using_python
PPTX
Hello World! with Python
PDF
Introduction to python
PDF
Writing Fast Code - PyCon HK 2015
PPTX
POWER OF PYTHON PROGRAMMING LANGUAGE
PPTX
Python basic
PPTX
IHTM Python PCEP Introduction to Python
PPTX
Python 101 For The Net Developer
PDF
Python for the C# developer
PPTX
Introduction to python
PPTX
Top 10 python ide
PDF
Pythonic doesn't mean slow!
PPT
Python Introduction
PDF
Python in real world.
PDF
Python for the Mobile and Web
PDF
Python course syllabus
PDF
Lets learn Python !
PDF
Anton Kasyanov, Introduction to Python, Lecture1
PPT
Python Introduction
PPTX
Benefits & features of python |Advantages & disadvantages of python
Pycon2011 android programming-using_python
Hello World! with Python
Introduction to python
Writing Fast Code - PyCon HK 2015
POWER OF PYTHON PROGRAMMING LANGUAGE
Python basic
IHTM Python PCEP Introduction to Python
Python 101 For The Net Developer
Python for the C# developer
Introduction to python
Top 10 python ide
Pythonic doesn't mean slow!
Python Introduction
Python in real world.
Python for the Mobile and Web
Python course syllabus
Lets learn Python !
Anton Kasyanov, Introduction to Python, Lecture1
Python Introduction
Benefits & features of python |Advantages & disadvantages of python
Ad

Similar to Mp24: Python in gaming industry (20)

PDF
Supersize Your Production Pipe
PPTX
Maximize Your Production Effort (English)
PDF
Oliver Trevelian Sneyd (curriculum vitae)
PDF
Making A Game Engine Is Easier Than You Think
PPTX
SynapseIndia dotnet debugging development process
PDF
State-Based Scripting in Uncharted 2: Among Thieves
PPT
Brewing Your Own Game Engie eng
PPT
Programming
PPT
Synapseindia dot net development about programming
PDF
Mono for Game Developers - AltDevConf 2012
PPTX
Supersize your production pipe enjmin 2013 v1.1 hd
PPTX
Getting Started with C/C# Game Development Part 1
 
DOCX
CVInDoc2017
PPTX
PRESENTATION ON Game Engine
DOCX
Game software development trends
PPT
My Presentation.ppt
PDF
BMOSLFGEMW: A Spectrum of Game Engine Architectures
PPT
Delta Engine @ CeBit 2011
PPT
3.1 teams and processes
PPTX
Week Five - Software
Supersize Your Production Pipe
Maximize Your Production Effort (English)
Oliver Trevelian Sneyd (curriculum vitae)
Making A Game Engine Is Easier Than You Think
SynapseIndia dotnet debugging development process
State-Based Scripting in Uncharted 2: Among Thieves
Brewing Your Own Game Engie eng
Programming
Synapseindia dot net development about programming
Mono for Game Developers - AltDevConf 2012
Supersize your production pipe enjmin 2013 v1.1 hd
Getting Started with C/C# Game Development Part 1
 
CVInDoc2017
PRESENTATION ON Game Engine
Game software development trends
My Presentation.ppt
BMOSLFGEMW: A Spectrum of Game Engine Architectures
Delta Engine @ CeBit 2011
3.1 teams and processes
Week Five - Software
Ad

More from Montreal Python (10)

PDF
Mp26 : Connecting Startups with Talents
PDF
Mp26 : A Quick Introduction to NetworkX
PDF
Mp26 : Tachyon, sloppiness is bliss
PDF
Mp26 : How do you Solve a Problem like Santa Claus?
PDF
Mp25: Optical Music Recognition with Python
PDF
Mp25: Audio Fingerprinting and metadata correction with Python
PDF
Mp25: Mobile dev with QT and Python for the Notorious N9
PDF
Mp25 Message Switching for Actor Based Designs
PDF
Mp24: Fabulous Mobile Development with and without Python
PDF
Mp24: The Bachelor, a facebook game
Mp26 : Connecting Startups with Talents
Mp26 : A Quick Introduction to NetworkX
Mp26 : Tachyon, sloppiness is bliss
Mp26 : How do you Solve a Problem like Santa Claus?
Mp25: Optical Music Recognition with Python
Mp25: Audio Fingerprinting and metadata correction with Python
Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25 Message Switching for Actor Based Designs
Mp24: Fabulous Mobile Development with and without Python
Mp24: The Bachelor, a facebook game

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
 
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
 
Building Integrated photovoltaic BIPV_UPV.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation_ Review paper, used for researhc scholars
Spectral efficient network and resource selection model in 5G networks
Dropbox Q2 2025 Financial Results & Investor Presentation
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
 
sap open course for s4hana steps from ECC to s4
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Review of recent advances in non-invasive hemoglobin estimation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
20250228 LYD VKU AI Blended-Learning.pptx
cuic standard and advanced reporting.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Digital-Transformation-Roadmap-for-Companies.pptx
The AUB Centre for AI in Media Proposal.docx
 

Mp24: Python in gaming industry