Top Banner
Perforce Helix Never Dies: DevOps at BANDAI NAMCO Studios Hayato Ikeda Lead Programmer BANDAI NAMCO Studios Inc.
48

Perforce Helix Never Dies: DevOps at Bandai Namco Studios

Apr 14, 2017

Download

Software

Perforce
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

Perforce Helix Never Dies: DevOps at BANDAI NAMCO StudiosHayato IkedaLead ProgrammerBANDAI NAMCO Studios Inc.

Page 2: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

2

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.

Page 3: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

3

Agenda

Introduction1. History of the Perforce Helix2. Perforce Helix advantages3. DevOps at BANDAI NAMCO Studios4. Best practices: Development and LiveOps5. SummaryAppendix

Page 4: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

Introduction

Page 5: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

5

Self-Introduction

Hayato IKEDALead ProgrammerAssistant ManagerBANDAI NAMCO Studios Inc.

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

Page 6: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

6

About BANDAI NAMCO Studios

See website www.bandainamcostudios.com

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

Page 7: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

7

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

There was no concept of version control system...

(C)BANDAI NAMCO Entertainment Inc.

Page 8: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

8

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.

Page 9: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

9

History of Version Control System

CVS(Concurrent Versions System)Microsoft Visual SourceSafeTeam Foundation ServerSubversionAlienbrainGitMercurial

Page 10: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

10

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.

Page 11: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

11

Products using Perforce Helix

©2016 Pokémon.

©1995-2016 Nintendo/Creatures Inc./GAME FREAK inc.(C)BANDAI NAMCO Entertainment Inc.

TEKKENTM 7 &(C)BANDAI NAMCO Entertainment Inc.

Page 12: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

12

THE IDOLM@STER

(C)BANDAI NAMCO Entertainment Inc.

Page 13: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

1. History of thePerforce Helix

Page 14: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

14

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.

Page 15: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

15

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.

Page 16: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

16

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.

Page 17: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

17

History of VCS at BANDAI NAMCO (1/4)

Perforce (‘10-)We want to manage source code and art assetsin a single VCS.Compare some of the VCS.We decided to Perforce process of elimination.First adoption was the project of ‘SOULCALIBUR V’.

Page 18: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

18

Hardships to select Perforce

Not Free!We have to convince the Product Manager.RejectionAnyone not using.(Aright!)Learning curves for non-engineersGetting them from the time of project start-up.

Page 19: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

19

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.

Page 20: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

20

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.

Page 21: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

21

Why did we chose Perforce Helix?

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

Page 22: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

2. Perforce Helixadvantages

Page 23: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

23

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

R765Rel1

R1024Rel2

R1185

Page 24: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

24

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.

Page 25: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

25

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.

Page 26: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

26

Perforce Helix advantages (4/7)

4. Helix has linked to a variety of tools. Easy integration.

Microsoft Visual StudioJenkinsUnityUnreal Engine

Etc…

Page 27: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

27

Perforce Helix advantages (5/7)

5. P4V is versatileMost of the basic operation can be accomplished in P4V.Easy to use for non-engineers.Game Designers, Graphics Designers, Sound Creator

Graphical User Interface :-)

Page 28: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

28

Perforce Helix advantages (6/7)

6. Fantastic customer care and support

Japanese agency Toyo is firmly supported.

Page 29: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

29

Perforce Helix advantages (7/7)

7. Perfect match for Agile development.Scrum/DevOpsBranch/MargeWorkspace MappingStreamShelveIntegration

Page 30: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

30

And more…

Up to 20 workspaces for Free!Workspace may look cumbersome,but it’s powerful. Depot/Workspace/LocalDivide the authority in the user groupReconcile Offline WorkGit Fusion

Page 31: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

3. DevOps atBANDAI NAMCOStudios

Page 32: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

32

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.

Page 33: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

33

Game development and LiveOps

BANDAI NAMCO Studio’s LiveOpsMainly 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

Page 34: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

34

Good points / Bad points

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

BadNo document! Product isn’t taken over.

Page 35: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

35

KAIZEN everyday!

CI(Continuous Integration)Automatic(everything!)TestingCode ReviewIterationAgile/ScrumDevelopment Tools

Page 36: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

36

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.

Page 37: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

4. Best practices:Developmentand LiveOps

Page 38: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

38

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.

Page 39: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

39

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 Exclusivecheckout of P4V.(Don’t forget to submit after the edit!)

Page 40: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

40

Best practices: Dev and LiveOps (3/5)

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

Page 41: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

41

Best practices: Dev and LiveOps (4/5)

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

Page 42: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

42

Best practices: Dev and LiveOps (5/5)

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

Page 43: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

5. Summary

Page 44: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

44

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.

Page 45: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

May the Perforce be with you.Hayato IkedaTwitter : ikehayaFacebook : hayato.ikeda.372LinkedIn : hayato-ikeda-690b3245

Page 46: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

Appendix

Page 47: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

47

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

Page 48: Perforce Helix Never Dies: DevOps at Bandai Namco Studios

48

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

Appendix: Wishlist