• Civilization 7 has been announced. For more info please check the forum here .

IndieStone - Visual Tech Tree Editor


Apr 10, 2006
DOWNLOAD LATEST ALPHA VERSION HERE: http://www.weplayciv.com/forums/showthread.php?5126-IndieStone-Visual-Tech-Tree-Editor
Moderator Action: Download is available here.

By Lemmy101 and CaptainBinky


* .NET 4 Redistributable (probably already installed if you're using the SDK)


Either start from a blank page, create a new tree based on the Civ 5 base tree, or load up an existing mod.[/B])

Make your changes, adding / removing techs, assigning units and buildings to techs, and whatnot.

Save the results to get XML files you can use in your mods.


Double click in an empty grid space to place a new tech, or right click a tech and 'duplicate' it.
Left click a tech to select it.
Drag left mouse button from the handle on right hand side of the prerequisite tech to create a new branch, drag and release it when it snaps to the tech you want it to connect to.
DEL key to delete selected tech or branch.
Edit options in panel to the right when tech is selected, or right click and 'edit DB row' to get a more in depth edit of the data.

This is an alpha version. Make sure to back up your xml files if you save over anything, bugs may be present!

Visual WYSIWYG Editing

You can edit the technologies in a visual interface just as they will appear in the in-game tech tree, creating connection paths to connect the techs together to define their prerequisites, and setting their options in the properties when they are selected. The techs show the units and buildings they provide, so you can plan your tech tree out a lot more easily and quickly.

Just click the names of the techs to get an edit box to rename them.

Fully Modular XML Generation

It doesn't matter how complicated your changes are, from a few minor changes to creating a completely new tech tree from scratch, it will automatically work out the differences between the original and your tree and create XML files using proper row, update and delete tags to change the original tree into your own, only storing the differences between the two.

This means your modded tech tree will be as modular as possible.

Drag and drop!

Just click and drag your units, buildings, resources and builds around between techs, or to and from the 'unassigned' side panel.

... which is where all the things with no prerequisite tech set are to be found! :)

Conflict finder finds any conflicts in your mod

Will find any reference to non existent types in your entire mod database. Whether you've imported units that have prerequisite technologies from the mod you pilfered them from, or deleted every civilization in the game, it will tell you about it and provide you with options on how you'd like to deal with the conflict.

More info here: http://forums.civfanatics.com/showthread.php?t=396304

Era editing

Add and delete eras, and drag their start / end handles to make them encompass more or less techs.

The editor will automatically assign all techs under them to be in that era, and handle all the sorting of eras and techs for you.

Right click to edit the database row directly.

the row editor, whilst a bit ugly and slow at the moment, will allow you to poke about at anything on the tech tree in detail. It also has auto completion for all the fields that reference other database objects making it easy to reassign things:

Also by clicking the '->' button, you can drill down through and follow any of the property values to the row and table that they reference!

Using this it's possible to get at any of the data your techs, units, buildings reference. And any of the data the stuff they reference reference, and so on.

You have a back arrow so you can go back to any previous pages you've been to.

Remember anything changed here will be exported as modular updates just like anything else. Drilling down from object to object it's already possible to get to most data in the database.

Note this is an experimental new feature, it is very clunky, slow and ugly at the moment. It will improve in time and become nicer as well as more powerful.

SQL query support

Enter SQL queries into the console to quickly delete or update techs or any other object in your mod.

Or use a select statement to bring up a list of all matching entries that you can then double click to get in the row editor:

select type, cost, combat from units where type > UNIT_P and cost < 100

(more examples here: http://forums.civfanatics.com/showpost.php?p=9883193&postcount=164)

You can also type 'list' into the console to get a list of every table in the game, double click them to get a full select list of all the rows.

Duplicate rows.

Any row, from a tech to a building or unit, can be duplicated with the right click menu.

Then you can open the database row and edit your copy, changing its name, appearance, icon and stats.

Import mods!

Import a mod from a .modinfo file and have it integrate that mod's xml into the editor using that mod's proper OnModActivated ordering.

Non-destructive loading / saving (bugs aside)

When you load in XML data those changes are stored in the editor database, regardless of what data it is or whether the editor uses it itself, so will be there when it's saved out. So you can edit the XML of the editor output directly, without worrying about messing it up if you need to reload in the editor again later.

Note: The XML generation still needs some work, in cases where you do an XML line to delete, say, all American city names, load that XML in and then export, the resulting XML will have each of those cities as separate delete nodes instead of one catch all delete. I will work on making this generate more compact XML as I go.

Auto generates modular export XML files

All changes categorized in their relevant files. It also autogenerates you an anti crash ID fixinator (FinalIDReordering.sql) to put last in your action list. Unlike the general ID fix, this SQL only has tables that have been found by the editor to have non sequential IDs.

Other features


Constantly saves out three alternating filenames in the editor folder, so if you crash or mess up, you won't hopefully lose much.
Oh my god i love you!
I feel stupid asking, but how do I use this?
What do I do with the XML file?
You should read Kael's modding guide it will tell you how to make a mod.

This just saves you doing all the xml code.

Ah, I've got the xml modding down.
I'm just confused on what to do with your xml code.

You can edit the technologies in a visual interface just as they will appear in the in-game tech tree
Makes it sound like I can run your xml to get a visualization of the tech tree out of game, as apposed to constantly going in and out of the game itself to see if I messed up the tree in some way.

I'm assuming I should drop this into my mod then?
Ah, I've got the xml modding down.
I'm just confused on what to do with your xml code.

:p you put it in a mod.

Makes it sound like I can run your xml to get a visualization of the tech tree out of game, as apposed to constantly going in and out of the game itself to see if I messed up the tree in some way.

I'm assuming I should drop this into my mod then?

No it's a visual editor to make and edit tech trees like a flow chart editor, you click to add techs, and drag them around, drag connections between the techs to define which ones lead on to which, then click save and it generates the XML to put into your mod to make that mod have the tech tree you've designed. You don't need to touch the XML is kinda the point. ;D
Does this mod support uploading a mod with edited technologies? I already finished adding in technologies and I just want to delete post-Renaissance technologies without hassle.
You can load a mod's xml file with tech changes and the editor should reflect those changes regardless of whether the xml was generated by the tool, so you should just be able to load in your tech's file. You can multi-select on the load dialog by holding ctrl / shift while selecting files. Make sure your language entries for techs are loaded as well as your tech files.

the XML it generates can be put in a mod to change the tech tree, so should work in mod browser mods. Also has more chance of being compatible with other mods since the XML it generates uses update / delete etc.
Automatically. The 'delete' is done in the XML on export, it just assumes you start at the Civ 5 tree as that's what you'll start with upon enabling the mod irrespective of whether you started from the tree in the editor.

So you could, in theory, rebuild the tree from blank to be exactly the same and end up with a near empty exported XML file.

Make sure you have the latest version, otherwise you may get crashes in the mod since I added code to reset all the tech IDs.
Top Bottom