Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Gamasutra: The Art & Business of Making Gamesspacer
Forza Motorsport 3 And Predictable Development
View All     RSS
September 21, 2020
arrowPress Releases
September 21, 2020
Games Press
View All     RSS







If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 

Forza Motorsport 3 And Predictable Development


October 26, 2010 Article Start Previous Page 2 of 4 Next
 

Always a Performant Build

Performance is of the utmost importance to us at Turn 10. I remember all too well the night when Forza Motorsport 2 was running at a solid 60 frames per second for a full track and a full complement of cars. It had been a long and hard-fought battle to achieve this milestone in transitioning from the Xbox to the Xbox 360.

The reason I remember this late night so well is the ripple effect it had on much of our project. When the game was playable and "performant" -- our term -- the enthusiasm and momentum of the team immediately noticeably increased. We were then able to ensure any content added to the game didn’t adversely impact the performance. And the development of multiplayer and a majority of gameplay features were much more efficient when they are developed within the context of a performant and stable engine.

Needless to say, one of the key pillars for our team as we set out to build Forza Motorsport 3 was that our game would continue to always run at a solid 60 frames per second, with some of our subsystems, such as physics, running at much higher frequencies.

Just as with our game always being playable, it needed to have every piece of content that was usable in the game to be performant.

At Turn 10, a "performant" build is one where all processing, graphics and content are staying within their allocated budgets such that the game is running at a solid 60 frames per second.

As you could imagine, this goal would impact all areas of our game's development. Achieving this goal would force our content to be developed differently; it requires a way for the artists to develop and see their assets in the game engine without them being a part of the released game until they had been made performant.

It required some of our more complex assets to be made performant before being made beautiful. It required our pipeline team to develop content escrow areas and invest in our automated performance validation frameworks so that artists could know what was needed to make their assets perform within budgets.

By adjusting our technologies, production and validation processes to maintain a performant build throughout the development cycle, we succeeded in increasing the studios ability to creatively iterate. Content was able to be developed in such a way that iteration was an investment into visual moments as opposed to drastically reducing quality to force assets within budgets. Additionally, technology features were able to be quickly iterated upon to ensure that they were operating within performance budgets prior to incorporation into the build.

Always a Progressing Build

Build breaks and regressions are probably the two biggest hindrances to creative iteration. Sometimes build breaks introduced by the programming team can be treated lightly as they often do not greatly impact the daily work of the software engineers on the team. However, they kill the overall productivity of the team at large, delaying necessary tool changes for content production, stopping content iteration altogether, and causing delays and inefficiencies in testing efforts.

When Turn 10 started our Forza Motorsport 3 development we set out to develop a culture characterized by no build breaks and no regressions. We did not achieve a perfect record, but by developing the culture, we greatly reduced the occurrences of breaks and greatly increased our ability to creatively iterate and plan our project. To accomplish this and still avoid having to completely validate all code and content changes prior to their submission into the game, we established an ever-increasing test philosophy.

That is, an engineer, designer or artist will run a small battery of tests designed to catch the most obvious errors and regressions prior to submitting their changes into the game. Continuous incremental builds and tests will further validate the changes before the daily builds occur. Daily builds receive even more scrutiny along with manual testing to ensure the full integrity of the build including visuals.

This increasing test coverage approach allows for reasonable validation times prior to change submittal (increasing iteration) while greatly increasing the likelihood that the daily build will be free from regression. In cases where regressions did slip into the build, the cause was easily identified and quickly resolved.

Occasionally features have no choice but to be disruptive to the game. We have all experienced the complex rendering feature development that requires multiple engineers and artists to successfully implement the feature. On Forza Motorsport 3, we made a commitment to have all multi-engineer disruptive changes to be executed in a separate branch and only integrated back into the main build when the changes met our other pillars (playable, performant, and regression free).

In fact, there were several crucial rendering pipeline improvements that took approximately 12 engineers and artists months to complete and the work was done entirely in a separate branch and integrated back into the main build with only a one week lockdown for the final integration. During this time, the remainder of the studio was fully capable of implementing additional features into a fully functional and performant game.


Article Start Previous Page 2 of 4 Next

Related Jobs

Visual Concepts
Visual Concepts — Agoura Hills, California, United States
[09.18.20]

Camera Designer
Remedy Entertainment
Remedy Entertainment — Espoo, Finland
[09.18.20]

Development Director
Remedy Entertainment
Remedy Entertainment — Espoo, Finland
[09.18.20]

Senior Development Manager (Xdev Team)
New Moon Production
New Moon Production — Hamburg, Germany
[09.16.20]

Product Manager (all genders)





Loading Comments

loader image