Research Tree - RimWorld мод

Автор: Fluffy

Описание мода «Дерево Исследований» на русском языке

Мод добавляет в игру улучшенное дерево исследований.

Характеристики

  • Автоматически генерируется, чтобы обеспечить максимальную читаемость.
  • Показывает исследовательские проекты, здания, растения и рецепты, разблокированные каждым исследовательским проектом.
  • Исследовательские проекты могут быть поставлены в очередь. Колонисты автоматически начнут исследовать следующий проект, когда исследование текущего будет завершено.
  • Добавлены функции поиска для быстрого поиска исследовательских проектов.

Часто задаваемые вопросы

Могу ли я добавить/удалить этот мод из существующего сохранения?

Вы можете добавить его в существующие сохранения без проблем. Удаление этого мода приведет к некоторым ошибкам при загрузке, но они не должны влиять на игровой процесс — и исчезнут после сохранения.

Почему исследование X находится в положении Y?

Честно говоря, я понятия не имею. Размещение проектов (узлов) автоматизировано, чтобы минимизировать количество пересечений между зависимостями (гранями) и уменьшить общую длину этих граней. Существует много возможных сценариев, в которых это может привести к тому, что места размещения могут оказаться неоптимальными. Иногда они действительно неоптимальны, иногда они просто кажутся таковыми. Для получения дополнительной информации см. информацию ниже в техническом разделе.

Могу ли я использовать этот мод с модом X?

Скорее всего, да. Добавленные исследования и их требования автоматически анализируются, и компоновка дерева с исследованиями будет соответственно обновляться.

ResearchPal реализует много тех же функций, что и этот мод, и очередь исследований, скорее всего, не будет работать правильно, если будут загружены оба мода.

Этот мод выглядит очень похоже на ResearchPal!

Ага. ResearchPal основан на устаревшей версии этого мода, которая была обновлена ​​SkyArkAngel в его пакете модов HCSK. Я давно не работал над этим модом, но недавно у меня появилось свободное время, и я решил попробовать сделать его еще раз.

Не стесняйтесь использовать то, что вам больше нравится (у ResearchPal совершенно другой алгоритм компоновки). Вы также можете запустить оба мода бок о бок, чтобы проверить различные макеты деревьев с исследованиями, но имейте в виду, что очередь исследований не будет работать правильно, если оба мода загружены.

Известные проблемы

  • Вертикальные метки для технических уровней отображаются в неправильном месте, если масштаб пользовательского интерфейса не равен 1. Это известная проблема для меня, такая же проблема появляется в моем моде Work Tab. Как только у меня будет рабочее решение, я исправлю это.
  • Макеты не идеальны, если у вас есть опыт работы с макетами графов — пожалуйста, не стесняйтесь смотреть на исходный код и/или реализовывать для меня алгоритм компоновки Sugiyama, который работает на C# .NET 3.5 (Mono 2.0).

Технический раздел

Так как же все это работает?

Создание оптимального макета является известной проблемой в области Graph Theory. Есть серьезные математики, которые потратили годы своей жизни, пытаясь выяснить эту проблему, и существует множество решений. Группа решений, наиболее подходящих для нашего дерева исследований (направленный ациклический граф, или DAG), является производной от работы Sugiyama. Вообще говоря, эти алгоритмы имеют четыре шага:

  • Наслоение. Устанавливаются координаты х узлов, следя за тем, чтобы последующее исследование всегда находились в более высокой позиции х, чем любая из его предпосылок, это довольно простая эвристика.
  • Уменьшение пересечения. Задаются координаты узлов так, чтобы было достигнуто минимальное количество пересечений соединений между узлами.
  • Уменьшение длины граней. Устанавливаются координаты узлов так, чтобы длина соединений между узлами была минимальной.
  • Горизонтальное выравнивание. Устанавливаются координаты узлов таким образом, чтобы соединения между узлами были максимально прямыми.

