Logo   Banner   TopRight
An Interview With Game Developer Terminal Reality
Date: Jul 31, 2009
Author: Joel Hruska
Terminal Reality Interview

After years of delays (including one cancelation), developer change-ups, and a lot of hard work, Terminal Reality succeeded in bringing a Ghostbusters game to market for the PS3, XBox 360, Wii, and PC. Terminal Reality committed to building their own graphics engine—dubbed the Infernal Engine—to facilitate game development; we recently had a chance talk with them about the game, the new engine, and the future of multi-core gaming. The questions listed below were answered by Mark Randel, President and Founder and Joe Kreiner, VP of Sales and Marketing...

Ghostbusters Game Trailer

HotHardware: Implementing effective multi-core support in a video game has historically been a challenge, particularly in fast-paced action games. The Infernal Engine is built to take advantage of multi-core availability on both PCs and consoles, but how does optimizing for one multi-core architecture (say, the PS3) differ from optimizing for the PC?

Mark Randel: The PS3 is a lot different from the PC or 360 as the SPUs cannot access main memory – so you are limited by what you can thread on them. Data has to be manually gotten from the main memory via DMA rather than a CPU cache, so that is what makes the SPUs so fast. So for every program we want to thread on the PS3, we have to write a special version of it to load/store the data. That is the most efficient way of running code on the PS3 – write code specifically for it.

While we're on the topic of the PS3, how many SPEs can the Infernal Engine keep busy simultaneously in a real-world gaming scenario? What's the typical number of SPEs in use at any given time?

MR: The Infernal Engine uses one full SPU just for real world sound on the PS3. The rest of the SPUs can become fully busy during a huge explosion where a lot of physics objects have to be simulated.

It's been four years since AMD and Intel began championing the virtues of multi-core CPUs, but the number of games that effectively utilize even two processors is quite small. Ghostbusters actually takes full advantage of a second core, will future versions of the Infernal Engine scale well across four or even eight x86 cores?

MR: The current PC version of Ghostbusters can keep a Core2 Quad fully utilized. As our AI, pathfinding, and physics get more complicated in the future, we will be able to keep even more cores busy.

Did any of the various platforms pose a unique challenge or force you to think outside the box to solve a problem?

MR: Just being able to run the Infernal Engine on multiple platforms forces us to think outside the box. One issue we’ve talked about quite a bit lately is supporting hyperthreaded processors. You need to throw away all you’ve learned in Computer Science class about multithreading to be able to efficiently run code on this type of CPU.

You said "You need to throw away all you've learned in Computer Science class about multi-threading to be able to efficiently run code on this type of CPU."  Is there a thread-collision problem if two threads that ought to be executed on separate cores end up on the same HT-enabled chip?

MR: Hyperthreading is a very powerful tool to increase the performance of the CPU – we’re seeing up to 50% greater throughput on a processor with it. When two very important threads wind up on the same core, you can have a serious problem with synchronization if you are not aware of how hyperthreading works. If those same two threads are on two separate cores, things run just like you have been taught...

HH: Why did the developers of the Infernal Engine opt to keep physics running on the CPU, as opposed to implementing the GPU-based physics both ATI and NVIDIA offer?

MR: Infernal Engine can fully utilize the GPU. If we put our physics on the GPU, then we’d have a slower frame rate!!! Plus you would then have a lot of the CPU be underutilized. It is natural to use the GPU to render – that is what it is best at. We can keep a GPU and four cores 100% utilized with Ghostbusters today. Not fully utilizing one or the other would slow things down.

There's no shortage of game engines already on the market, many of which come complete with documentation as well as scripting and modeling tools. Why did Terminal Reality opt to design its own engine in the first place? What are the benefits of using the Infernal Engine as opposed to Unreal 3, CryEngine, Dunia, X-Ray (used in S.T.A.L.K.E.R.) or even the venerable Doom 3 engine? At what point did you stop considering pre-built options and decide to go it yourselves?

