A couple of days ago, we had the pleasure of interviewing Flying Wild Hog, creator of Shadow Warrior and Hard Reset. Flying Wild Hog shared with us some details about its future plans, next-gen consoles, the CPU issues that were present in Shadow Warrior PC, its opinion about Mantle and OpenGL, as well as the release of mod tools for Shadow Warrior, its intention to move it to 64bit and some tech info about the Road Hog Engine. Enjoy!
DSOGaming: Before we begin, please introduce yourselves to our readers.
Jaroslaw Pleskot: My name is Jaroslaw Pleskot. I am a senior engine programmer in Flying Wild Hog studio and I was responsible for our renderer and general engine programming for the new Shadow Warrior.
Krzysztof Narkowicz: My name is Krzysztof Narkowicz and I am the lead engine programmer at Flying Wild Hog. I’m working together with a small bunch of very talented programmers in order to upgrade our existing technology and introduce support for next gen consoles.
Michal Szustak: My name is Michal Szustak, I’m CEO at Flying Wild Hog and game director of Hard Reset and Shadow Warrior.
DSOGaming: Can you share more in-depth tech details (number of simultaneous light sources, Parallax Occlusion Mapping and Screen Space Reflections support, whether it will have a full dynamic shadowing system, Global Illumination and tessellation solutions, etc.) about the Road Hog Engine?
JP: One of the most visible difference between Hard Reset and Shadow Warrior was the extensive use of Parallax Occlusion Mapping. You can notice this feature especially on walls, trees, roads etc. Thanks to this the geometry looked way more detailed even on DX10 hardware. Our next titles will most definitely use both techniques: Parallax Occlusion Mapping and Tessellation.
While our first game, Hard Reset, used a mix of baked shadow maps and dynamic shadows – in Shadow Warrior we chose to use full dynamic shadows, SSAO and added support for negative intensity lights.
KN: Our renderer is based on Deferred Lighting. It supports a great amount of lights (even single particles can emit light). All the shadows are fully dynamic and can be cast by various types of lights. RoadHog’s renderer supports instancing for mesh particles, foliage and clutter rendering. It features also a powerful decal system, which is widely used by our artists. We use multiple kinds of decals – they can affect only normals of underlying mesh (eg. wet surfaces), only underlying surface color (eg. graffiti) or both (splats of mud). Decals additionally support features like POM. The engine is using Havok for physics simulation and Havok is used extensively. Eg. particle physics for proper collision response, cutting enemy limbs or environment destruction. Furthermore the RoadHog contains our own system (similar to flash) for in-game UI, animated billboards and similar 2D element editing and rendering.
DSOGaming: During our tests with Shadow Warrior we’ve noticed that the “Mirror” option was mainly affecting the CPU instead of the GPU. Was there any particular reason for such a decision? Is the engine calculating more stuff with this option via the CPU instead of the GPU?
JP: Mirror is affecting both CPU and GPU. There is a second render pass going on with geometry reflected by the current mirror plane. The CPU must gather some additional data and pass nearly two times as many batches to the GPU than in normal rendering. Rendering is done in 512×512 resolution with downsampled textures and with many post process options disabled, so there is less work for the GPU in mirror pass compared to standard pass (eg. 1920×1080 with full quality textures).
KN: Oldschool planar reflections are quite CPU intensive and are constrained to a single reflector plane. On the other hand compared to popular SSR (Screen Space Reflections) they aren’t riddled with rendering artifacts and aren’t constrained to reflecting only objects currently visible on screen.
DSOGaming: Shadow Warrior seemed unable to max out our quad-core and take advantage of all four CPU cores, which resulted in low-performance in various scenes. A simulated tri-core CPU was performing the same with a quad-core CPU. Is that due to a limitation of the API (DirectX)?
JP: We set dual core CPUs as our minimal requirements. Two threads (main and rendering) were running all the time. Additional threads were used for physics, sounds, streaming textures, calculating decals. The game was limited mainly by every single CPU frequency than by the number of cores.
KN: We have recently moved to job based engine architecture. Additionally we have optimized serial code paths and replaced DX9 with DX11, which has lower CPU overhead. Currently it scales much better and most of the time uses all available cores.
MS: In fact we are planning to release a new PC version of Shadow Warrior intended for 64bit processors (Windows 7 and up) that uses new version of our engine – you will be able to test it by yourselves. Our internal tests show a significant performance increase compared to the current PC 32bit version.
DSOGaming: What’s your opinion on Mantle? Will it be a game changer as it lets developers take advantage of all CPU cores and – at the same time – reduce overall draw calls? Will you support it?
KN: It looks interesting, but also it’s usage is quite limited as it’s GCN only. You can’t design a game for anything that’s not possible on DX11. It’s rather a way to get a nice performance boost rather than being a true revolution. The best thing about Mantle is that it will show what is happening under the hood of DirectX or OpenGL for devs who don’t work on consoles.
DSOGaming: The latest version of OpenGL is said to support some of the features that are introduced via Mantle. Will the Road Hog Engine support OpenGL and what’s your opinion on OpenGL? Is it better or worse than DirectX?
KN: Both are fine APIs. The main issue with OpenGL is that it isn’t very popular on Windows, so IHVs spend most of their resources on DirectX drivers. That’s why OpenGL drivers are slower and have more bugs. Additionally if you aren’t a big studio or you name isn’t John Carmack it’s hard to get those performance issues and bugs fixed. Of course should we decide to support Steam Box, Linux or Mac, then we will also add OpenGL support to RoadHog.
DSOGaming: Tech wise, what’s the key feature of the Road Hog Engine that you are mostly proud of?
JP: The exclusive feature of RoadHog Engine is skeletal animation for static geometry. This feature was introduced in Hard Reset DLC and was used in Shadow Warrior for every non-flexible object like: falling floors, bridges, switches etc. This feature gives objects the ability of complicated movement with no CPU/GPU overhead when those objects are not in motion. Objects animated this way even take part in some cutscenes!
DSOGaming: Will you release any Mod Tools or an SDK for Shadow Warrior?
MS: We will probably release Mod Tools in March or April and it will be probably the entire editor that we use internally. Of course we can’t promise any support for it 🙂
DSOGaming: From what we know, you are currently developing Shadow Warrior for PS4. What’s your opinion on Sony’s console and does it come close to high-end PCs? Are you experiencing any kind of limitations with it or will your future games sport better physics and visuals (from Shadow Warrior) due to their next-gen nature?
KN: It’s always nice to be able to focus on one fixed hardware configuration. Additionally PS4 gives us a lot of a lot of low level control and we love to know what’s happening under the hood. Hardware is pretty fast – our target is 1080p/60fps with ultra PC settings (SSAO and mirrors enabled). As usually for next game the graphic artists and designers will create bigger and more spectacular levels, request better physics effects etc. So – yes, our future games will look better and have better physics. Next-gens also give us an extra computing power. You should expect new features like more sophisticated lighting using PBR (Physically Based Rendering), better dynamic reflections and volumetric effects.
DSOGaming: Can the Road Hog Engine compete with CRYENGINE, Frostbite 3 and Unreal Engine 4? And what’s your opinion on those engines? If you had to choose one of them, which one of them would it be?
KN: It’s hard to compare, because our technology has different goals. We are focused on our specific needs, while mentioned engines are designed as general engines for sale. If I would have to choose an ‘off the shelf’ game engine I would pick Unreal Engine 4 for large games and Unity for small and medium ones. They both feature powerful and easy to use tools, a thing that is very important for a successful production. It’s just much harder to rewrite tools than replace some parts of rendering to suit your needs.
JP: It’s hard to work with such big engines like UE or CryEngine, because of high compilation times and many abstraction layers in their code. In RoadHog – we just code what we need.
DSOGaming: What’s your opinion about Windows 8 and DX11.2? Have you experimented with DX11.2 and can we expect your future games to natively support 64-bit systems?
KN: It was always a struggle to fit our games into 2GB, so I think we will drop 32 bit support and all future games will be 64 bit only.
JP: During development of Shadow Warrior memory consumption was the main issue. We wanted to release the game as a 32 bit application, because 32 bit operating systems are still very popular. Many optimizations were made, which reduced memory footprint by about 30%. Today big companies are making a move that will force gamers to switch to 64 bit systems.
DSOGaming: Shadow Warrior was easily one of the best looking games of 2013. If you could go back in time, however, what would you change (in terms of visuals and tech features)?
JP: Definitively we would love to have more time for optimization of the game. However we are extremely satisfied with what we have accomplished during this 18 months of production. Especially the levels in Shadow Warrior were up to 5 times bigger than in our previous game, Hard Reset. It was a huge step forward for our studio.
DSOGaming: What are Flying Wild Hog’s future plans? Are there any plans for a sequel to Hard Reset?
MS: In a few months we will probably finish our second big, but still unannounced project, so expect some interesting news pretty soon. Also, since we are finishing porting our engine to next gen consoles we may want to release all our games using RoadHog on PS4 and XOne. Guess which game – besides Shadow Warrior 🙂
DSOGaming: Nvidia has recently showcased real-time ray tracing. Although this technique is far from being playable on current games, what do you think of it? Does Road Hog Engine take advantage of ray-tracing for its reflections?
KN: It’s an interesting technique, but I don’t think it will become feasible in near future. In a real game you would like to have reflections that respond properly to surface roughness (more blurry reflection for rougher materials). It means shooting even more rays and even worse performance. We are considering using hacky ray tracing in a form of SSR (Screen Space Reflections).
DSOGaming: Thank you very much for the interview, any last words you want to share with our fans?
JP: I hope you have enjoyed playing Shadow Warrior and you will play the game on PS4 or XOne. We will deliver even more amazing titles in future.
KN: Thanks and remember to bring a katana to a gunfight on next-gen console(s)!
MS: Big thanks to all fans and supporters! We really appreciate your feedback.