New Game, New Architecture, New Engine
No game publisher can expect to thrive in the competitive landscape of the PC games industry today without knowing how to take advantage of the latest software tools to exploit the ever-evolving platform capabilities. With games growing more complex each year, coupled with new APIs and hardware platforms, three cardinal rules guide developers:
Achieve scalable game performance
Optimize for a range of platforms to increase the size of the target audience
Create a roadmap to accommodate future platforms
During the development of Civ5, Firaxis took those factors into account and re-architected its game engine to take maximum advantage of multi-core processing—with an eye to the future as many-core processors become even more prevalent. Intel GPA, Intel® Threading Building Blocks, and the Intel® VTune™ Performance Analyzer proved valuable in maximizing threading performance. Firaxis was able to tune Civ5 for a wide range of PCs, eliminating graphics bottlenecks hurt performance and distracted from the gameplay experience. Intel Threading Building Blocks 3.0, pre-instrumented for the Intel GPA 3.0 Platform View, effectively complemented the depth of performance visualization provided by Intel GPA and helped Firaxis developers improve parallel code efficiency.
The throughput challenges presented by Civ5 were particularly demanding because of the number of character interactions taking place at any given time. For example, in a first-person shooter, a typical maximum of 20 fully animated, unique characters might interact in a scene. In a massively multi-player online role-playing game, the number of animated characters could climb to 100. In real-time strategy games, up to 500 characters might be interacting. In comparison, Civ5 had to support up to 10,000 characters at a time. To accommodate this massive level of throughput, the development team embarked on a mission to increase the scalability of the game engine and to take better advantage of multi-threading.
Identifying and Eliminating CPU and GPU Bottlenecks
“When you are writing a game,” Dan Baker, graphics lead at Firaxis Games, said, “two things can potentially slow you down: the CPU or the GPU. You can’t run any faster than whichever one of those two is slowing you down. We have to use a two-prong approach and worry about what is happening on both the CPU and the GPU.”
With the addition of the new Platform View feature, Intel GPA 3.0 now provides developers with a system-level view of operations, offering a clear, visual depiction of CPU and GPU activities on the same scale. This capability, coupled with the ability to zoom down to a low-level to pinpoint performance issues, provides an extremely useful macro-level and micro-level perspective to developers. Firaxis capitalized on these features during Civ5 development to scope out large-scale problems and then address them at the code level.