How to set up the Build Pipeline

DEPRECATED

Please follow

http://dl.kaetemi.be/ryzom/rc_gamedata_009.pdf

How to set up the Build Pipeline

Prerequisites

Get the graphics data

Download the latest assets archive if you haven't done so yet.

http://dl.kaetemi.be/ryzom/assets/ryzom_assets_rev3.7z

Install 3ds Max plugins

Install the 3ds Max plugins, you can get them from the downloads page.

Downloads for Windows

Install Python

Download and install Python. Version 2.7 has been confirmed to work http://www.python.org/download/releases/2.7/.

Get the source code

Checkout the latest revision of the code repository.

https://bitbucket.org/ryzom/ryzomcore

We will assume this is checked out to D:\ryzomcore\

Get the leveldesign data

Checkout the latest revision of the leveldesign repository.

https://bitbucket.org/ryzom/ryzomcore-data

We will assume this is checked out to D:\ryzomcore-data\

Put the assets in the right place

You’ll need a folder for all the asset building. This will take roughly 40 GB with the complete asset data set, so make sure to use a fast and empty enough hard drive.

We will assume this directory is located at D:\ryzomcore-assets\

Extract from ryzom_assets_rev3.7z the directory "database" into this directory.

Set up some folders

We will use some drive substitutions to link to our directories.
Make a bat file that contains the following lines, replace the directories with your own:

subst R: /D subst R: D:\ryzomcore subst L: /D subst L: D:\ryzomcore-data subst W: /D subst W: D:\ryzomcore-assets

Verify your directories

R: should contain 'code'

L: should contain 'leveldesign', 'primitives', 'translation', etcetera

W: should contain 'database'

Compile the source code

Compile the whole thing. It is recommended to always work from the virtual R: drive, when compiling the code, as this makes it easier to switch between different revisions in case you need to. We’ll need the tools from both NeL and Ryzom Core. See some other wiki page for more information on this part. While compiling, you may want to move on to the next steps.

Get some additional tools

For the client patch build pipeline you also need to download xdelta.exe version 1.1.3, which is available fromhttp://www.evanjones.ca/software/xdelta-win32.html, and lzma.exe, which you can get from the lzma sdk http://www.7-zip.org/sdk.html. Place these files either in the "bin" directory of your externals directory, or in the directory that contains your Ryzom and NeL tool executables.

Running the Build Pipeline Setup

Making a shortcut

First, we'll make a shortcut to your cmd window, just because it's useful to have. Right click where you want the shortcut. Click New > Shortcut. Type cmd. Next. Type a name. Finish.
This shortcut will now give you a plain old cmd window. In order to make it a bit more useful, you'll have to change some parameters on the shortcut. Right Click > Properties. Go to the tab Shortcut. Set "Start in" to R:\code\nel\tools\build_gamedata. Go to the Font tab. Pick a font that you can set to size 12. Then go to Layout. Set Buffer Width to 128, Height to 512, Window Width to 128, Height to 64. Hit OK.

Use this shortcut to launch a nice and big cmd window.

Running 0_setup.py

Now that you're in the cmd, and in the right directory, you can just type 0_setup.py, and hit Enter, to go trough the initial configuration.

If you're using the default directories, you'll only need to change D:/libraries/external to where you extracted your external libraries, and C:/build/dev to your CMake build environment (it should contain a bin/Release sub-directory). You'll also need to change C:\Program Files (x86\ to just C:\Program Files\ anywhere if you're using 32 bit Windows. Depending on your version of 3ds Max, you may also have to change the 3ds Max program path and user directory path.

All of the folders that are under W:\ and L:\ in the default values, and that don't exist yet, will be generated for you by the setup script after you've plugged in all your configuration values. It may also generate some configuration files for some processes.

Exporting, Building and Installing

Finally, ...

Run 1_export

- exports the animations etc

Run 2_build

- Builds the interface atlas's etc

Run 3_install

- Installs the data into a folder ready for deployment

Run 4_data_shard

-

Run 5_client_dev

-

Run 6_client_patch

-

Run 7_client_install

- Builds the final client distributable folder

*** IMPORTANT ***

 

Please use the new assets archive, the latest plugins for max, the latest tools, and the latest data repository.

https://ryzomcore.atlassian.net/wiki/display/RC/Downloads+for+Windows

http://dl.kaetemi.be/ryzom/assets/ryzom_assets_rev3.7z

https://bitbucket.org/ryzom/ryzomcore-data

*** IMPORTANT ***

The information below is for developer reference only.

*** IMPORTANT ***

How to set up the Build Pipeline

 

for dummies (and for Windows)

This walktrough follows the entire process for setting up the Ryzom Core Asset Build Pipeline.
After going trough all the steps, you will have a fully functional client with all the game data built from the asset sources.

Prerequisites

Get the data

