IndieStone - Visual Tech Tree Editor

Can I borrow your Genie for about 3 wishes? :p


When I wake up tomorrow I will download this and give it a try.

Did you implement adding Eras yet?
 
yep they're in completely, or rather they were... but in implementing the new conflict system has kinda created a bunch of bugs / broken things that need fixing before I can release.

The conflict system is rather a fundamental change in the underlying architecture of the editor. The new system is going to be shared between all our tools. It effectively creates a background database for the entire base Civ 5 XML structure when you load it, and then copies that and it is the copy which represents your mod. Any XML files you load, or changes you make will be applied to the copy of the database directly, then it's the differences between this and the original db that generate the XML that's output and determine any conflicts.

It effectively means that every tool we do from here on in will be fully aware of all units, buildings, techs and everything else in the game, and also any additions / changes or removals of any mod XML loaded in.

This means a future version of the Tech Tree editor should allow for you to select units / buildings / abilities / builds etc to be unlocked with techs since it's now aware of them all.
 


:D

Now features drag and drop for units / buildings etc between different techs to reassign their prerequisites. :) Unassigned things are in the palette on the right and you can just drag them off and on techs as you like.

Also...



Select the portraits from the atlas images, soon to support importing from png and automatically creating a dds for your mod's icons. :)
 
lol.. I can.. wait...

"Patience, yea, yea, how long will that take?" :p

Hmmm.. request... since you're adding all this 'drag and drop' stuff... ho about adding a 'drag and drop' of the sound resources? or some drop down list selector where they're listed... It's nice blank techs are populated with Agri... but it gets old retyping when choosing something other than agri...

reminds me (not related to this), has there been any luck with custom music adding or importing from civ 4 perhaps?

Anywho... I'll wait... patiently... mostly... :p
 
Next release will feature drag and drop for units / buildings etc between different techs to reassign their prerequisites.

You, sir, are amazing. I'm almost afraid to do any work on my mod since, more than likely, you'll come out with a way to do it 15 times faster in a couple days ;)

It looks like you're working on a pretty comprehensive mod tool here. How far are you planning on extending it?
 
It looks like you're working on a pretty comprehensive mod tool here. How far are you planning on extending it?

Basically to the level where you hardly ever have to touch the xml. ;D

now units / buildings etc are in the system, I'll allow them to be edited/created in the same way as techs. Then tie it in with the Nexus Buddy stuff so you could import FBX files and create units / wonders etc, import their icon images then drag them onto a tech and save.

Of course lua / source code changes will never be made any easier.

PS: Drag and drop is now working. Weee! It's so therapeutic just sitting randomly dragging units/buildings between techs.
 
Hmmm.. request... since you're adding all this 'drag and drop' stuff... ho about adding a 'drag and drop' of the sound resources? or some drop down list selector where they're listed... It's nice blank techs are populated with Agri... but it gets old retyping when choosing something other than agri...

Will look into it. :)
 
Oh and, does the drag and drop of units/buildings, etc include wonders (I suppose it would since they're tech buildings eh?) and 'allows x terrain improvement', and 'reveals x resource' type things as well?

er, I guess those 2 items are more 'tech features' category of things.. *shrug* anywho, just asking. :)

*ponder* for a future version, could you see maybe adding a 'scan directory/xml files for x, y, z items' to add into this for adding/moving things about?

i.e. someone makes a '200 unit mod' and you tell your program here 'hey, go check this dir for all xml files, if any of them have units, toss em into the mix to be moved around!' (same for techs/buildings & wonders/etc).

just thinking out loud here... while not a true 'mod merger', it would make life somewhat easier for people making TC's... hell, it'd make it easier for people to little changes too... snag a unit from here, snag a wonder from there... etc. :)

okay, I'll stop now... too many ideas in me wee brain atm with some of the possibilities of this. :p

And thanks again for making this awesome tool (now get back to it you! lol)
 
It pretty much does that already. ;D It mirrors the game's database exactly, and that database is updated by the xml in the same way as the game's database is, so you can just load XML files up at will and it will integrate that xml's changes into the editor's database and reflect the changes there and then, be that tech tree changes or additional / removed units.

