Traditionally at Bandai Namco Studios, there has been no unified version control system in place and teams could choose to use any VCS system for their game titles—Subversion, Git, AlienBrain, or none at all. I’ll talk about why Bandai Namco Studios chose to standardize on Perforce Helix, show how we develop LiveOps-type mobile applications using the Unity game engine, and the advantages we gain from centrally managing code and assets in Helix.
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
1. Perforce Helix Never Dies:
DevOps at BANDAI NAMCO Studios
Hayato Ikeda
Lead Programmer
BANDAI NAMCO Studios Inc.
2. 1
Summary
In any case, development and operation of game,
Perforce Helix is the most excellent VCS w/o any doubt.
Through the introduction of the use example of a good
point, I hope to help the new discovery of the audience.
I came all the way from Japan.
My English is not so good. Sorry.
3. 2
Agenda
Introduction
1. History of the Perforce Helix
2. Perforce Helix advantages
3. DevOps at BANDAI NAMCO Studios
4. Best practices: Development and LiveOps
5. Summary
Appendix
6. 5
About BANDAI NAMCO Studios
See website www.bandainamcostudios.com
Trivia : ‘765’ sounds ‘NAMCO’ in Japanese.
7. 6
A long time ago in Japan far, far away….
There was no concept of version control system...
(C)BANDAI NAMCO Entertainment Inc.
8. 7
We came out from the cave!
It is vital for our dev team to utilize version control system.
(C)Toshiyuki Kubooka (C)BANDAI NAMCO Entertainment Inc.
TEKKENTM 7 &(C)BANDAI NAMCO Entertainment Inc.
9. 8
History of Version Control System
CVS(Concurrent Versions System)
Microsoft Visual SourceSafe
Team Foundation Server
Subversion
Alienbrain
Git
Mercurial
10. 9
Perforce Helix
‘04:NAMCO BANDAI Games America started using Perforce.
‘10:NAMCO BANDAI Games started using Perforce.
‘16:BANDAI NAMCO Studios own more than 800 users licenses.
14. 13
History of VCS at BANDAI NAMCO (1/4)
Corporate Culture : Up to each project to pick a solution
Before VCS (-’00)
Keeping versions in different folder named with the date.
Merged by Each persons on local PCs.
Discontent : Inefficient, Not stable.
15. 14
History of VCS at BANDAI NAMCO (2/4)
CVS (’01-)
Revolutionary system!
Discontent : Poor property list, Difficult to use for
none-engineers.
CVS + Alienbrain (‘03-)
Alienbrain introduced as we wanted to manage a lot of art
assets.
Discontent : 2 VCSs for source codes and art assets.
16. 15
History of VCS at BANDAI NAMCO (3/4)
Subversion+Alienbrain (‘06-)
Revision numbers to manage versions.
Discontent: Still 2 VCS to manage for source codes and
art assets.
That been said, this combination is not bad.
Alienbrain(Only) (‘09-)
Challenging!
VC of source code requires considerable ingenuity.
17. 16
History of VCS at BANDAI NAMCO (1/4)
Perforce (‘10-)
We want to manage source code and art assets
in a single VCS.
Compare some of the VCS.
We decided to Perforce process of elimination.
First adoption was the project of ‘SOULCALIBUR V’.
18. 17
Hardships to select Perforce
Not Free!
We have to convince the Product Manager.
Rejection
Anyone not using.(Aright!)
Learning curves for non-engineers
Getting them from the time of project start-up.
19. 18
Good point : Noticed after introduction
Synchronization is fast, high-capacity assets can also be
handled with ease, there is no stress.
When a problem occurs, we can quickly revert to a specific
revision.
It has all the useful tool for programmers.
The first was also operation mistake, but familiar in a few
months, became proficient in non-engineers.
20. 19
Perforce became standard
Currently, many of the projects have adopted the game
engines such as Unity and Unreal Engine.
Especially in the Unreal Engine, because that is a system
based on the use of Perforce Helix for VC, hence many game
developers are using the Helix.
We have been to use the Helix
also in-house engine and prototyping.
21. 20
Why did we chose Perforce Helix?
Fast and Stable.
De-facto Standard.
Varieties of feature with ease of use.
Reduce overall costs.
23. 22
Perforce Helix advantages (1/7)
1. Helix enables you to manage all source codes and assets.
Asset(binary) and source code(text) are handled in the same
VCS, they are managed in a single revisioning.
When a problem occurs, we can quickly revert to a specific
revision.
Dev
R765
Rel1
R1024
Rel2
R1185
24. 23
Perforce Helix advantages (2/7)
2. Helix provides perfect environment for iterative and
incremental development.
Development and operation (DevOps) is all about iterative
and incremental development.
Thus, Helix is best environment to work on.
25. 24
Perforce Helix advantages (3/7)
3. Fast!
Synchronization is so fast, you never feel stress.
Fast and easy to create the branch.
Branching in subversion takes a long time.
It’s a coffee break (can be a lunch time!).
P4Merge is reasonably clever.
26. 25
Perforce Helix advantages (4/7)
4. Helix has linked to a variety of tools. Easy integration.
Microsoft Visual Studio
Jenkins
Unity
Unreal Engine
Etc…
27. 26
Perforce Helix advantages (5/7)
5. P4V is versatile
Most of the basic operation can be accomplished in P4V.
Easy to use for non-engineers.
Game Designers, Graphics Designers, Sound Creator
Graphical User Interface :-)
28. 27
Perforce Helix advantages (6/7)
6. Fantastic customer care and support
Japanese agency Toyo is firmly supported.
29. 28
Perforce Helix advantages (7/7)
7. Perfect match for Agile development.
Scrum/DevOps
Branch/Marge
Workspace Mapping
Stream
Shelve
Integration
30. 29
And more…
Up to 20 workspaces for Free!
Workspace may look cumbersome,
but it’s powerful.
Depot/Workspace/Local
Divide the authority in the user group
Reconcile Offline Work
Git Fusion
32. 31
DevOps at BANDAI NAMCO Studios
We didn’t have idea of DevOps.
However, we’ve realized that how/what we are doing is
something close to the so-called DevOps.
Let us see one of the case.
33. 32
Game development and LiveOps
BANDAI NAMCO Studio’s LiveOps
Mainly for social mobile game development.
Operation while development.
Operation corresponds 24/7. It’s truly living operation!
Development and operation is on the same team. (Dev and
Ops are not divided)
DevOps ≒ LiveOps
34. 33
Good points / Bad points
Good
The same team is responsible for both development and
operation. No confusion.
Can design in anticipation of the operation from the start of
development.
Main engineers become much be involved in the product.
Bad
No document! Product isn’t taken over.
36. 35
The answer is not visible
We’re doing a lot of ideas and improvements, not out is still
clearly the best answer.
It’s difficult to summarize in game development. Because
there are a number of factors.(For example, the size of the
project , such as the contents of the deal game.)
I can talk about cases and failures. Please listen as an
example.
Let's discuss together later.
38. 37
Best practices: Dev and LiveOps (1/5)
1. How to make releases branch, and trunk merge.
We prefer not to branch during the initial development.
Starts to deploy branching at DevOps phase followed by
trunk work.
Automation is highly recommended for Merge to the trunk
process.
If the trunk fails during scheduled build, it send you alert via
e-mail.
39. 38
Best practices: Dev and LiveOps (2/5)
2. Trick for avoiding the collisions.
Text maybe able to merge, but caution with binary data.
If the team sit close together in the office, raise a hand and
call out.
You can also use tool such as Slack.
There is also to put the Exclusive
checkout of P4V.
(Don’t forget to submit after the edit!)
40. 39
Best practices: Dev and LiveOps (3/5)
3. Continuous delivery - Jenkins the way of automated
build using.
41. 40
Best practices: Dev and LiveOps (4/5)
4. The Swarm was introduced, try the code review.
42. 41
Best practices: Dev and LiveOps (5/5)
5. Shelve and debugging technique that uses, operation
check method.
44. 43
Summary (again)
In any case, DevOps and LiveOps of game, Perforce Helix is
the most excellent VCS w/o any doubt.
Through the introduction of the use example of a good
point, I hope to help the new discovery of the listener.
I came all the way from Japan, please be my friend!
I’m waiting for e-mail or message.
45. May the Perforce be with you.
Hayato Ikeda
Twitter : ikehaya
Facebook : hayato.ikeda.372
LinkedIn : hayato-ikeda-690b3245
47. 46
It is an error to submitted just before returning home.
Punishment of workspace delete!
The artists don’t write a description.
Even 'Get Latest Revision' by deleting the files from the
folder, and rush without revival files.
Correct answer : Right Click Menu
->Get Revision
->Check ‘Force Operation’
->Push ‘Get Revision’
Appendix: Murphy’s law
48. 47
Japanese character code problem UTF-8 and S-JIS
I want to use the command even P4V
Appendix: Wishlist