Interviews






News
Submit News
Search / Archives

Community
Forums
Articles
Interviews
Links

Editing
Tutorials:
  Chronicles
  Mapping
  Skinning
  Storytelling

Game Info
Downloads
FAQ
System Requirements
Engine Info
Game Facts
Screenshots
Story
Settings
Antagonists (Enemies)
Characters
Clans

Guides
Walkthrough [incomplete]
Console
Cheats
Armor Database
Weapons Database

Pen & Paper Info
Introduction
World of Darkness
History
Rules
Lexicon
Paths of Enlightenment
Reading Tips

Hosting
WoD Mod
Within The Darkness
Noir Mod
Fleshcraft
Death in Prague
Sin Factory
Spirit's Touch
Saints & Sinners

GameSpy
  GameSpy.com
  Founders' Club
  GameSpy Comrade
  GameSpy Store
Services
  FilePlanet
  ForumPlanet
3DActionPlanet
RPGPlanet
  Planet Diablo
  Planet Elder Scrolls
SportPlanet
StrategyPlanet
MMORPG
  Vault Network
Classic/Console
  ClassicGaming
  Planet Dreamcast
  Planet Nintendo
  Planet PS2
  Planet Xbox
Community
  LANParty.com


    Rob Huebner Q&A

While compiling our Engine Information page, Juztyn fired off some questions to Rob Huebner, lead programmer and vice-commander over at Nihilistic Software. For your enjoyment, we've posted them here.

1) Why create a whole new engine for V:tM-R? What makes NOD so much better... why not use one of the existing ones, like the Quake, HL or Unreal Engines?

Heh.. well, that's usually the first question we always get. I'm surprised by that, really. We looked around at a lot of different technology and we did license a few things, like our sound system and the Radiant editor from id. But as for licensing an entire all-in-one engine technology, there really isn't anything appropriate to this type of game. We're not out to make a first-person action game with RPG elements.. Vampire is an RPG first and foremost. The only thing we have in common with games like Unreal or Quake is the use of 3D environments and rendering. Everything else -- the controls, the gameplay, the interactions with the world, are all much different. The 3D rendering is surpisingly small part of a game engine, so if we licensed an action-game engine, it would take a lot of work to turn that into the RPG game we wanted.

2) What kind of things does NOD feature?

The main focus of the engine is on realistic rendering of complex characters and worlds. The main thing we focused on was making the character rendering look really good, so that meant including fully skeletal, skinned bodies with automatic continuous level-of-detail and a nice set of rendering options. The skeletal model also allows the artists to create a massive amount of animation data. Currently, our main player models have something like 120 unique animation moves. Without the skeletal system, that data alone would probably fill a CD, but with the skeletal system and the ability to re-use the same animation for multiple characters, our entire animation data set is only about 8 megs at the moment.. pretty amazing stuff.
I'm also very happy with the worlds we've created. We took the basic brush-oriented building structure used by Quake2 and QERadiant, and implemented a sector/portal system on top of that. This simplifies the export of the level a lot and allows each level to be a lot more complex. The average level right now seems to be somewhere between 10,000 and 15,000 faces, but they're still building them out, so I'm sure they'll get even more complex.
Those are the things people will immediately recognize on-screen, but a lot of work we put into the engine is actually in the RPG systems and the scripting engine, which most people won't work with directly, but they'll appreciate the results. We're using an embedded Java interpreter for executing scripts, which gives an insane amount of power and flexibility to the designers to put the story into the game. On top of that, we've got a nice conversation system and a decent in-camera cutscene engine. All this together allows us to put a really hard-core story into the single-player game and lets the users have quite a bit of fun with it too.
Other little flash things we've pretty happy with are the dynamic cast shadows, the ability of animated characters to interact perfectly for certain actions, our radiosity light generator, our decal-based dynamic lighting system, and our particles aren't half bad either. Oh, and I almsot forgot the incredible skies the artists have made! And of course all of this is exposed to the end user, so everyone can have fun playing with this stuff. Its a nifty toybox for someone who wants to design their own RPGs.

3) How many chucks could a wood chuck chuck if a wood chuck could chuck wood? (cough)

pi.

4) How large and detailed can a "level" get in the NOD engine - and how does that affect load times... ?

