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.
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_buildAnd run the bat file too.
Compile the Ryzom Core 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 with the next three steps already.
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.
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 from http://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.
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¶
- exports the animations etc
- Builds the interface atlas's etc
- Installs the data into a folder ready for deployment
- Builds the final client distributable folder