Technology Trees

  • XML Format

    Fleet Operations 4.0 only. Documentation for the greatly enhanced XML Techtrees

Path: Fleet Operations\Data\techtree

What are Techtree Files?

In Fleet Operations, these are the files that allow you to restrict or grant access to various vessels, stations, and abilities until the desired requirements are met.

In general, all vessels, stations, and special weapons should be put in the techtree files. The root cause of bugs in a modded game that do NOT cause a crash will be techtree related. These are usually caused when something cannot be built, seen on a list, or used, simply because you forgot to put it in the techtrees.

Bear in mind that there are some exceptions: weapons that do not require buttons do not need to be added in the techtree, and in most cases the techtree will not affect these weapons. Note that replaceweapons do need to be added to the techtree if they have a button (as the button requires a techtree entry).

Upon opening the Techtree folder you will notice two files: freetech.tt and tech1.tt.

freetech.tt contains the settings that make it possible for you to use all technology, without research, at game start when selecting this mode in the Game Setup menu. tech1.tt on the other hand refers the game to use standard technology limitations. Note however that these are just the names of the techtrees and do not affect the behavior of the variables (in other words, it is possible to make a freetech.tt that obeys standard technology limitations).

Adding Additional Techtrees

It is possible to create additional techtrees for missions or other scenarios, which will be selectable via the drop down menu in the Game Setup menu. To add additional techtrees it is necessary to create a reference to the new techtree file in the techlvl.odf file. To do so, find techlvl.odf in the Fleet Operations\Data\odf\system folder. In Fleet Operations there will be two entries:

techfile0 = "tech1.tt"
techfile1 = "freetech.tt"

Simply create another entry, techfile2 = {name of your techtree file}. Note that this will not cause the techtree name to appear in the drop down menu however (it will appear as a '---' ). In order to create a name that will display, you will need to add an entry in the label.map file, which can be found in Fleet Operations\Data. Find the line

multiplayer_setup {

and look for these entries:

    + tech_level_zero     {Standard Tech}
    + tech_level_one      {Free tech}
    + tech_level_two      {---}
    + tech_level_three    {---}
    + tech_level_four     {---}
    + tech_level_five     {---}

Simply swap out the {---} for the name of your technology tree file, and it will appear in the Game Setup GUI.

Making a Techtree

All techtrees are set up in the same basic format (a unit in this case can refer to a vessel, station, or technology):

{Desired Unit .ODF} {#of requirements} {Unit .ODF(s) that allow Desired Unit to be built (if applicable)} // Each item here is separated by a single space

Consequently, in the techtree files in Fleet Operations, entries should read as follows:

unit1.odf 0 // Means nothing is required to build this unit

Remember that it is wise to make sure that all freetech.tt entries require 0 to be built. That is why it is called FREE tech. This will not really cause a problem, it is just very helpful if you want to test your unit quickly, without having to tech-up to get to it.

unit1.odf 1 unit2.odf // Means unit1 requires unit2 to be built

unit1.odf 2 unit2.odf unit3.odf // Means unit1 requires both unit2 and unit3 to be built

Note that the number of requirements value can exceed two units, so you can have a unit that requires 3, 4, or even more units in order to be built.

The number of requirements value can also be negative, but unlike the positive integers, there are only two valid options:

unit1.odf -1 // The unit is impossible to build, and anything dependent on this .ODF to be built cannot be built as well

Thus, if you have a techtree based on another techtree (such as those found in missions) you can remove items from it or cause them to be unbuildable once destroyed.

unit1.odf -2 // The unit is impossible to build, but dependencies are not affected

Consequently, if the unit already exists or is somehow acquired mid-game (via capture or mission scripting for instance), then anything dependent on the unit can be built.

Commenting

Comments can also be added after techtree lines:

# One row comment. Everything after the # is commented out
// Same as above

Note that if you want a comment to extend for several rows, each new row should have a commenting marker placed.

What Will Not Work

Unfortunately adding a second entry for the same ship will not cause an either-or techtree, as only one entry will be used (the first entry by default).

Likewise, a unit cannot require itself as a requirement to be built - this will cause Fleet Ops to seize up.