|
Ever wondered
what makes some game developers tick? Well GCC
members do, and we got a shot at getting some
of those questions answered recently by Jani
Penttinen whom happens to be the Lead 3D Engineer
for the recently released Command & Conquer:
Renegade.
GCC
- Let's start
with the introduction. So tell us who you are,
with little background info and what is your current job
at Westwood?
Jani
- My
name is Jani Penttinen and I work as a lead
3D engineer at Westwood Studios. Before joining Westwood I worked as
a lead programmer at Housemarque Games. My two games with them were
The Reap and Supreme Snowboarding (aka Boarder Zone).
GCC
- In Renegade can you utilize flying
vehicles in online play?
Jani
- Yes,
we'll release some extra levels downloadable
from our web site which will feature flying vehicles.
GCC
- Are there plans to include being
able to fly things?
Jani
- In
multiplayer you can fly things in the new levels
that we'll release shortly. It'll also be possible to include the
flying vehicles in new levels created with the level editor.
GCC
- What programming languages have
you used in the development?
Jani
- Pretty
much all of the programming was using C++. There
are also few specific bits of x86 and SIMD assembly.
GCC
- How easy will it be to make mods?
Jani
- It
will be quite easy. The mod makers will have
virtually all the tools in use that we had. We're also working constantly
to imporove the tools.
GCC
- Will there be less lag in the ultimate
version?
Jani
- Absolutely.
Most of the lag in the demo was caused by incompatibilities between Renegade and GameSpy, and as the full version works through our very own Westwood
Online the experience is much smoother. The
demo also worked as a great stress test for
a system and helped us improve the engine even
further (we already released a patch for the
final version which improves the gameplay experience).
GCC
- How many hours of gameplay are
going to be in it?
Jani
- As
for the multiplay, tons of it! Playing through
the single play takes probably something like 20 hours depending on
the skill level and the difficulty settings, and whether or not the
player wants to explore the all levels. Many levels have various different paths
you can take so obviously there is some replayability value there.
GCC
- What graphics engine are you using?
Jani
- We're
using an inhouse developed engine. The engine
handles the 3D graphics, physics, AI and the network code.
GCC
- How exactly is multi-player going
to work? Are there going to be servers, and
if so then where abouts (geographically) are
they going to be? If there aren't going to be
any dedicated westwood servers, then why not?
Jani
- Anyone
can host a game with the full version of the
game or by using a freely distributed dedicated
server. It's usually a good idea to try to find
a server in the same geographical area where
you are, and from what we're seeing there are
plenty of servers all over the world. We're
constantly monitoring the situation and as we
have a T3 line and some spare systems we can
run servers when ever there seems to be need
for it. In the long run though we're hoping
the community to host enough servers for everybody
as the number of players playing the game are
so high that we couldn't possibly satisfy the
needs of all servers. That's why we have a free
dedicated server, so anyone can host. As for
Westwood Online, we've already increased the
capacity because there have been more people
playing than we were expecting, and we'll be
increasing it even further if needed.
GCC
- Did any of the units or buildings
present a particulary difficult problem with the translation from a RTS to a
FPS?
Jani
- Not
really. The controlling of units is naturally
very different and we have different controlling modes for different types
of units, but all in all it all turned out to be quite smooth. One of the
difficulties with buildings was that they're was too big and complex for
the multiplayer mode. As a solution the buildings are very simplified in
the multiplayer levels and you'll only see the real complex multi-story
buildings in the single player mission.
GCC
- Did you have any difficulties with
the 3D Engine during the design?
Jani
- There
were challenges in handling levels that are
so huge in size which was one of the reasons
for creating the engine in-house. Then there
are of course the usual compatibility and driver
issues with the PC game developement. We're
using such a wide variety of DX8 features that
you really need the latest drivers in order
to play the game.
GCC
- How much do one actually optimize
the code today? Or is it more important to write it cleanly, compared to most
effectively way?
Jani
- It
is very important to write clean code but it's
also very important to optimize the code too.
If the function is complex it's a preferred
approach to write it clean and fully working
and only after that see if it needs to be optimized.
Towards the end of the projects I spent some
quality time profiling the game and optimizing
bits and pieces that were taking more time than
they should.
GCC
- Is there a speed difference between
DirectX and OpenGL? For example, we all know that Carmack is the biggest supporter
of OpenGL, any special reasons to that or is that just his own decision
(your opinion)? And regarding to that, why did you chose the DirectX?
Jani
- DirectX
used to be worse than OpenGL but DX8 is really
good indeed. There isn't any speed difference between the two,
and the only difference you'd be getting is that some drivers might be faster
or more reliable than others. OpenGL gives you more access to hardware-specific
features through the extensions and some features of the latest 3D
cards are not accessible through DirectX at all. We decided to go with
DX as it is somewhat more standardized (really!) and traditionally has
had better driver support. Especially the Win9x OpenGL drivers have often
been very Quake-specific so you wouldn't really want to program your own
engine using them. Renegade needed a wide range of compatibility even on
older hardware so we didn't really even consider OpenGL. These days when
NVidia dominates the field and ATI being the only other competitor it's actually
all the same which one you use (their drivers are good for both DX and
OpenGL).
GCC
- How complex scenery can you make
to the maps, so that they are still playable?
Do you have any pictures to show us for an example?
I know that you have tested it out sometime
;)
Jani
- You
can have hundreds of thousands of polygons in
a map, if that's what you mean? In Renegade we had very large level areas
and very low min spec so we aren't using a lot of polygons in any specific
areas but if you make a smaller level (or are willing to spend more
memory) and raise the system specs you can easily run levels that have hundred
thousand visible polygons at any time. It's often not practical though
and if you want to support people without T&L hardware you don't want
to go there... but you wanted to know what is possible. Oh and of course, you
can have any kind of complex geometry and play on top of that as our physics
is not terrain based but works with arbitary geometry instead.
GCC
- The last thing. Can you give us
some nice tip of things to come ;)
Jani
- We're
constantly working on more things to C&C
fans out there but it really isn't my job to leak stuff out... sorry! But
I can promise there are more things to come as we're committed to supporting
the Renegade community. :)
GCC
- The Obelisk was one of the most
unique units in the original C&C. Tell us
a little about this building in Renegade. Will
the player have the ablility to infiltrate the
building and use the laser against the NOD units?
Jani
- Nope,
you can't use the Obelisk that way. It is automatic
and very powerful in what it's doing and what you need to do is
take it out.
GCC
- A big thank you, Jani, for answering
these questions! GameClubCentral wishes all
the best for Renegade in the future and the
same goes to yourself too. You can check out
the review of Renegade in the near future at
the pages of GCC.
Jani
- My
pleasure! I hope you'll have good time playing
Renegade!
Interview
conducted by GCC member MSuomi
|