GDC 2010, Day 3: Diversity Or Fragmentation?

Pushing PC CPUs Harder

Early in the week, I had the opportunity to sit next to Mike Simpson, creative director at Creative Assembly at a dinner hosted by Intel. The company is responsible for the Total War series of grand historical strategy games. The latest game in the series, Napoleon: Total War, just hit the street, and can make full use of all six cores on the current Core i7-980X. I mentioned this briefly in the Day One report, but had the chance to quiz Simpson about how the game uses all those threads.

Having so many threads available enables multiple different animations of the soldiers during real-time battles. In past games, if you zoomed in on a battle between units, the up-close action would seem robotic and repetitive, as all of the soldiers would execute the same animation. With Napoleon, there are a large variety of individual combat animations, so combat looks more realistic.

Simpson noted that games are still probably an order of magnitude away from replicating a truly realistic scale. Currently, the game engine can support up to 20,000 units in a battle. That’s still well short of the quarter million combatants at the Battle of Waterloo, all packed into a few square miles of terrain.

Scaling Civilization V

Recently, Firaxis and 2K Games announced that the latest title in the venerable Civilization series, Civilization V, is under development. The game looks to substantially reboot the series, taking inspiration from another classic PC game, Panzer General, in its approach to combat. Only one unit per hex will be allowed, and the shift from squares to hexes will substantially reshape movement. Additionally, a resource like iron or horses can only support one unit, so spamming hundreds of units is out of the question.

Other changes include sharing research costs (instead of trading specific technologies) and the addition of a separate, global strategic AI “personality” for each AI leader. The game will still support hot seat, play-by-email, LAN, and online multiplayer, and will be highly moddable.

The limit of one unit per hex doesn’t mean the animation budget has decreased. Each unit is now represented by squad-like arrangement of many animated figures, each of which features a fixed number of hit points. So, the graphics engine needs to be substantially enhanced.

One of the more interesting tech sessions was also hosted by Intel, and featured Dan Baker, the graphics lead for Civilization V. He pointed out that Civilization IV’s graphics engine was actually CPU-bound, and many systems would start to see serious frame rate degradation as the unit count on screen approached 100.

So Firaxis’ development team threw out the old engine and Baker re-architected a new graphics engine from scratch. The idea was to make the graphics engine smartly threaded, not simply task threaded. The new graphics engine spawns numerous small jobs, which make more efficient use of multi-core CPUs. Aiding this effort is a new message-passing architecture, in which the main game engine communicates with the graphics subsystem through messages. Messages can be prioritized, and even serialized as needed.

Interestingly, one of the key discoveries was the need to completely discard memory allocation. Once this was done, the CPU spent much less time waiting for memory. Also, DirectX 11 will be a big benefit for users, even if they don’t have DX11 capable hardware. The API itself is much more heavily threaded, and even DX9 and DX10 hardware users will see performance increases with DirectX 11.

  • aethm
    Please no more Farmville... I get 20 requests a day as it is!
    Reply
  • requiemsallure
    Im interested to find out more about CIV V
    Reply
  • stridervm
    Civilization Network could work with me, if it works like Tetris Online, the one with real multiplayer. =)
    Reply
  • dco
    DirectX 11 will be a big benefit for users, even if they don’t have DX11 capable hardware.

    But if you don't have dx11 hardware how can you make use of it??
    Reply
  • requiemsallure
    9490805 said:
    DirectX 11 will be a big benefit for users, even if they don’t have DX11 capable hardware.

    But if you don't have dx11 hardware how can you make use of it??

    because it will add useless data to their HDD :P

    in all honesty that's a good question.
    Reply
  • Kelavarus
    Basically Sid Meier says people are idiots, and don't understand ratios.

    Haha. Nice.
    Reply
  • I think it is possible to use the DX 11 API but still make your code backward compatible with older cards; just means older cards won't use some of the features you programed in.


    I am a bit surprised though that one could code using DX 11 API and still be backward compatible, considering the tessellation requirement. Either Microsoft did a very good job with the API, the game developers need to do a lot of work to make it backward compatible, or I am wrong and it cannot be backwards compatible.
    Reply
  • Shin-san
    dcoBut if you don't have dx11 hardware how can you make use of it??DirectX 11 has enhanced multithreading support, meaning it depends more on your CPU.
    Reply
  • kokin
    Some DX11 features were already on GPUs prior to the 5000series/GTX400 (notably ATI cards), like tessalation. They were not utilized, but the features were developed and implemented years ago.

    Anyone playing the new Borderlands DLC? Those assassin chicks are kicking my ass.
    Reply
  • neiroatopelcc
    aethmPlease no more Farmville... I get 20 requests a day as it is!just block the app! click the farmville name (instead of rejecting or accepting) - click the name again - in the left upper corner click 'block this application'
    Reply