re: 'allow x terrain improvement' etc. Not yet, but it will do. :)
 
This is amazing! :eek:

So how does it work, it is an extension for ModBuddy? Or a standalone application? :)
 
It pretty much does that already. ;D It mirrors the game's database exactly, and that database is updated by the xml in the same way as the game's database is, so you can just load XML files up at will and it will integrate that xml's changes into the editor's database and reflect the changes there and then, be that tech tree changes or additional / removed units.

re: 'allow x terrain improvement' etc. Not yet, but it will do. :)

Hmm... let me be more specific, I don't think I was...

What I was thinking (and didn't explain very well) was that it would do something like this;

1. Load base xml files from civ install (i.e. clean files - in theory, if no one has changed them)

2. Load 'Mod Files' - Choose/Load an XML file NOT base/core file and reads the changes in that file.

That's the tricky part - Either it would need to apply those changes in your editor for ease (probably the easier way) OR have the items loaded from the mod as 'options' to use THEN writing whatever changes you make (Preferred?)

Example 1;
1. Load base/core civ5 xml files.
2. choose 'Mod-Add 5 units'
3. Your program applies the '5 units' from the mod, making any/all changes as outlined in the xml of the mod.
4. use your program.

Example 2;
1. Load base/core civ5 xml files.
2. choose 'Mod-Add 5 units'
3. Your program makes the '5 units' available from the mod to be used.
4. I make some changes to the base/core files and decide to add only 2 of the '5 units' from the mod.


The difference is applying a mod wholesale up front vs only writing what I want from a mod.

For most people it won't be a noticeable thing, but those working on advanced mods (or mod merging perhaps) will notice what seems to be a tiny thing like that.

Maybe Units wasn't the best example, maybe prereq's would have been better (looking at your image in the 1st post of page 2 as inspiration) or buildings, but I hope I got my idea across better this time.

Perhaps both options?

Or none, it is your baby after all... I'm just tossing ideas at you. :)

Either way, I plan to use the hell out of your app. :D
 
Hmm... let me be more specific, I don't think I was...

What I was thinking (and didn't explain very well) was that it would do something like this;

I understood you perfectly. :p

How it works now (bugs and missing bits aside)

1. You load the editor, it loads in the base unmodded database in the background. The base database is NEVER changed, it creates a duplicate and the duplicate is what everything that happens thereafter happens to.

2. You add a few techs, they are added to your duplicate database. You delete a unit, it's deleted from your duplicated database.

3. You spot a mod called '10 new units, 6 new techs and 30 new wonders!' and unpack it on your harddrive.

4. You go to the open dialog, and go into the XML directory and multiselect 'UnitA.xml', 'UnitB.xml' and 'UnitC.xml'

5. UnitA, UnitB and UnitC appear on the toolbox palette as unassigned units after the xml files you loaded are integrated to your duplicated database. As long as the xml your loading up is separated sensibly, then you can load or as much of the mod as you like.

6. You open UnitA's properties, change his icons and stats.

7. You drag the units onto the techs you want to unlock them.

8. You save. It pops up the conflict dialog, saying that UnitA goes obsolete when it hits one of the techs from the other mod that you've not loaded into YOUR database, and gives you a drop down box of all techs in your mod, to ask if you'd like to reassign it to.

9. It pops up another warning, saying that UnitB upgrades to UnitD who's not in your mod, and gives you a drop down of all the units in your modded game to select what he upgrades to instead.

10. Once all conflicts have been resolved, it compares your duplicated database against the unchanged base one, and based on the differences it generates you (at the moment one, but ultimately a few) XML files with just the changes necessary to take the unmodded game to 'where it is now' in your database. 'Where it is now is a combination of stuff you've loaded and stuff you've edited, added and deleted in the editor, it's all completely transparent.

Once a mod, or part of a mod, is loaded into the editor, then it's ties to that mod end, it's just changed data in your updated database to be saved out as your mod.
;D
 
Nexis? Why not ModBuddy?
 
Top Bottom