Wheel of Time - Morrowind Mod

Development Process and Standards

[Home] [Members] [Links and Downloads] [Forums] [Modder's Resource] [Files and Pictures] [Design Specs] [Project Plan] [What's New] [Issues] [Search]


Up

Description

This section will detail how the mod will be put together, the process that the modders should use to get their work into the mod, and anything else that needs to be detailed on how we will coordinate all the different team member's work.

It will also contain the standards we will use.  This includes naming standards, script writing and documentation standards, file directory standards, and process standards.  We want everyone to turn in work that looks like everyone else's.  Not because we don't want your creative genius to stand out, but because if someone else want to use, troubleshoot, or has to modify your work then having standards allows them to easily read or figure out where things are.  You will be credited in the mod's credits for everything you did.


Table of contents

The Build

The base ESM

Merging new work

Backups

Models, textures, and retextures

BSA file

Model standards

Texture standards

Naming standards

Coding standards


The Build

The base ESM

The base ESM will be the starting ESM.  It will contain the map and the initial set of models to use.

The ESM is the file that contains the mod.  This is the main file that will be released to when we release our mod.  All the team member's work will be merged into the main ESM.

Merging new work

Each team member will submit work in the form of an ESP.   The team merger (SinisterDeath) will then merge that data into a new ESM which will then be redistributed.

We don't really know how this process will work yet to avoid duplication and breaking other's work.  We will be doing some testing prior to releasing the initial esm. 

ESM ESP Build Tracking - html sheet  
(spreadsheet version)

The tracking sheet holds a list of all the esps added to the mod, who made them, whether we need permission or can just credit, and what esp they were added with.   The esm plus the list of esps will equal the mod.

ESP Name Owner Date
Released
Description Build Added To
wot1items.rar Kiriel 3/6/2004 Adds interior and exterior items.  See tracking sheet for full list. Original Base Build

wot2004

         
         

Backups

We of course will be backing up every single ESM prior to every single ESP merge. And backing up every ESP prior to merging.   This will allow us to back out a bad ESP by going back to the ESM prior to the merge.  Then remerge the ones that are fine.  We will always be able to remerge and recreate the current ESM from the beginning.  


Models, textures, retextures

BSA file

The proposal is to release our textures and meshes in a BSA file.  Morrowind and all the expansions have a single esm and bsa.  This will allow us to release a single ESM, maybe an ESP, and a BSA file.

There are utilities to unpack and pack BSA files.  We can also have an alternate zip that contains all the NIF's and textures for modders who don't want to unpack our BSA.

Note:  the bsa contains only dds files for Morrowind.  When you look at the CD, a lot of the textures are tga files.  This can cause some confusion when you create a new mesh and use an existing texture but use the tga, not knowing the bsa contains a dds.  You then find your model has missing textures.  The game doesn't look at the CD, only the bsa or what is in the texture folder.  

Model standards