Последний шаг — самый сложный, но и самый важный для создания визуально приятного дерева. К сожалению, я не смог реализовать два самых известных алгоритма для этой цели.

  • Brandes, U., & Köpf, B. (2001, сентябрь). Быстрое и простое назначение горизонтальных координат.
  • Eiglsperger M., Siebenhaller M., Kaufmann M. (2005). Эффективная реализация алгоритма Sugiyama для рисования многослойных графов. К счастью, этапы уменьшения пересечения и уменьшения длины граней частично достигают целей последнего этапа. Окончательный граф не так хорош, как мог бы быть, но все же довольно хорош — в большинстве сценариев.

Соавторы

  • Templarr: русский перевод.
  • Temp.
  • Су Junmin: корейский перевод.
  • rw-chaos: немецкий перевод.
  • 53N4: испанский перевод.

Лицензия

Весь оригинальный код в этом моде лицензируется по лицензии MIT. Делайте, что хотите, но укажите на меня кредиты. Все оригинальное содержание (например, текст, изображения, звуки) в этом моде лицензируется по CC-BY-SA 4.0.

Части кода в этом моде, а также некоторые материалы могут быть лицензированы их оригинальными авторами. Если это так, то первоначальный автор и лицензия будет указана либо в исходном коде, либо в файле «LICENSE» рядом с содержимым. Пожалуйста, не декомпилируйте мои моды, но используйте оригинальный исходный код, поэтому информация о лицензии в исходном коде сохраняется.

Версия

Это версия 3.4.494 для RimWorld 1.0.2150.

Description of the mod in English

A better research tree.

Features

  • Automatically generated to maximize readability*.
  • Shows research projects, buildings, plants and recipes unlocked by each research project.
  • Projects can be queued, and colonists will automatically start the next project when the current research project completes.
  • Search functionality to quickly find research projects.

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

  • The vertical labels for tech levels are drawn in the wrong location when UI scale is not 1. This is a known problem for me, the same issue appears in my Work Tab mod. As soon as I have a working solution, I’ll go and fix it.
  • Layouts are not perfect, if you have experience with graph layouts — please do feel free to look at the source code, and/or implement a Sugiyama layout algorithm for me that runs in C# .NET 3.5 (Mono 2.0).

Technical

So how does this all work?

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;

  • Layering — set the x coordinates of nodes, enforcing that follow-up research is always at a higher x position than any of its prerequisites, this is a fairly straightforward heuristic.
  • Crossing reduction — set the y coordinates of nodes such that there is a minimal amount of intersections of connections between nodes.
  • Edge length reduction — set the y coordinates of nodes such that the length of connections between nodes is minimal.
  • Horizontal alignment — set the y coordinates of nodes such that the connections between nodes are straight as much as possible.

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;

  • Brandes, U., & Köpf, B. (2001, September). Fast and simple horizontal coordinate assignment.
  • Eiglsperger M., Siebenhaller M., Kaufmann M. (2005) An Efficient Implementation of Sugiyama’s Algorithm for Layered Graph Drawing. Luckily, the crossing reduction and edge length reduction steps partially achieve the goals of the final step. The final graph is not as pretty as it could be, but it’s still pretty good — in most scenarios.

Contributors

  • Templarr: Russian translation.
  • Temp.
  • Suh. Junmin: Korean translation.
  • rw-chaos: German translation.
  • 53N4: Spanish translation.

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.

Version

This is version 3.4.494, for RimWorld 1.0.2150.

Steam ID: 1266570759.

Скачать RimWorld мод "Research Tree"

По прямой ссылке вы скачаете последнюю версию RimWorld мода "Research Tree", который был загружен непосредственно из Steam. Последнее изменение мода было произведено разработчиком в мастерской Steam: 24.01.19. На сайте «ModsK» мод был опубликован/обновлен: 12.09.19 (в этот же день было произведено обновление Steam данных на этой странице).

Другие моды автора - Fluffy

Другие моды, похожие на "Research Tree"

При каждом нажатии на ниже представленную кнопку, будут выводиться похожие моды на "Research Tree". Также для удобства поиска используйте ссылки на теги, которые расположены выше (в конце описания мода).

Чтобы приступить к поиску, введите ваш запрос и нажмите клавишу «ENTER»