Вы находитесь на странице: 1из 5

One of the most interesting aspects of working in the game industry is

watching how the creativity that inspired many developers to go into


the industry is exhibited so well technically. Take game engine
development for instance. New game engines emerge all the time in
the game industry, most of the time to push the envelope of what is
needed in the game they are making. The net effect of this hyper focus
on the specific challenges of building a game invariably leads
developers to seek, create or even reuse previous advanced
techniques in computer graphics in every conceivable way to achieve
the effect and performance they want. It is just this dedication to
pushing the tech window that has other 3D graphics industries looking
to the game industry to find the best techniques to employ.
One such example GBR recently had the pleasure of interviewing are
the developers behind the Nitrous engine from Oxide Games, who
along with partner/owner Stardock, are set to deliver a new 64-bit realtime-strategy (RTS) game early access on Steam this week, called
Ashes of the Singularity, with some requirements that really pushed
the envelope.

With a focus on supporting a big strategy game with lots of action, Tim
Kipp and Dan Baker of Oxide, both veteran game developers late of
Firaxis Games where they worked on Civilization V, knew their new
Nitrous engine needed to address the complexity and large scope that
comes with sharing entire in-game worlds, not just individual scenes in
a world. According to Tim, their team was small enough and agile
enough to be able to take some risks, and write a game engine with
the ability to scale quickly in a real time strategy sense, but not be
limited to just one particular engine for one particular genre.

First Oxide looked to current state-of-the art graphics API technology


such as Microsofts DirectX 12 (and soon Khronos standard API Vulkan
from the folks who brought us OpenGL|ES) to get the most
performance out of modern hardware. By using every available CPU
core and the multi-threading software techniques in DirectX12, Nitrous
became the first commercially available engine to deliver a DirectX12
game.
Next up, after realizing the gains they could get from modern explicit
APIs (such as DirectX12, Mantle, Vulkan, etc.) they rethought the
direction many game engines take today. Opting instead to implement
an optic space renderer instead of the more common deferred
rendering techniques mostly found in the game engine development
community, Oxide chose to implement an optic space renderer.
This is the interesting bit. Optic space rendering, arguably the opposite
of deferred rendering, is nothing new to the CG community (remember
Renderman?). Rendermans Reyes (literally meaning render
everything youve ever seen) and the algorithm that processes the
geometry for the Renderman renderer, suggestive of processes
connected with optical imaging systems, is exactly the object-space
renderer Dan and Tim chose for Nitrous. Well, with hardware
performance gains evidenced by using explicit APIs such as DirectX12,
anything old can be new again, or more precisely, anything linear can
now work non-linearly (think watching movies vs. video gaming)
thanks to those performance gains. Using their DirectX12 expertise,
Dan and Tim decided to give the REYES renderer a chance to work well
in real-time. It worked, so they adopted it for Nitrous. One cool aspect
to employing something like Reyes is that game developers can take
advantage of the Z-buffer now, something not traditionally used by
most game engine renderers, according to Dan Baker of Oxide.
Oxide also had to solve a big AI problem; traditionally RTS style games
have pretty bad AI, and the team didnt want any AI techniques used to
either slow down the game or rely on outdated tech. So again visiting
the advances now available in modern hardware, they were able to
take advantage of a multicore custom scheduler, using four cores
minimum and a custom scheduler to handle AI requests.

With all CPU cores now being able to talk to the graphics card,
DirectX12 allowed Nitrous custom work scheduler to support the
games AI going wide, while the graphics card is no longer sitting idle
waiting for instructions.

Net-net: all cores talking to the graphics card. Thus, they now have the
first asynchronous multi-core real-time AI available in any commercially
available game engine.

The Oxide team also wrote a custom shading language on top of HLSL,
one good for Direct12, but with plans to compile to SPIR-V, and porting
to Vulkan in due time. Nitrous is also tool-chain agnostic a common
enough ideology these days for game engines, mostly meaning game
engines load industry standard format files directly, dont mandate
custom tools, and try to adopt to industry standards as needed. In that
vein, Oxide adopted film industry standard ACES (Academy Color
Encoding Specification) to support state-of-the-art cinema photography
in engine. This means the standardized color space supported in HDR
monitors and found in professional coloration tools will work well in the
Nitrous tool chain.
According to Oxides <insert name>, We think Oxides Nitrous engine
is a pretty big leap for the digital entertainment market. The Nitrous
engine could a formidable new entry into the game middleware
licensing arena. Details on licensing Nitrous can be found by sending
an email to info@oxidegames.com and an Oxide representative will get
back to you shortly, according to their web site.
Many game engines today are built to support FPS games or are
designed for indies and the uninitiated, so its cool to see a licensable
game engine become available for large scale real time strategy
games, as well as any other games that require large scale AI,
extremely high performance rendering and a state of the art tool chain.
Stardock Press Release:
Ashes of the Singularity, will launch on Steam Early Access on Oct
22, 2015 for $39.99 (a 20% discount off its regular price of $49.99).
Built on the incredibly advanced Nitrous Engine, Ashes of the

Singularity is the first 64-bit RTS, the first to use DirectX 12, and
includes the first asynchronous multi-core real-time AI.

Вам также может понравиться