PC Games Hardware Technical Q&A: WorldShift
The RTS game Worldshift which is under development with Blacksea Studios will feature unique multiplayer elements. PCGH talked to the developers about the engine, minimum requirements and other technical aspects of the game.
PCGH: For WorldShift you licensed the Gamebryo-Engine. Why did you decide not to develop you own technology?
Mikhail Balabanov: We decided to license a middleware engine because it would allow us to start very quickly working on the game itself, focusing on important things like gameplay and appearance. Nevertheless, since it's difficult for a middleware engine to satisfy perfectly the particular needs of every game, we are currently working on a game engine to be used in our next titles.
PCGH: What makes especially this Middleware so suited for your title? What are the advantages of Gamebryo? Have you even thought about licensing another middleware like the Unreal Engine 3 or Nebula?
Mikhail Balabanov: At that time, we considered different options and selected Gamebryo as the best combination of cost and productivity. The scales were tipped by the fact that there were already strategy games in development using the Gamebryo engine.
PCGH: Was it necessary to customize the engine? If yes can you please go into detail and tell us what parts of the code you rewrite and parts you keep? Why was it necessary to modify Gamebryo's libraries? Where there even any parts you have to program from scratch?
Mikhail Balabanov: Yes, we customized the engine quite a bit in order to deliver next-gen visuals. We kept the animation system and the exporters for MAX and Maya almost without changes but we introduced changes and improvements to areas like memory management, shader system, texture management and animation, and particle systems. We use our custom rendering pipeline with complex materials, shadows, advanced lighting, shading, and post-processing. The geometry update system was reworked to boost its performance since a strategy game needs to show many objects simultaneously. We bypassed some parts of the library, communicating directly with Direct X instead, for example to load volumetric textures.
PCGH: Nowadays even RTS games tend to offer modern and very detailed graphics and often developers talk about Next Gen RTS games. How do you utilize the rendering system/customized rendering system of Gamebryo to present the player an appealing visual presentation? Do you apply rendering techniques like High Polygon Models and High Resolution Textures, Parallax Occlusion Mapping, Soft Shadows, HDR Rendering, a lighting model with Deferred Shading, volumetric light etc.?
Mikhail Balabanov: All surfaces in the game use advanced per-pixel lighting with high-quality normal maps, most of them generated from very high-poly geometry, combined with gloss maps and glow maps. The lighting model uses a technique we call Volumetric Occlusion to approximate GI and very soft shadows for the terrain. Some of the special effects take advantage of SM3.0 if available.
Improved perspective shadow maps are used for high-quality projective shadows and self-shadowing. Realistic water rendering features volumetric tinting, frame buffer distortion, HDR highlights, and animated normal maps in 3d textures.
We made some tests with parallax occlusion but concluded that due to the nature of the game and the position of the camera it did not justify its performance cost.
PCGH: At the moment a well advertised PC technology is SLI or Crossfire. As far as overall performance is concerned, can players increase it remarkably by buying a second graphics card? Will WorldShift be optimized for two or even three (Triple SLI) video cards?
Mikhail Balabanov: The game takes advantage of SLI when available. The support is built in (it is not necessary to activate it trough a driver profile outside the game). The performance gain from SLI is up to 80%.
PCGH: Multi core processors are yet another topic currently discussed in the gaming industry and many upcoming games will profit from CPUs with two, four or even eight cores. As far as performance in WorldShift is concerned will the engine profit from dual or quad core CPUs? Does your engine even scale with more than four cores? What different calculations can be or are split up into different threads and what is the expected performance gain resulting from two respectively four or more cores?
Mikhail Balabanov: WorldShift takes advantage of dual core CPUs for things like map loading and the sound system.
PCGH: How do you as a developer think about the topic? Can performance in general be increased remarkably by raising the number of Cores on a CPU? Is a multithreaded engine the ideal base technology for RTS games in general?
Mikhail Balabanov: Yes, a multithreaded engine would allow a significant performance boost for a strategy game, for example an entire core may be dedicated to the AI and path finding or to things like updating the numerous geometry instances, physics and special effects, etc.
PCGH: Gamebryo comes without a physics engine so you either have to program your own libraries or to license an engine like ODE, Havok or Ageias Physx-SDK. How did you decide? What was the most suitable physics solution for WorldShift and were the reasons for your decision?
Mikhail Balabanov: For the physics in WorldShift we have selected Ageia's PhysX SDK.
PCGH: Does the game support hardware accelerated physics? What is your personal opinion about that topic?
Mikhail Balabanov: WorldShift doesn't rely on hardware support for physics because at the time we considered the install base too small to support such a decision. Nevertheless, we think that PPUs have the potential to deliver new types of visual and gameplay experience, and their integration in the video cards will make them more widely available.
PCGH: In many RTS games physics only play a subordinate role. Is that the case in WorldShift too? Do you use physics just for adding eye candy or do they influence gameplay?
Mikhail Balabanov: Yes, in contrast to other types of games, in RTS games physics usually is not directly connected to the game mechanics and WorldShift is not an exception. We use physics for visuals - explosions, flying debris, rag dolls, etc.
PCGH: In an RTS game the effectiveness of the AI is a crucial factor for the success. Have you programmed your own AI? What makes the AI in WorldShift so special?
Mikhail Balabanov: WorldShift differs significantly from the traditional RTS games in terms of gameplay, for example there is practically no base building (only some resource-mining structures in PvP modes), so the AI is different too.
In the single-player and cooperative modes, the AI does not control another playable faction; instead, the players have to face enemy bosses and their minions. In the player versus player modes, it acts more like a punchbag for testing different faction configurations (‘builds') and tactics. WorldShift's focus lies primarily in the cooperative multiplayer experience, so the AI's role is quite specific.
PCGH: In an interview made at the Games Convention 2007 two of your technicians told us that WorldShift will not support the new Vista API. Is that still the case or are there any plans to integrate a DX10 support into the renderer?
Mikhail Balabanov: WorldShift runs under Vista but it doesn't take advantage of the new DirectX 10 APIs. We considered the install base of DirectX 10, the work that was necessary to adapt the engine, and the potential boost to the game's graphics and we decided not to implement support for DirectX 10.
PCGH: Finally: When approximately is the release scheduled? Can you at the current state of development tell our readers what hardware will be required to play the game with all detail in 1.280x1.024 (no FSAA/AF) and 1.600x1.200 (4x FSAA/8:1 AF)?
Mikhail Balabanov: The release is scheduled in the second half of April, 2008.
Currently, we have the following minimum system requirements:
- 2 GHz single-core CPU
- 512 MB RAM (1 GB for Windows Vista)
- DirectX 9.0c compatible video card with 128 MB of video memory (Radeon 9600 / GeForce 5800 and above)
- DirectX 9.0c compatible sound card
- Keyboard and mouse
- 3 GB of hard drive space
The recommended system specifications include a 2.4 GHz dual- or quad-core CPU, 1 GB of system memory (2 GB for Windows Vista), and a DirectX 9.0c compatible video card with 256 MB of video memory (Radeon x1600 / GeForce 7600 and above).
Here at BSS, we run the game at 1280x1024 (no FSAA/AF) on 2.41 GHz single-core CPUs and NVIDIA GeForce 6800 GPUs, and at 1600x1200 (16x AF) on a dual core E6600 CPU with an GeForce 8800 GTS GPU.[url]