MR: We’ve always worked on our own engines, but we realize that it can take a significant part of development time to do this, so we did look at other engines and technologies, and you’ve listed some of the best. It always came back to the third party products not doing quite what we needed. For example, Velocity, the physics engine in Infernal can support collisions between objects of different masses. To this date, other physics engines still have problems with it. It makes the destruction in Ghostbusters subtly more realistic.

Terminal Reality Interview (cont.)

HH: Let's move away from CPUs and talk graphics. Ghostbusters is a gorgeous DirectX 9 title, with nary a trace of DX10 support. Obviously DX9 support is most important—all three current-generation consoles use DX9-class GPUs—but is there a specific reason why Terminal Reality didn't implement DX10/10.1 for its PC release?

MR: According to Steam, 75% of the market is using DX9. We are a small company and to program for the handful of people who have DX10 or above right now, that just doesn’t make sense, especially since you won’t see any visual differences. We have played with Windows 7 quite a bit – believe the hype, it is a huge improvement over Vista and a good improvement over XP. So you’ll be seeing DX11 support shortly in Infernal.

HH: There are plenty of games on the market that support DX10, but using it almost always imposes a significant performance hit. Why do you think this occurs (and will DX11 will address it)?

MR: It took a while for hardware manufacturers to create hardware and drivers that are optimized for DX10. If you run those games on that set of hardware, you will see a significant performance increase. (I've yet to see a DX10 game that didn't significantly lower performance compared to DX9, and that includes top-end hardware--Ed) We see significant performance gains running Ghostbusters (which uses DX9), running on Vista or Windows 7 using hardware designed for DX10 as well.

Does Ghostbusters take advantage of the hardware tessellation capability of the XBox 360? To date, we've yet to see a PC title that does, although that should change with DX11. What sort of graphical tricks does it allow you to pull off today, and what do we on the computer side of gaming have to look forward to?

MR: No, we don’t use the hardware tessellation unit on the 360. We just brute force high resolution meshes, such as 40,000 polygons for a Ghostbuster. It is difficult enough for artists to make a high resolution mesh bend, turn, and animate without having to deal with tessellation now.

Currently, there's no way to force a video card to perform hardware anti-aliasing in Ghostbusters. A sort-of AA "trick" can be set within the game's configuration file, but the performance hit from doing so is severe. Is there any chance we'll see improved AA support in an upcoming patch? Ghostbuster's is a gorgeous game, but the proton pack, in particular, would look much cleaner if AA were available.

MR: No, this is an incorrect statement. You can set Ghostbusters to do REAL full high quality anti-aliasing in the settings.ini file. You will need a higher end video card like a Radeon 4850 or a GeForce GTX 280 to enable it. Set the multiple from 1 to 2. Don’t go higher than 2 on each direction unless you have gigabytes of VRAM available to you. Due to how Ghostbusters renders on the PC, you would need DX11 to get MSAA working...

HH: Are there any other Infernal Engine-powered titles in development from either Terminal Reality or the engine's licensers?

Joe Kreiner: Yes, lots. Can’t talk about them though. The ones we’ve announced are “The Hunt” and “The Strike” from Piranha Games, and “Cook or be Cooked” from Namco Bandai.

Any chance we'll see multiplayer support patched into the PC version of the game?

JK: That’s an Atari decision. There is a significant cost involved with any feature that goes into a title, and that has to be weighed against potential benefit. I’m glad Atari choose to ship Ghostbusters on the PC. Lately, many similar style games ignore the platform.

You Know We Have to Ask: You're sitting down with some friends in front of a 60" TV, getting ready to play Ghostbusters. Are you playing on an PC, XBox 360, PS3, or Wii?

MR: I switch between the PS3, 360, and PC versions all the time. Each one has their respective strengths.

Thanks to Terminal Reality for the interview--and for finally bringing a Ghostbusters game to market.

Content Property of HotHardware.com