« Previous - Version 7/11 (diff) - Next » - Current version
mixxit, 10/14/2010 09:02 pm


Gamedata Build Pipeline

The gamedata build pipeline consists of a set of scripts, with the ultimate purpose of automatically bringing together your assets and leveldesign data into packaged client datafiles, as well as building all the data as required by the game services.

Python 2.7 has been confirmed to work ([http://www.python.org/download/releases/2.7/]).

Projects

The asset pipeline is divided into three major project categories, each containing one or more independent projects that depend on the previous category. The possibility exists to build multiple projects per category in parallel on multiple physical machines. A project has it's own configuration set, allowing multiple independent landscape lighting models or character armor color texture generation.
  • common
    • characters
    • characters_maps_hr
    • characters_maps_lr
    • construction
    • fauna
    • fonts
    • interface
    • objects
    • outgame
    • sfx
    • sky
  • ecosystems
    • jungle
    • desert
    • lacustre
    • primes_racines
  • continents
    • newbieland

Processes

Each project may run one or more sequential build processes. A process defines the data which needs to be built, and which tools need to be run for the process to run successfully.
The following processes are currently part of the gamedata build pipeline:
  • map: Builds texture color variations for textures in PanoplyFileList according to panoply.cfg, and compresses the output to .dds file format. Compresses .tga files in MapSourceDirectories to .dds files. Installs .png and .dds files from MapSourceDirectories and MapUncompressedSourceDirectories, .dds files from MapBuildDirectory and MapPanoplyBuildDirectory, and .png, .dds and .tga files from MapUncompressedSourceDirectories to MapClientDirectory.
  • ...
  • ...
  • ...
  • ...
  • ...
  • ...

Commands

There are four basic commands which run a specific portion of the entire gamedata build pipeline.
  • Setup (0_setup.py): This script allows you to configure the directories used by the automated pipeline, and creates all the subdirectories required by the available projects and their processes.
  • Export (1_export.py): The main task of this portion is to bring all the assets into a format that can be read by NeL. For instance, it exports all the .shape, .zone, .anim, .skel, .veget, etcetera from the 3ds Max files, as well as preprocessing some data for the build script of the processes.
  • Build (2_build.py): Processes all the content for ingame usage. Welds and lights landscape zones, generates new sheet ids, and compresses large file formats down to a more manageable filesize. It builds packed sheets, compresses .tga files specified by specific processes down to .dds file format, and sample banks for sound effects.
  • Install (3_install.py): Grabs together all the files required by the game client, and game services, ready into an installable file structure.

sfb notes

To prep the MAX files for 2010:

12:44 < Kaetemi> nah, that's for opening one single file
12:44 < Kaetemi> you just need to run max
12:44 < Kaetemi> go to the open maxscript
12:44 < Kaetemi> then choose for batched
12:44 < Kaetemi> enter W:\database
12:44 < Kaetemi> check subdirs
12:44 < Kaetemi> uncheck test
12:44 < Kaetemi> uncheck stop on error
12:44 < Kaetemi> and uncheck something else
12:44 < Kaetemi> and run
12:44 < sfb> hahahaha
12:44 < Kaetemi> and wait for a day or so

Exporting Assets Using The Build Pipeline Step By Step

1. Create a folder in drive C:\ named "export" (C:\export)

2. Navigate to C:\ryzom\code\nel\tools\build_gamedata and double click on "0_setup.py".
The console will ask for directory's, Its pretty self explanatory, just fill it out and it will set everything up for you.
Note> Everything in the <> are the suggested defaults.

3. Navigate to C:\ryzom\code\nel\tools\build_gamedata and double click on "1_export.py".
This exports all the data from the .max files in C:\Database.

4. Navigate to C:\ryzom\code\nel\tools\build_gamedata and double click on "2_build.py".
This runs all the compile operations like converting images to direct draw format, lighting and sound effects.

5. Navigate to C:\ryzom\code\nel\tools\build_gamedata and double click on "3_install.py".
This installs all the generated data and folder structures into C:\ryzom_client\user for testing in game.