Model standards will be finalized by SinisterDeath.  These standards apply to both new models and retextures.

  • Data Files\Meshes\WOT\x
    NIF files will be placed in a subdirectory structure underneath Meshes.  This structure will follow the same directory structure Bethesda uses but be one level deeper.

    Data Files\Meshes\WOT\a (armor)
    Data Files\Meshes\WOT\b (NCP's, body)
    Data Files\Meshes\WOT\c (clothing)
    Data Files\Meshes\WOT\d (door)
    Data Files\Meshes\WOT\e (effects)
    Data Files\Meshes\WOT\f (furniture)
    Data Files\Meshes\WOT\i (interior statics)
    Data Files\Meshes\WOT\l (lights)
    Data Files\Meshes\WOT\m (miscellaneous items)
    Data Files\Meshes\WOT\n (ingredients)
    Data Files\Meshes\WOT\o (containers)
    Data Files\Meshes\WOT\r (creatures)
    Data Files\Meshes\WOT\w (weapons)
    Data Files\Meshes\WOT\x (exterior statics)

      

  • Only send in final models and textures.  Use whatever method is easiest for you to keep the final models separate from the WIP models.  

  • Send in screenshots with your new models when you are ready to have them merged into the esm.  We will be putting links on the model page.  Even for retextures.  Other modders may then use those models for their work.
     

  • If your model is a one of a kind, that should be indicated on the model page as well.  We don't want the the Rose throne to be found all over the place.

  • Any third party model that you want to add to the mod needs to be registered on the mod page.  Please go to the mod page and see if it already has been added.  If not, please send a note to Sinister to add the model and wait until it comes out with the next esm to use it.  
    We don't want five people all adding dongle's windows or barabus's fireplaces or Lady E's models.

  • Rename all third-party models and textures.  We want unique names from the original designer.
    This last one is not set yet.  Since we will have all our files in subdirectories we will not interfere with anyone else's mods.  So, this might be unnecessary.

  • Make sure to send in the name of the model creator for third-party models.  We want to credit everyone who's work we use.

Texture standards

  • Textures should be the smallest they can be to contain the detail that we want.  

  • Data Files\Textures\WOT\Author
    Textures should be placed in a subdirectory underneath Textures.  This will allow us all to keep the textures separate from textures we have on our machines from other mods.  
    Modelers will have to reassign textures in NIFTexture prior to submitting the new model.
    This subdirectory is subject to change if we find the bsa format is not compatible.

  • Keep a list of player created textures you use and who made them.  We need to give correct credit for everything we use.


Naming standards

This section is just our starting set. Those include naming everything with the initials of the mod in front of the ID.  

Everyone, please give input on this.  We want everything to sort really nice so people can find things.  Bethesda wasn't too bad but they could have done better.  We aren't going to do any better than them but at least we can do as well as they did.

 

  • Start all models except NCP's with the code for that type of article after our mod initials.  

    Using wot_ as a prefix will cut down the number of characters for the ID.  The reason for adding the prefix more than makes up for it.  We need the prefix to differentiate between what comes with Morrowind, Tribunal, and Bloodmoon and what we made.  We are going to have many things to track and put together in the release package.  We need an easy way of pulling out everything that is new and checking to make sure we have all the supporting files.  

    prefix description
    wot_furn_  furniture
    wot_misc_  miscelanous stuff you can pick up
    wot_key_  keys
    wot_in_style  interior architecture
    Style indicates what set the architecture belongs to, like "and" for Andoran or "tea" for Tear.
    wot_ex_style exterior architecture.
    wot_terrain_ terrain meshes
    wot_VFX special effects
    wot_flora_ plants
    wot_act_ activators
    wot_sc_ scroll
    wot_bk_ book
    wot_amu_
    wot_shirt_
    wot_pants_
    wot_shoes_
    wot_skirt_
    wot_ring_
    wot_gloves_
    wot_belt_
    wot_robe_
    clothing.  
    wot_barrel
    wot_crate
    wot_urn
    wot_chest
    wot_cabnt
    wot_desk
    wot_table
    etc...
    Containers.  
    wot_door_ doors
    wot_ingr_ ingredients
    wot_ lights
    wot_pick_ lock pick
    wot_appr apparatus
    wot_probe probe
    wot_ NCP
    wot_ weapon
    wot_ armor

     


Coding standards

Script writing standards will be the same as most projects and books show for coding.

  • Use proper case (First Letter Capitalized) for all commands. 
    Examples:

    OnActivate
    ElseIf
    AddItem

  • Use lower case to start variable names, proper case for the rest of the variable.  (It just differentiates our variables from commands easier.  Since the CS doesn't have color coding this is the most we can do.)
    Examples:

    doOnce
    startPlayerStrength
    numberOfTimesHit

  • Use standard indenting for If commands and While loops.  This means that the lines underneath an If, ElseIf, Else, or While need to be indented one tab.
    Example:

    If ( OnActivate == 1 )
         Player -> AddItem "My_new_shorts" 1
    EndIf

  • Document, document, document.  Comment.
    Whatever you call it, please write in English explanations for everything you code.  You may think it is totally obvious what it the code is doing, NOW.  You may think that why you are doing it is obvious, NOW.  But later, it will waste a lot of time for you to try to figure out what you were thinking.

    And it will waste a lot more time if someone else is trying to figure it out.  You at least knew what you thought, maybe.  Someone else is starting from scratch and may have no idea why you set a variable to 10 or felt the need to start another script at this point in the code.

    Yes, Bethesda was pretty lousy in documenting.  Don't use them as an example.  Use your conscious.  BWAHAHAHAHAH.  If you have one.

 

The Wheel of Time and all its subject matter is copyright by Robert Jordan.  Morrowind, the gaming engine, and the modules created for it are copyright by Bethesda.  This project is a not-for-profit endeavor.  It is done in homage to a great fantasy series.  It is not intended to be an official representation of the works of Robert Jordan.
For problems or questions regarding this web contact the webmaster: Kiriel@direcway.com.
Last updated: August 31, 2005.