Perforce Helix Never Dies: Devops at BANDAI NAMCO Studios
Total Page:16
File Type:pdf, Size:1020Kb
Perforce Helix Never Dies: DevOps at BANDAI NAMCO 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 version control system... (C)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 Git Mercurial 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 Nintendo/Creatures 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 ‘SOULCALIBUR 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 Jenkins 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.