:: Back to news index ::

Adding GPU PhysX support to Assassin’s Creed IV: interview with Ubisoft Kiev

with 7 comments

After the latter update, PC version of the Assassin’s Creed IV: Black Flag (AC IV) has became the first Ubisoft’s game that implements GPU accelerated PhysX effects.

In the Black Flag, GPU PhysX support was shaped into volumetric particle effects (“PhysX Particles“), implemented through the APEX Turbulence module.

Bearing in mind that Assassin’s Creed series is already using competitive physics solution, Havok Physics engine, it was certanly an interesting technical task.

Semen Kovalev, Producer of Assassin’s Creed IV for PC at Ubisoft Kiev, was kind enough to share company’s experience on the PhysX integration process. What kind of GPU accelerated physics effects can be found in Assassin’s Creed IV: Black Flag?

Semen Kovalev: In Assassin’s Creed IV: Black Flag, our development team decided to focus on adding physical smoke effects to the game. The smoke effects are present in a variety of forms such as smoke from flintlock pistol or musket shots, smoke bombs.

Also several environmental smoke effects like camp fire smoke or chimney smoke have their PhysX twin.

Huge smoke cloud is expected from the black powder pistol, but current effect is a bit exaggerated

We decided to focus on these particular smoke effects because we wanted gamers to really feel the interaction between Edward Kenway (main character) and the surrounding environment, make it more realistic for them. How hard was it to add GPU PhysX support through APEX to a game engine with non-PhysX SDK based physics (in this case, Havok)?

Semen Kovalev: This was our first attempt to adopt NVIDIA PhysX Technology, not only into an AC game, but as far as I know into any Ubisoft title.

We wanted to add more realism into the game, enhance the existing content, without changing it much, so we contemplated playing with physical simulation for the PC version of the game.

We were excited about trying PhysX, although at the beginning we were not sure if the two physical engines can work together. After a couple of experimental development sprints it turned out they can cooperate.

Geometry mirroring allows smoke to interact with the chimney

Collision geometry mirroring allows smoke to interact with the chimney

The game still uses Havok, however collision geometry is mirrored into a PhysX scene. There are a few limitations right now, certain geometry, such as ships, is created in a way that requires some custom geometry creation. In the end we decided we didn’t need these mirrored. What are you impression on APEX Turbulence module – engine itself and content creation pipeline? How the authoring process was organized?

Semen Kovalev: After we confirmed that the performance cost of mirroring is decent we started working on the effects. The content was created in a Particle Effect Tool provided by NVIDIA, it allowed us to model the visual and physical look of all the effects.

Particle Effect Tool was used to create complex Turbulence effects

After the effects were modeled we focused on the particle rendering from the engine side. The way the lighting changes on smoke with time of day, the way the effect blends in and out with distance, rendering optimizations for out of frustum effects, the behavior of the smoke during wind or storm – there were plenty of details that were configured from the engine.

For the shadowing we used NVIDIA Particle Shadow Mapping library, it contributed to the self-shadowing of the smoke and soft shadows that smoke casts on surrounding environment. Assassin’s Creed is the first game to support APEX Framework. Are you planning to expand the integration with additional modules and/or utilize it in upcoming titles?

Semen Kovalev: Yes, we’re already experimenting with smoke effects for Freedom Cry, the DLC for AC IV. We also evaluate other ways to use PhysX Technology in general and physically simulated particles in particular.

Our thanks to NVIDIA for help with the interview.

Written by Zogrim

December 20th, 2013 at 8:47 pm

7 Responses to 'Adding GPU PhysX support to Assassin’s Creed IV: interview with Ubisoft Kiev'

Subscribe to comments with RSS

  1. Nice, looks like other titles will have some effects.




    21 Dec 13 at 2:58 am

  2. Interesting – on PET screenshot, single chimney smoke asset is running at 563 fps with rendering. Pretty fast.
    I wonder why in the game they are affecting framerate so badly.




    21 Dec 13 at 5:44 pm

  3. Thanks Zogrim for interview. I hope there will be more UBISOFT games witch advanced PhysX in the future.




    22 Dec 13 at 11:38 am

  4. The pistol smoke effect should be tunned down a bit.




    22 Dec 13 at 4:03 pm

  5. As much as I like added effects from PhysX – smoke this dense and large in volume has no place in the game because it impacts visibility and game play too much compared to PhysX-off.

    Also performance is rather bad currently, even with a dedicated PhysX-card you get harsh fps-dips resulting in unsmooth situations.




    9 Jan 14 at 5:31 am

  6. can’t find info about PhysxSDK version used in Assassin’s Creed 4 to find out possibility of turning Physx on for hybrid system (Ati+nVidia).
    can anyone help?




    9 Feb 14 at 9:58 am

  7. Loki:

    can’t find info about PhysxSDK version used in Assassin’s Creed 4

    AC4 is not using PhysX SDK directly, only particle solver through APEX, afaik.
    Judging by .dlls in game folder, that’s APEX 1.3 + PhysX 3.3




    9 Feb 14 at 12:37 pm

Leave a Reply

Refresh Image
Copyright © 2009-2014. | About project | Privacy Policy
PhysX is trademark of NVIDIA Corporation