Sections:
    Space Hulk: C&B
    Vampire: Redemption
    Toy Wars
    X-Files Postmortem
       (or on Gamasutra)
    X-Files Episode Guide
    Battle Beasts

Features:
    Redemption FAQ

Maps:
    A Private House
    Escape Into Darkness

Tutorials:
    Doors That Open
    Chronicles With Scenes
    Publishing Expansions

Resources:
    Vampire Patch 1.1
    NOD SDK 1.1
    GenSurf

Good Hunting:
    PlanetVampire
    QERadiant.com
    Nihilistic BBS
    White Wolf
    Activision

darklord.com

Publishing Expansions for Vampire: Redemption
by Jason VandenBerghe

Printer Friendly Version

This document is copyright © 2000 Corporation X.  All rights reserved just for kicks.  Do not reprint this document without explicit written permission from the author, or you will never be able to live with yourself.

Vampire: the Masquerade is a registered trademark and Vampire: Redemption is a trademark of White Wolf Publishing, Inc..

The Big Idea

This article is written primarily to give you an idea of how to go about publishing your chronicles for Vampire: Redemption in a way that will make it simple for other gamers to download your files and plug them in painlessly. The effort involved in setting up a new chronicle can be intimidating, and many players just want to get in there and play. Any extra effort you put into releasing files that are as plug-and-prey as possible will pay off in the long run, both in terms of a player's experience of your map, and (thusly) in it's popularity.

There are a few simple shenanigans involved in getting a complete release together, but if you follow the steps outlined below, you should have no problem.

Development & Expansion

If you've been developing a level for Redemption, you've likely either got your map, level, and scene files all spread into the root Vampire install directory, or all localized into a "project" directory. Either way, releasing your files in that state can result in the end-user's Vampire directory getting messy (best case) or corrupted (worse case).

(Note: this is not the case if you just release the .NIL & .NSD files, and let others figure out the installation details for themselves. That's a fine way to go about it, but not the subject of this tutorial.)

Fortunately for the Vampire community, Nihilistic provided a very simple method to expand Vampire: Redemption: .NOB files. A .NOB file is simply a .ZIP file renamed; it's an archive of files all crammed together into a single file. .NOB files can store directory information, so it is straightforward to replicate the Vampire install structure within a .NOB file without messing up the actual game installation itself.

As a historical note, I believe it is likely that Nihilistic chose this format because Java does the same thing with .JAR files, and I believe this was one of the many good things the NOD engine inherited when Nihilistic chose Java for its scripting language. All around, a good thing. If you haven't read Robert Huebner's article, "Using Java as an embedded game scripting language", in the NOD SDK, I recommend it.

The Objective

In order to release your files in a nice, neat package that the end-user can easily install and use, your development files (maps, scenes, chronicle files, etc) should all go into a single .NOB file. There are two tricks to this process:

  1. First, when adding the files to the .NOB file, turn off compression. In WinZip, you will see a combo-box in the Add/Replace Files dialog that lets you select the level of compression; select "none". De-compressing files from an archive would slow down the engine performance considerably, and the NOD engine doesn't support it.
  2. Insure that your directory structure is retained within the .NOB file. Because of the way WinZip does its thing, this can be tricky, so here's a simple method to pull it off:

    1. Create a "DROP" directory in your Vampire root.
    2. Create a duplicate of the Vampire directory structure in this DROP directory (\Chronicles, \Levels, \Scenes, etc). Make copies of the files you want to release in the appropriate directories.
    3. Create a new archive, and open it. Drag your completed "DROP" directory over to the archive, and drop it. This will bring up the Add/Replace Files dialog. Insure that "Include Subfolders" is checked, and that "Save Extra Folder Info" is NOT checked. Click "OK".

That should do it. The files will be added to your archive with the directory structure intact. (Note that if you had checked "Save Extra Folder Info", the *entire* path to the files would have been stored, which is not what you want.)

Now you have a .NOB file that Vampire will be able to open and use, either from the Vampire root directory, or from a directory you specify with the "-user" command-line argument.

What Should Go In The .NOB?

So you know how to create a release file that will be simple for the end-user to install. What files should you include in such a release? That depends on what your map is for.

If you are making a blank multiplayer map, then in order for your map to be immediately usable, you will need to include the following files:

\Vampire
    \Chronicles\MP_YourMap.NSCChronicle File - Essential
    \Chronicles\MP_YourMap.NMFMetafile - Optional, unless you need the other files that it references (.NST, .NLS, etc)
    \Chronicles\MP_YourMap.NSTStoryTeller Object Short List - Optional, but handy if you have the time to pick out what objects you think will be appropriate to your map.
    \Levels\YourMap.NILThe engine map file
    \Maps\YourMap.MAPOptional, but it's often helpful for other people who are making maps to look at what others have done
    \Scenes\YourMap.NSDScene Description; needed if you have *any* template objects in your map
    \Strings\YourMap.NLSStrings File, only if you have added strings or if you want to change the names for any of the default objects
(If you have scenes in your map)
    \Chronicles\MP_YourMap.NSSStoryTeller Scene List - Essential for the Scene Pane in the ST in-game interface
    \Scenes\YourScenes.NSDInclude all .NSD files that originated with your scenes

(It's also considered good form to include a README file, so that people know what to expect from your expansion. Take a few minutes and write up something informative; it will boost your presentation a great deal.)

What these various data files should contain is discussed in another tutorial.

Blank Chronicle File

Here is a blank chronicle file for you to get started:

YourLevel.NSC:
###################################################################################################
# Locations
#
#          Area Name  .nil file to use  Initial Scene file  Area map backplate  Area map tag  Flags
# location [AREA_ID]  [yourlevel].nil   [yourscene].nsd     [yourmap].nui       [yourtag].nui   0x0
###################################################################################################

location YourLocation  [yourlevel].nil  null  mapNYCdocks.nui  map00  0x0

###################################################################################################
# Exits
#
# exit [AREA_ID_1],[EXITNUM]  [AREA_ID_1],[EXITNUM] 
###################################################################################################


###################################################################################################
# Chronicle Settings 
###################################################################################################

metafile    testing.nmf
portal      YourLocation 15
reviveloc   YourLocation 0
flags       0x7

###################################################################################################

Please email the author with comments, concerns, or corrections to this document. Good luck, and happy bloodsucking!