fluffy-mods / ResearchTree

Graphical research tree and queue system for RimWorld
Other
23 stars 25 forks source link

RimWorld 1.2

A better research tree.

Features

FAQ
Can I add/remove this from an existing save? You can add it to existing saves without problems. Removing this mod will lead to some errors when loading, but these should not affect gameplay - and will go away after saving.

Why is research X in position Y? Honestly, I have no idea. The placement of projects (nodes) is automated to minimize the number of crossings between dependancies (edges), and reduce the total length of these edges. There are many possible scenarios in which this can lead to placements that may appear non-optimal. Sometimes they really are non-optimal, sometimes they just appear to be so. See also the technical section below for more information.

Can I use this with mod X Most likely, yes. Added researches and their requirements are automatically parsed and the tree layout will be updated accordingly. ResearchPal implements a lot of the same functionality as this mod, and the research queue will likely not work correctly if both mods are loaded.

This looks very similar to ResearchPal Yep. ResearchPal is based on a legacy version of this mod that was kept up-to-date by SkyArkAngel in the HCSK modpack. I haven't worked on this mod in a long time, but I recently had some spare time and decided to give it another go. Feel free to use whichever you like better (ResearchPal has an entirely different layout algorithm). You can run both mods side by side to check out the different tree layouts, but be aware that the research queue will not work correctly if both mods are loaded.

Known Issues

Creating an optimal layout is a known problem in the area of Graph Theory. There's serious mathematicians who've spent years of their live trying to figure out this problem, and numerous solutions exist. The group of solutions most relevant to our research tree (a directed acyclic graph, or DAG) is that derived from Sugiyama's work. Generally speaking, these algorithms have four steps;

The final step is the hardest, but also the most important to create a visually pleasing tree. Sadly, I've been unable to implement two of the most well known algorithms for this purpose;

Contributors

Think you found a bug?
Please read this guide before creating a bug report, and then create a bug report here

Older versions
All current and past versions of this mod can be downloaded from GitHub.

License
All original code in this mod is licensed under the MIT license. Do what you want, but give me credit. All original content (e.g. text, imagery, sounds) in this mod is licensed under the CC-BY-SA 4.0 license.

Parts of the code in this mod, and some content may be licensed by their original authors. If this is the case, the original author & license will either be given in the source code, or be in a LICENSE file next to the content. Please do not decompile my mods, but use the original source code available on GitHub, so license information in the source code is preserved.

Supporters

Are you enjoying my mods?
Become a supporter and show your appreciation by buying me a coffee (or contribute towards a nice single malt).

Buy Me a Coffee

I Have a Black Dog

Version
This is version 3.17.537, for RimWorld 1.2.2753.