Work in progress! This document is currently being compiled and edited. Contents may not be fully complete.

Build Swarm

Using the Build Swarm manually or through automation is recommended for advanced users only.

The Build Swarm is the command line building engine for Gaea. Whenever a large scale build is needed, Gaea launches the Build Swarm to build the terrain. You can also launch it manually if needed. The Build Swarm can be found in the Gaea installation folder as Gaea.Build.exe.

The Build Swarm writes status messages to StdOut and can be monitored remotely if needed. You MUST use the --silent argument when capturing StdOut data otherwise it may overload your application and slow down the build itself.

Command Line Arguments

Gaea uses double dashes -- instead of a single dash for command line arguments. For paths, always encapsulate them in double quotes to avoid path truncation.

Simple example of a command line build:

"C:\Program Files\QuadSpinner\Gaea\Gaea.Build.exe" "C:\Users\Me\Documents\Gaea\MyFile.tor" 

Build Swarm Management Switches

--silentDisables all non-essential console output.
--savetorSaves a copy of the current file in the build folder.
--buildlogSaves the build log to buildlog.txt in the build folder.
--openOpens the build folder after the build is complete.
--closeImmediately closes the window after build is complete.
--beepPlays a short beep at the end of a build.

Build Modification Switches

--unclampedForces the build to use Natural Elevation. See Building Terrains
--forcescaleForces the build to use force Full Range scaling. See Building Terrains.
--mutate##Repeats the build and randomizes the seeds of every node to create variations with each build.
Valid options for the ## portion are numbers from 1 to 99. See Creating Variations.
--nodemapCreates an XML node map file for any exposed properties.
--resolution####Sets the resolution of the build.
Valid options for the #### portion are 512, 1024, 2048, 4096, and 8192.
var:valueSets the 'value' property of the 'var' exposed node property.
See Automating Gaea for details. Any such variable arguments must come after all switches.

Complex example of a command line build automation:

 --silent --resolution0512 
 filein:"Z:\WM1.png"  fileout:"Z:\WM_out.png" 
 duration:0.518 rocksoftness:0.271 strength:0.184 
 inhibition:1.0 baselevel:0.0 realscale:true 
 featurescale:2000 seed:0 aggressivemode:true

You must have the Professional or Enterprise edition to take advantage of automation features.

Batch Building

You can run a batch build by executing a batch (.bat) file as shown below.

REM Change drive, just to be sure
REM Go to the Gaea install folder
cd %programfiles%\QuadSpinner\Gaea

SET vars = --silent --savetor

REM List all files to build in quotes
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-001.tor" vars
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-002.tor" vars
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-003.tor" vars
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-004.tor" vars
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-005.tor" vars
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-006.tor" vars
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-007.tor" vars
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-008.tor" vars
Gaea.Build.exe "C:\Users\Dax\Documents\Gaea\ErosionB-009.tor" vars

In the future, you will be able to drag and drop multiple files on Gaea.Build.exe to run a batch build.

Build Logs

Build Swarm logs are both machine and human readable. All values are tab separated.

STARTLOG                // Denotes start of a log
GAEA    <VERSION>       // Gaea version stamp

START   <TIME>          // Build start time (yyyy-MM-dd HH:mm:ssz)
END     <TIME>          // Build end time (yyyy-MM-dd HH:mm:ssz)
TOTAL   <TIME>          // Total time taken (

RESOLUTION  <RES>       // Total build resolution
BUCKET SIZE <RES>       // Tiled build bucket resolution

NODE    <NAME>  <TIME>  // Node name and time taken to build  (

OUTPUT  <PATH>          // Build destination directory
ENDLOG                  // Denotes end of the log