5

Are there any open-source instruments with easy-to-write (maybe YAML-like) syntax which allow to describe tech tree in text file and (preferably) render it by some diagram engine like graphml(yEd) or graphviz?

Not sure this is suitable SE community for such question but don't know where to ask it anyway.

UPD: I tried to use WYSIWYG diagram editors (yEd) for this. But I find very frustrating to edit tech trees in such programs since you need to repeatly type in labels like "cost:/effect:" or scroll over multiple lines to change tech cost, for example. I want to see and edit tech tree data in a plaintext form which is most convenient for me (kind-of software engineer and computer geek, eh)

3
  • 2
    Is this a worldbuilding question? @Joachim is right, it's a perfect question to ask at Software Recommendations. I can kinda see a worldbuilding application, but as I read the answers, I don't see a worthwhile addition to our list of worldbuilding resources. I think Square Cubed Law is right, this Q would have application to the process of writing a computer game - but not so much to the process of worldbuilding (unless there's software the average non-programmer could use?).
    – JBH
    Commented Jul 4, 2022 at 6:26
  • 3
    This probably belongs on GameDev.SE, unless your query is very specifically about only the content of your tree.
    – Tom
    Commented Jul 5, 2022 at 1:55
  • Well, didn't even know such hub exists. Thanks.
    – RollingHog
    Commented Jul 5, 2022 at 22:00

4 Answers 4

4

Visio with a UML Class Project

The Square-Cube Law is inherently right that you need a UML Class Project in a flowchart program but since the OP seems unconvinced with that answer, here is an example that only took about 2-3 minutes to make in Visio, and most of that time was spent making up the example text. Make a template with all the data fields you want, and then copy-paste it to make new techs. It's super easy, barely an inconvenience.

strong text

If you insist on pure text solutions, there are many markup languages to choose from like XML or JSON. They will generally be more time consuming though than using a flowchart program.

4
  • 2
    I can suggest Plantuml as a plain text format for UML diagrams.
    – sdfgeoff
    Commented Jul 4, 2022 at 10:22
  • Sadly I don't own Visio but class-diagram in PlantUML is very close to what I was looking for. Thanks a lot, will try it. Marking this as an answer for now.
    – RollingHog
    Commented Jul 6, 2022 at 1:23
  • @RollingHog The important thing here is the "UML Class Project" part. There are many flowchart programs that let you do UML Class projects, Visio is just one such program. Also, if you have Office 365, then you may have Visio and just don't realize it.
    – Nosajimiki
    Commented Jul 6, 2022 at 14:14
  • Well yes, the main thing here is that you can use UML classes. Marking this as an answer I guess.
    – RollingHog
    Commented Jul 7, 2022 at 18:48
4

Recommend @The Squar-Cube Law approach - flow charts, but from technological tree point of view - technologies are not just chain one after another, how it is done in many games very primitive dependencies, in reality it has more complex codependance - what it requires and what it provides. So as versioning is important, as an example - Glass making v9.5.6 depends on a lot of stuff, while glass making v0.0.1 it depends on few, what they provide is also different.

In that sense more closer way is to imagine it like linux packaging dependencies, so as linux package managers more suitable to keep track of such things(and other managers of that kind).

Have seen few open tech projects/initiatives and one of those used wiki to record technologies and their dependencies and what it provides - not such a shabby way to do that.

In that sense JSON is sufficient to keep track, and descriptions and dependencies, and what it provides etc, so as any markup language really.

Then use some python(as an example) to show it in some sort of flow chart/tag cloud (will require googling, but seen not such bad visualisations of that kind, so stuff is out there)

So depends on complexity, low/moderate complexity a flow chart can be quite good, especially when there are different applications under mind mapping name, so as flow charts online etc.

PS

  • can't comment due old browser so this way

  • Will to be honest I planned a pretty default tech tree without such realism. Would be happy to know how one can find mentioned "tech wiki" still. – @RollingHog

Example of article from wiki I mention - https://wiki.opensourceecology.org/wiki/Steam_Engine

  • and no, sadly mind maps don't allow to place all data I want into node. – @RollingHog

You can, same as json and other markup languages do not have any magic ingredient for your goal but can be use to describe, so as using template approach(manual way, copy paste as an example) may be(depends on your tastes and goal) be a solution there.

And speaking of which, manual approach, idk if you knew but most of internet tech was done trough RFC plain text files, which have loosely defined formatting, so it needs adapting to exiting solution/tools this or another way. And in that sense bunch of text file my be all you need plus some script to show the connection, generate connection diagramm.

Idk, I did simple tech stages diagramms in kde Dia(not the best tool, but simple so passable as a tool for my case back then) which is flowchart drawing tool, for simple cases work well, but I didn't have some special wishes and such, just relationship between blocks on a timeine, and time line was represened by 2d space of that diagram because I decieded/defined it in that way for my self, not because it is a typical use of it.

3
  • Echoing the use of mind maps, there are several out there that are free and some will export out text files or outlines. Mind Meister is pretty nice. Other Concept mapping software includes Cmap cmap.ihmc.us which I think has a free version.
    – UVphoton
    Commented Jul 4, 2022 at 21:17
  • Wll to be honest I planned a pretty default tech tree without such realism. Would be happy to know how one can find mentioned "tech wiki" still.
    – RollingHog
    Commented Jul 6, 2022 at 1:31
  • @UVphoton and no, sadly mind maps don't allow to place all data I want into node.
    – RollingHog
    Commented Jul 6, 2022 at 1:32
3

As someone who writes software for a living, I recommend steering away from tools that require you to code to achieve that UNLESS you want to get that tech tree into a game or something.

If you want a static tree, you can use the UML tools from draw.io to design the tree. draw.io is a free online diagramming tool that takes just a few minutes to make sense of. It's all drag and drop. Maybe start with a flow diagram and you can have a sensible tech tree in really short time.

3
  • Maybe my question is a little unclear. Edited.
    – RollingHog
    Commented Jul 4, 2022 at 2:31
  • 2
    @RollingHog The whole point of UML flowcharts is that it allows you to treat each element as an object with properties. You can make one as a template with all the properties you need, then just copy-paste it to make the 100s of techs you need. I don't know anything about draw.io, but I know in Microsoft Visio, you can make a UML class project, and do what you are asking very easily.
    – Nosajimiki
    Commented Jul 4, 2022 at 5:35
  • As I noted above I don't own Visio but the idea to use UML classes is probably the best and I gonna try it.
    – RollingHog
    Commented Jul 6, 2022 at 1:26
2

Notepad++

I guess everybody knows Notepad (from Windows). Basic text and nothing else. Notepad++ starts with this basic text, but has many tools available to help write and organise code. It has formatting to colour coding standard for several types and with the marketplace you can add some extra.

For the tree you can use any form of xml (xml, html (websites!), xhtml are well known) or for example JSON.

Notepad++ and examples on the internet can help you a great deal. In xml for example you can write <nodename>. On the closing arrow it'll add </nodename> immediately behind it, so you only have to write the value between them.

In my experience I prefer JSON, but I suspect there's more than these (mainline) ways to setup such trees.

From here I suspect it isn't very difficult to get something to visualise it into a tech tree. There's probably something on the open market to use. The whole advantage from these things is that you can simply add or remove some data and afterwards it builds it up again via the predefined rules. We can see this in websites. The predefined rules help placement, what it is, how it acts, visualise data or pictures... anything a website needs to do.

1
  • Not exactly what I meant. I know and use notepad++, but "visualisation" is important here.
    – RollingHog
    Commented Jul 6, 2022 at 1:11

Not the answer you're looking for? Browse other questions tagged or ask your own question.