Well, the physical size of the level isn't that important.. The load times are dictated more by the number of faces in a level, that's the biggest part of it. The designer has to be a bit careful not to make a mile-high wall with a ultra high-res lightmap on it, but using some logic, you can make very large levels. I think the editor has a limit on the dimensions that is the equivalent of something like 2 miles, but I'm not sure about that, that's Yves' area of expertise.

5) I noticed in one interview it mentioned "...a dynamic LOD system (that) keeps the framerate high by automatically scaling down the detail of characters in the distance." Does this mean the NOD engine can handle large outdoor areas... ie, forests?

Did we say that? Huh.. Must be true then. Actually, the LOD was a fairly easy thing to add, most of the algorithms for doing it are publically available on the internet. I also attended some talks at the last GDC conference that gave us some great ideas there. The tricky part is just finding a way to export that from a 3D package and store it efficiently, and we've done a pretty good job at that. This type of LOD is really dealing more with making more complex models simpler, it doesn't really affect the physical size of a level or anything. But if you want to put hundreds of trees in a scene, you'll definitely need an LOD system to pull it off.

6) How long has the NOD engine been in development?

Pretty much my first task when we founded Nihilistic (after assembling my own desk) was to write the 3D renderer so we could see what the heck we were working on. If I recall, we plugged in our first 3DFX card (a Voodoo2 8MB, if memory serves) and had a spinning untextured triangle in a couple of hours. Even since then its just one small step after another; add texturing, add a mesh of faces, add clipping, etc., until suddenly one day someone calls it an engine instead of a demo, and there you are. Its hard to say the exact time the engine was "started". But if the spinning triangle qualifies, we've been working on the engine for about 14 months now.

7) Is Nihilistic planning on using the NOD engine in other projects in the future?

Absolutely! One of the nice things about developing in-house technology is that you don't have to start over for each new project. How much of the engine survives for the next title depends a lot on how fast technology moves. I would imagine that our next title will support real-time curve rendering, so that's a big change in technology, so a lot of code will get tossed when that happens. And then there are lots of other platforms to consider. A lot of our PC code won't survive a transition over to next-generation consoles if that happens. But some stuff like math libraries and file managers can survive for a long time, so it will be nice not having to re-write all that for a while.

8) Why's it called NOD? Why not GDI? :)

When we named it, I totally forgot about the NOD from C&C.. Actually in the Vampire: The Masquerade universe, the book of Nod is sort of a sacred text that describes the nature of Vampirism and the history of the Kindred, so it plays an important role in most Vampire campaigns. We just thought it sounded like a cool name, it fit the license, and its short to type! Also all of our filename extensions are 3-letter codes that begin with N for Nihilistic. So NOD is also "Nihilistic Object Definifition" which is our 3D object file format. Some of our other extensions are NOB, NAD, NAG, and NAM. Five points if you can figure out what those are for...

9) The Particle systems in NOD / V:tM-R ... how do they work, and how do they look?

The work well and they look good! Actually, I think the system we're using is fairly standard in the industry these days. Basically you've got a bunch of particles that have certain attributed (position, color, opacity) and you define a bunch of functions that define how they change over time, how they're created or spawned, how they move, etc. For us, each of these sets of functions is called an emitter, and each has its own set of parameters that you can define in a file or change with the scripting engine. So what looks in the game like a candle flame would actually be defined in the game as something like "fire, candleFlame, fireSprite.tga, 150, 20, 1.5, 0.0, 0.5, 255.0, 128.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0". Sorry you asked yet? And since that's just in a text file, you can tweak to your heart's content.


[Main Page] [Forums] [Downloads] [Walkthrough]

IGN.com | GameSpy | Comrade | Arena | FilePlanet | ModCenter | GameSpy Technology
TeamXbox | Planets | Vaults | VE3D | CheatsCodesGuides | GameStats | GamerMetrics
AskMen.com | Rotten Tomatoes | Direct2Drive
By continuing past this page, and by your continued use of this site, you agree to be bound by and abide by the User Agreement.
Copyright 1996-2008, IGN Entertainment, Inc.   About Us | Support | Advertise | Privacy Policy | User Agreement Subscribe to RSS Feeds RSS Feeds
IGN's enterprise databases running Oracle, SQL and MySQL are professionally monitored and managed by Pythian Remote DBA.