The latest revision of the assets archive is available trough http://dl.kaetemi.be/ryzom/assets/ryzom_assets_rev2.7z.torrent. Keep in mind that there will be a new revision later on when all the source data has been fully verified for completeness. Instructions on where to extract the archive will be given further down this article. Continue with the next steps while it's downloading.

Get the source code

Get the source code from the Hg repository, this will give you a folder called "code" containing... all of the source code.

Set up some folders

You’ll need a folder for all the asset building. This will take roughly 40 GB with the complete asset data set, so make sure to use a fast and empty enough hard drive. I’m going to call this directory C:\ryzom_core_build.
We will use some drive substitutions to link to our directories.
Make a bat file that contains the following lines, replace D:\source\nevrax with whatever directory (containing "code") you've grabbed the source code repository to:

subst R: /D subst R: D:\source\nevrax subst L: /D subst L: D:\source\nevrax\code\ryzom\common\data_leveldesign subst W: /D subst W: C:\ryzom_core_build 

And run the bat file too.

Compile the Ryzom Core source code

 

Download and install the 3ds Max tools

We’re assuming you own a copy of 3ds Max for this walktrough. You’ll need one anyway when you start working on your game. If you don’t feel like getting 3ds Max, feel free to write an exporter for your favourite modeling package of choice.
Since it’s pretty much a pain in the ass to compile the plugins for 3ds Max (especially if you’re using the stlport externals, then you’re simply screwed), just download the precompiled binaries for your version of 3ds Max, and plug them into your 3ds Max directory. Please keep in mind that we currently only support 32 bit versions of 3ds Max for the plugins, and that these will only work on a 32 bit installation of 3ds Max.

Follow the instructions for installing the 3ds Max plugins. It is very important that you properly set up the system unit configuration. And by that I really mean it's very important.

Install Python

Download and install Python. Version 2.7 has been confirmed to work http://www.python.org/download/releases/2.7/.

Get some additional tools

For the client patch build pipeline you also need to download xdelta.exe version 1.1.3, which is available fromhttp://www.evanjones.ca/software/xdelta-win32.html, and lzma.exe, which you can get from the lzma sdk http://www.7-zip.org/sdk.html. Place these files either in the "bin" directory of your externals directory, or in the directory that contains your Ryzom and NeL tool executables.

Put the assets in the right place

Extract from ryzom_assets_rev2.7z the directory "database" into the virtual W:\ drive, so that it can be accessed as W:\database.

Delete some files

There are currently some files in the code repository that are in the ryzom_assets_rev2.7z assets W:\database already. These must be deleted in order to get the game built properly.
Erase the contents of "code\ryzom\server\data_shard\collisions" entirely, this data is generated by the build pipeline.
Delete the directory "code\ryzom\client\data_r2ed_ui", this data is already under W:\database\interfaces\r2_*.
Delete the directory "code\ryzom\client\data\gamedev\adds\interfaces", this data is also under W:\database\interfaces.
Delete the file "code\ryzom\client\data\gamedev\interfaces_v3\texture_interfaces_v3.tga", it is generated by the build pipeline to elsewhere.

Running the Build Pipeline Setup

Making a shortcut

First, we'll make a shortcut to your cmd window, just because it's useful to have. Right click where you want the shortcut. Click New > Shortcut. Type cmd. Next. Type a name. Finish.
This shortcut will now give you a plain old cmd window. In order to make it a bit more useful, you'll have to change some parameters on the shortcut. Right Click > Properties. Go to the tab Shortcut. Set "Start in" to R:\code\nel\tools\build_gamedata. Go to the Font tab. Pick a font that you can set to size 12. Then go to Layout. Set Buffer Width to 128, Height to 512, Window Width to 128, Height to 64. Hit OK.

Use this shortcut to launch a nice and big cmd window.

Running 0_setup.py

Now that you're in the cmd, and in the right directory, you can just type 0_setup.py, and hit Enter, to go trough the initial configuration.

If you're using the default directories, you'll only need to change D:/libraries/external to where you extracted your external libraries, and C:/build/dev to your CMake build environment (it should contain a bin/Release sub-directory). You'll also need to change C:\Program Files (x86\ to just C:\Program Files\ anywhere if you're using 32 bit Windows. Depending on your version of 3ds Max, you may also have to change the 3ds Max program path and user directory path.

All of the folders that are under W:\ and L:\ in the default values, and that don't exist yet, will be generated for you by the setup script after you've plugged in all your configuration values. It may also generate some configuration files for some processes.

Exporting, Building and Installing

Finally, ...

Run 1_export

- exports the animations etc

Run 2_build

- Builds the interface atlas's etc

Run 3_install

- Installs the data into a folder ready for deployment

Run 4_data_shard

-

Run 5_client_dev

-

Run 6_client_patch

-

Run 7_client_install

- Builds the final client distributable folder