<<

Perforce Helix Never Dies: DevOps at Studios

Hayato Ikeda Lead Programmer BANDAI NAMCO Studios Inc. 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.

1 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

2 Introduction Self-Introduction

Hayato IKEDA Lead Programmer Assistant Manager BANDAI NAMCO Studios Inc.

Engineering: Mobile game (Server, Client) Platforms: iOS, Android, Web browser based

4 About BANDAI NAMCO Studios

See website www.bandainamcostudios.com

Trivia : ‘765’ sounds ‘NAMCO’ in Japanese.

5 A long time ago in Japan far, far away….

There was no concept of system...

()BANDAI NAMCO Entertainment Inc. 6 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. 7 History of Version Control System

CVS(Concurrent Versions System) Microsoft Visual SourceSafe Team Foundation Server Subversion Alienbrain

8 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.

9 Products using Perforce Helix

©2016 Pokémon. ©1995-2016 / Inc./GAME FREAK inc. (C)BANDAI NAMCO Entertainment Inc. 10 TEKKENTM 7 &(C)BANDAI NAMCO Entertainment Inc. THE IDOLM@STER

(C)BANDAI NAMCO Entertainment Inc. 11 1. History of the Perforce Helix 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.

13 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.

14 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.

15 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 ‘ V’.

16 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.

17 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.

18 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.

19 Why did we chose Perforce Helix?

Fast and Stable. De-facto Standard. Varieties of feature with ease of use. Reduce overall costs.

20 2. Perforce Helix advantages 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 Rel1 Rel2 R765 R1024 R1185

22 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.

23 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.

24 Perforce Helix advantages (4/7)

4. Helix has linked to a variety of tools. Easy integration. Microsoft Visual Studio Unity Unreal Engine Etc…

25 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 :-)

26 Perforce Helix advantages (6/7)

6. Fantastic customer care and support

Japanese agency Toyo is firmly supported.

27 Perforce Helix advantages (7/7)

7. Perfect match for Agile development. Scrum/DevOps Branch/Marge Workspace Mapping Stream Shelve Integration

28 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

29 3. DevOps at BANDAI NAMCO Studios 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.

31 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

32 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.

33 KAIZEN everyday!

CI(Continuous Integration) Automatic(everything!) Testing Code Review Iteration Agile/Scrum Development Tools

34 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.

35 4. Best practices: Development and LiveOps 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.

37 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!)

38 Best practices: Dev and LiveOps (3/5)

3. Continuous delivery - Jenkins the way of automated build using.

39 Best practices: Dev and LiveOps (4/5)

4. The Swarm was introduced, try the code review.

40 Best practices: Dev and LiveOps (5/5)

5. Shelve and debugging technique that uses, operation check method.

41 5. Summary 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.

43 May the Perforce be with you.

Hayato Ikeda Twitter : ikehaya Facebook : hayato.ikeda.372 LinkedIn : hayato-ikeda-690b3245 Appendix Appendix: Murphy’s law

. 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’

46 Appendix: Wishlist

. Japanese character code problem UTF-8 and S-JIS . I want to use the command even P4V

47