IncrediBuild for PlayStation 3 - SEGA Yakuza 4 Development Team

March 1, 2011 - FromSoftware

Overview

SEGA Corporation is actively involved in the development and delivery of content for the widest range of purposes. The main motivating factor behind the scene of this enormous content development has always been SEGA's delicate compassion towards technology. This compassion has given birth to many historical breakthroughs throughout the years. "Yakuza 4", the latest title in the "Yakuza" series, was released on 18 March, 2010 and has become a bestseller title in Japan. The "Yakuza" series is SEGA's representative masterpiece and a well-known title amongst gamers world-wide. In this article, we would like to present to you how the high flexibility and performance of IncrediBuild was leveraged and what effects it has brought to the development of this best-selling game.

Contents

Challenges

At SEGA Corporation, we develop game titles for the PlayStation 3, Wii, Xbox360 and other platforms.

It is commonplace for the development period of a project targeting these console platforms to span around 18 to 24 months, with its source code growing beyond 2 million lines. Furthermore, it often involves development and testing of engines responsible for various parts of the game, e.g. the physics engine for the game, as well as general game behavior controllers on the Windows platform. This is especially true for "Yakuza 4" as its source code has grown beyond 2.5 million lines only for the console component.

This is a direct result of the tremendous efforts put into the game story and volume in order to present a realistic game world environment.

As a result, the tediously long build time of the game, starting from "Yakuza Kenzan"*1 in the same series has always been a major problem that we could not ignore.

*1 Release on 6 March 2008 on the PlayStation3.

The Alternatives

We have tried our best to solve this issue with various approaches.

  1. Strict definition of source code dependencies

    We have strictly defined and maintained source code dependencies after considering the behavior of the compilers. Although this has brought improvement to a certain extent, we found it hard to maintain and enforce thoroughly as the number of developers grows, since the efficiency of this approach solely depends on the dedication of each developer.

  2. Replacement of development machines

    At SEGA Corporation we pay best attention to the development environment.
    Choices are made for development machines and network/storage infrastructure by dedicated professionals as these have great influence on the efficiency of the development process. This is especially true for game development which requires handling various types of data.
    Although we have invested in high-end machines considering the length of the build process, there are always limits not only for the CPU but also for the hard disk and memory access speed and capacity. We were not satisfied with the low cost-performance of this approach. Even though there are alternative distributed compilation solutions for the PlayStation3 platform, we found the features of those alternatives not satisfying as we need to develop not only for PlayStation3 but also for other platforms.

Solution

  IncrediBuild and PlayStation3

We have evaluated many different tools but at the end decided to go with IncrediBuild. IncrediBuild was the one which proved to be the most efficient since being introduced to our workflow, and it is undoubtedly the best tool for distributed processing environment. We still believe that it is the best tool ever.
In the beginning we were only targeting development for the PlayStation3 platform, but to our surprise IncrediBuild also affected our Windows application development in a great way.
We were very impressed right from the start. The time saved upon each machine added to the farm seems to be in proportion to the number of machines and we could really feel the impact on performance.

Usually, distribution tools like this hardly improve performance anymore once the number of machines reaches a certain threshold, but this is not true with IncrediBuild. You can always notice the performance boost as the number of participating machines increases. We have also always found an imbalance in features and performance between the server module and the client module in other tools. However, IncrediBuild has managed to keep its server module (the Coordinator) and its client module (the Agent) in good balance. Finally, IncrediBuild introduces a visually clean and intuitive user interface which contributes to fast problem solving, if any arises.

  XGE

Although the interface for accelerating PlayStation3 builds in IncrediBuild was not ready at the time we started, we managed to configure the XGE interface to integrate it into Visual Studio. XGE allows you to customize IncrediBuild to your workflow requirements and accelerate processes which cannot utilize the built-in Visual Studio add-in. We believe that the integration process is even easier now at the point of this writing. IncrediBuild has since then operated stably and has solved our entire compile time problem.
Currently we also use the XGE interface to improve efficiency in other processing scenarios. For example, we also use it to speed up data conversion and shader compilation. We plan to use it with other our internal tools in the future.

Advantages

The chart below shows the build time for "Yakuza 4".

What we can say about this decrease in build time:

  Merits:

  • Developers are free from the stress caused by waiting for compilation to finish.
  • More time can be invested in testing.
  • We would not have achieved the project goals without IncrediBuild.
  • IncrediBuild helps substantially in achieving our goal to complete this enormous product in just 12 months, instead of the usual 24 months.
  • Developers no longer need to work overtime unnecessarily, thus improving their motivation to contribute to the project.

  Comments from users:

  • A tool with very high cost-performance.
  • We can no longer tolerate builds without IncrediBuild!

Conclusion

"Yakuza 4" is the latest title in the series, and bears high expectations on its exciting game elements. The development period for game of this scale can easily span across 24 months as mentioned above.
However, we challenged ourselves to complete this in just 12 months. To achieve this goal, we need excellent staff and latest development equipments, as well as all possible efforts to increase productivity. IncrediBuild played an important role not only in the improvement of productivity by cutting down physical time cost, but also brought various additional values at the same time. Therefore, we decide to stick with it and make full use of it in the future.

About SEGA Corporation

SEGA Corporation was established in 1960 and has developed itself as manufacturer of amusement machine. It first entered family game console market in 1983. SEGA has since then introduced many advanced products, including many of the first-in-history's into the market. SEGA, as a market-leading company has its core competence based on its contents development ability across different areas. It is therefore recognized worldwide as the game production company with world-leading software assets.

About the Author

"Yakuza 4"*2 Development Team

*2 Bestseller title released on 18 March 2010 for PlayStation3.
At the time of writing (25/3/2010), shipment in Japan exceeded half a million units. The total accumulated shipment of the "Yakuza" series has therefore exceeded 4 million sets.