SlideShare a Scribd company logo
Game Development
SCM Best Practices
Sven Erik Knop
Perforce Software
2© Perforce Software Inc. All Rights Reserved.
Overview
What makes game
development so challenging?
Workflow Git in Game Development
Administration
3© Perforce Software Inc. All Rights Reserved.
• Why is Games Development
so hard?
• Besides the obvious, I mean…
• Average AAA game:
• 100s of 1000s of files
• 1TB+ code and assets at HEAD
• 50GB + changes a day
• 100+ team members
Challenges in Games Development
4© Perforce Software Inc. All Rights Reserved.
Single of Source of Truth
5© Perforce Software Inc. All Rights Reserved.
• Continuous integration
• Builds take minutes
(incremental) to hours (full)
• Smoke tests?
• Full tests?
• How do you deal with large
teams and many changes?
• How do you deal with large
binary files?
Consequences
6© Perforce Software Inc. All Rights Reserved.
• Images?
• 3D models?
• Sound files?
• Locking!
• Across branches?
3-way merge for binary assets?
Codeline Organization
8© Perforce Software Inc. All Rights Reserved.
• Why do we branch?
• Different policies
• Decoupling from fast-changing
code line
• Isolation of tasks
• Mainline model
• All changes flow back to a single
trunk/mainline
• Development branches
• Milestone and release branches
Branching models
9© Perforce Software Inc. All Rights Reserved.
Single Code Line
Head
Stable Head still stable?
10© Perforce Software Inc. All Rights Reserved.
Development branches
Long-lived development branches can cause
problems
11© Perforce Software Inc. All Rights Reserved.
Task/Feature branches
Keeping feature branches
short-lived avoids severe
merge conflicts
12© Perforce Software Inc. All Rights Reserved.
Milestone and release branches
Stabilize in separate branch
Merge fixes, ignore hacks
13© Perforce Software Inc. All Rights Reserved.
• Usually do not need all files
• Reduce space
• Speed up workspace syncs
• Perforce Helix methods for filtering:
• Manual workspaces views
• Template workspace
• Virtual streams
• Alternative
• Split project into separate code lines
Views for filtering
codeline
ws1
ws2
14© Perforce Software Inc. All Rights Reserved.
Component-based
Shared trunk
Separate trunks
15© Perforce Software Inc. All Rights Reserved.
Helix Streams
16© Perforce Software Inc. All Rights Reserved.
• Git repositories and
Perforce Helix (Core)
repositories in one place
• Perforce Helix 2017.1
introduces Helix4Git
Can I develop games using Git?
ArtistsDevelopers
Perforce Helix
Administration
• Server sizing and setup
• Archiving and purging
• Replication
18© Perforce Software Inc. All Rights Reserved.
• More RAM is always the right answer
(Sven rule #2)
• Keep your database, logs,
and journal local
• Ideally on SSD
• Depots usually live on
separate storage
• Faster Backups
• Shared replica storage
• Be aware of network bottlenecks
Server hardware
19© Perforce Software Inc. All Rights Reserved.
• You can overwhelm storage of any size
• Especially with generated files (artefacts)
• Perforce Helix has archiving features
• Declare separate archiving depots (type “archive”) on cheap disks
• Use ‘p4 archive’ to move file content (history is preserved)
• Use ‘p4 restore’ to move archived files back in place
• Consider using +S filetype for generated files
• Beware of limitations: avoid branching of +S files
Do you need every version of every file?
20© Perforce Software Inc. All Rights Reserved.
Replication
master
failover proxy
forward
edge
Build
edge
shared drive
Main Site
21© Perforce Software Inc. All Rights Reserved.
• Outsourcers typically need a
subset of the whole project
• DVCS-style approach:
• Use independent Helix server and
push and fetch to transfer changes
• Replica-style approach:
• Use edge server, potentially in the
cloud in their region
• Control amount of stored files:
• db.replication=cache
• p4 cachepurge
Outsourcing
22© Perforce Software Inc. All Rights Reserved.
• Perforce Helix is a great choice
for your game developers
• Artists and developers collaborate
using a Single Source of Truth
• There are many strategies to
keep the size in check
• Syncing files for users
• Replicas for build systems
and remote sites
• Archiving and purging
Conclusion
Questions? Reach me on Twitter: @p4sven
Like us on Facebook and LinkedIn, and follow @perforce on Twitter.
Catch up on our latest blog posts.

More Related Content

PPTX
Predictability at Scale
PPTX
Unlocking Faster Product Development Cycles
PDF
Branching Out: How To Automate Your Development Process
PDF
How to Organize Game Developers With Different Planning Needs
PDF
How to Scale With Helix Core and Microsoft Azure
PDF
Going Remote: Build Up Your Game Dev Team
PDF
Best Practices For Game Development Using Perforce Streams
PDF
How to Do Code Reviews at Massive Scale For DevOps
Predictability at Scale
Unlocking Faster Product Development Cycles
Branching Out: How To Automate Your Development Process
How to Organize Game Developers With Different Planning Needs
How to Scale With Helix Core and Microsoft Azure
Going Remote: Build Up Your Game Dev Team
Best Practices For Game Development Using Perforce Streams
How to Do Code Reviews at Massive Scale For DevOps

What's hot (20)

PDF
Coding Safe Modern C++ With AUTOSAR Guidelines
PDF
Perforce - Under New Management by Konrad Litwin
PDF
NRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentation
 
PPTX
Insurance for your Assurance Team
PDF
Continuous integration (eng)
PDF
DevOps - Its just Agile done right
PPTX
Continuous Integration
PPTX
From Sandbox to Production by Vadym Fedorov
PPTX
From the sandbox to production
PPTX
Continuous integration
PPTX
Agile-plus-DevOps Testing for Packaged Applications
PDF
Innovation in Action - #MFSummit2017
PPTX
TheTricky Bits of Deployment Automation
PPTX
Continuous Integration Testing for SAP
PPTX
CI/CD for mobile at HERE
PDF
Testing in a continuous delivery environment
PPTX
Challenges and best practices of database continuous delivery
PDF
Dimensions CM 14.3 launch webcast (slides)
PDF
A Continuous Delivery Safety Net for Databases
PDF
Continuous delivery its not about the technology, its about the people. @sats...
Coding Safe Modern C++ With AUTOSAR Guidelines
Perforce - Under New Management by Konrad Litwin
NRB - LUXEMBOURG MAINFRAME DAY 2017 - Compuware DevOps presentation
 
Insurance for your Assurance Team
Continuous integration (eng)
DevOps - Its just Agile done right
Continuous Integration
From Sandbox to Production by Vadym Fedorov
From the sandbox to production
Continuous integration
Agile-plus-DevOps Testing for Packaged Applications
Innovation in Action - #MFSummit2017
TheTricky Bits of Deployment Automation
Continuous Integration Testing for SAP
CI/CD for mobile at HERE
Testing in a continuous delivery environment
Challenges and best practices of database continuous delivery
Dimensions CM 14.3 launch webcast (slides)
A Continuous Delivery Safety Net for Databases
Continuous delivery its not about the technology, its about the people. @sats...
Ad

Similar to Game Development Best Practices (20)

PDF
Sven Erik Knop, Perforce Software
PDF
Sven Erik Knop, Perforce
PPTX
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
PPTX
Is Trunk-based Development Easy in Game Development?
PDF
Should You Break Up With Your Monolith?
PDF
[CCP Games] Versioning Everything with Perforce
PPTX
Working Well Together: How to Keep High-end Game Development Teams Productive
PDF
Perforce helix git swarm jan 2016(pva1) meetup
PDF
[Europe merge world tour] Perforce Europe Merge World Tour Keynote
PPTX
Global Software Development powered by Perforce
PDF
Challenges Scaling DevOps
PPTX
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
PPTX
Making Git Work for the Enterprise Through the Power of Perforce Helix
PPTX
Perforce on Tour 2015 - DVCS in the Enterprise: Introducing Helix DVCS and Gi...
PPTX
Supermassive Games: Managing Rapid Release Cycles in Gaming
PPTX
Code Hosting: The Key to Autonomous, Self-Service Development
PPTX
DevOps and Git: Solving for CI/CD at Scale
PPTX
Introducing Perforce Helix
PPTX
New Technology for Modern Development Challenges
PDF
[Europe merge world tour] Supermassive Using Perforce for Agile Game Develo...
Sven Erik Knop, Perforce Software
Sven Erik Knop, Perforce
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Is Trunk-based Development Easy in Game Development?
Should You Break Up With Your Monolith?
[CCP Games] Versioning Everything with Perforce
Working Well Together: How to Keep High-end Game Development Teams Productive
Perforce helix git swarm jan 2016(pva1) meetup
[Europe merge world tour] Perforce Europe Merge World Tour Keynote
Global Software Development powered by Perforce
Challenges Scaling DevOps
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Making Git Work for the Enterprise Through the Power of Perforce Helix
Perforce on Tour 2015 - DVCS in the Enterprise: Introducing Helix DVCS and Gi...
Supermassive Games: Managing Rapid Release Cycles in Gaming
Code Hosting: The Key to Autonomous, Self-Service Development
DevOps and Git: Solving for CI/CD at Scale
Introducing Perforce Helix
New Technology for Modern Development Challenges
[Europe merge world tour] Supermassive Using Perforce for Agile Game Develo...
Ad

More from Perforce (20)

PDF
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
PDF
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
PDF
Understanding Compliant Workflow Enforcement SOPs
PDF
How to Spark Joy In Your Product Backlog
PDF
Shift to Remote: How to Manage Your New Workflow
PPTX
Hybrid Development Methodology in a Regulated World
PDF
Easier Requirements Management Using Diagrams In Helix ALM
PDF
How To Master Your Mega Backlog
PDF
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
PDF
Achieving Software Safety, Security, and Reliability Part 2
PDF
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
PDF
What's New in Helix ALM 2019.4
PDF
Free Yourself From the MS Office Prison
PDF
5 Ways to Accelerate Standards Compliance with Static Code Analysis
PDF
Code Quality Management Best Practices
PDF
Scale Kanban Beyond Team Level
PDF
Revealed: The State of Automotive Software Development in 2019
PDF
Turn by Turn: A Practical Guide To Test Management
PDF
Go Global With Helix Core on AWS
PDF
What's New in Helix QAC 2019.1
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Understanding Compliant Workflow Enforcement SOPs
How to Spark Joy In Your Product Backlog
Shift to Remote: How to Manage Your New Workflow
Hybrid Development Methodology in a Regulated World
Easier Requirements Management Using Diagrams In Helix ALM
How To Master Your Mega Backlog
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
What's New in Helix ALM 2019.4
Free Yourself From the MS Office Prison
5 Ways to Accelerate Standards Compliance with Static Code Analysis
Code Quality Management Best Practices
Scale Kanban Beyond Team Level
Revealed: The State of Automotive Software Development in 2019
Turn by Turn: A Practical Guide To Test Management
Go Global With Helix Core on AWS
What's New in Helix QAC 2019.1

Recently uploaded (20)

PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
top salesforce developer skills in 2025.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
AI in Product Development-omnex systems
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Nekopoi APK 2025 free lastest update
PPTX
Introduction to Artificial Intelligence
PDF
System and Network Administration Chapter 2
PPTX
ai tools demonstartion for schools and inter college
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
2025 Textile ERP Trends: SAP, Odoo & Oracle
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
CHAPTER 2 - PM Management and IT Context
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
How to Choose the Right IT Partner for Your Business in Malaysia
top salesforce developer skills in 2025.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
AI in Product Development-omnex systems
Understanding Forklifts - TECH EHS Solution
How Creative Agencies Leverage Project Management Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Design an Analysis of Algorithms I-SECS-1021-03
Nekopoi APK 2025 free lastest update
Introduction to Artificial Intelligence
System and Network Administration Chapter 2
ai tools demonstartion for schools and inter college
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

Game Development Best Practices

  • 1. Game Development SCM Best Practices Sven Erik Knop Perforce Software
  • 2. 2© Perforce Software Inc. All Rights Reserved. Overview What makes game development so challenging? Workflow Git in Game Development Administration
  • 3. 3© Perforce Software Inc. All Rights Reserved. • Why is Games Development so hard? • Besides the obvious, I mean… • Average AAA game: • 100s of 1000s of files • 1TB+ code and assets at HEAD • 50GB + changes a day • 100+ team members Challenges in Games Development
  • 4. 4© Perforce Software Inc. All Rights Reserved. Single of Source of Truth
  • 5. 5© Perforce Software Inc. All Rights Reserved. • Continuous integration • Builds take minutes (incremental) to hours (full) • Smoke tests? • Full tests? • How do you deal with large teams and many changes? • How do you deal with large binary files? Consequences
  • 6. 6© Perforce Software Inc. All Rights Reserved. • Images? • 3D models? • Sound files? • Locking! • Across branches? 3-way merge for binary assets?
  • 8. 8© Perforce Software Inc. All Rights Reserved. • Why do we branch? • Different policies • Decoupling from fast-changing code line • Isolation of tasks • Mainline model • All changes flow back to a single trunk/mainline • Development branches • Milestone and release branches Branching models
  • 9. 9© Perforce Software Inc. All Rights Reserved. Single Code Line Head Stable Head still stable?
  • 10. 10© Perforce Software Inc. All Rights Reserved. Development branches Long-lived development branches can cause problems
  • 11. 11© Perforce Software Inc. All Rights Reserved. Task/Feature branches Keeping feature branches short-lived avoids severe merge conflicts
  • 12. 12© Perforce Software Inc. All Rights Reserved. Milestone and release branches Stabilize in separate branch Merge fixes, ignore hacks
  • 13. 13© Perforce Software Inc. All Rights Reserved. • Usually do not need all files • Reduce space • Speed up workspace syncs • Perforce Helix methods for filtering: • Manual workspaces views • Template workspace • Virtual streams • Alternative • Split project into separate code lines Views for filtering codeline ws1 ws2
  • 14. 14© Perforce Software Inc. All Rights Reserved. Component-based Shared trunk Separate trunks
  • 15. 15© Perforce Software Inc. All Rights Reserved. Helix Streams
  • 16. 16© Perforce Software Inc. All Rights Reserved. • Git repositories and Perforce Helix (Core) repositories in one place • Perforce Helix 2017.1 introduces Helix4Git Can I develop games using Git? ArtistsDevelopers Perforce Helix
  • 17. Administration • Server sizing and setup • Archiving and purging • Replication
  • 18. 18© Perforce Software Inc. All Rights Reserved. • More RAM is always the right answer (Sven rule #2) • Keep your database, logs, and journal local • Ideally on SSD • Depots usually live on separate storage • Faster Backups • Shared replica storage • Be aware of network bottlenecks Server hardware
  • 19. 19© Perforce Software Inc. All Rights Reserved. • You can overwhelm storage of any size • Especially with generated files (artefacts) • Perforce Helix has archiving features • Declare separate archiving depots (type “archive”) on cheap disks • Use ‘p4 archive’ to move file content (history is preserved) • Use ‘p4 restore’ to move archived files back in place • Consider using +S filetype for generated files • Beware of limitations: avoid branching of +S files Do you need every version of every file?
  • 20. 20© Perforce Software Inc. All Rights Reserved. Replication master failover proxy forward edge Build edge shared drive Main Site
  • 21. 21© Perforce Software Inc. All Rights Reserved. • Outsourcers typically need a subset of the whole project • DVCS-style approach: • Use independent Helix server and push and fetch to transfer changes • Replica-style approach: • Use edge server, potentially in the cloud in their region • Control amount of stored files: • db.replication=cache • p4 cachepurge Outsourcing
  • 22. 22© Perforce Software Inc. All Rights Reserved. • Perforce Helix is a great choice for your game developers • Artists and developers collaborate using a Single Source of Truth • There are many strategies to keep the size in check • Syncing files for users • Replicas for build systems and remote sites • Archiving and purging Conclusion
  • 23. Questions? Reach me on Twitter: @p4sven
  • 24. Like us on Facebook and LinkedIn, and follow @perforce on Twitter. Catch up on our latest blog posts.

Editor's Notes

  • #4: [Animation] 2 steps The problem with games (in general) is the size of the assets: The move to high definition consoles increases the size of the assets into a game manifold Games used to be delivered on a single Floppy disk! Remember floppy disks? 720KB! Then came CDs. 700MB. Then came multiple CDs. N * 700MBs Now most (Windows) games come on DVDs – 4.5 GB per layer, 8.5 GB for a dual-layer DVD-R. Ever installed Shadow of Mordor? 5 DVDs, or a single 25 GB download – so you better have high speed broadband. On the console that is a single Blu Ray disk, 25GB as a single layer. These games are the finished article, all assets compiled and compressed – in HD format. 4K is looming, which will quadruple the space requirements again! So, what are the consequences?
  • #25: Facebook: https://www.facebook.com/Perforce/ LinkedIn: https://www.linkedin.com/company/perforce-software?trk=top_nav_home Twitter: https://twitter.com/perforce Blog: https://www.perforce.com/blog