Features
ResearchPal
- Динамически генерируемое дерево исследований на основе алгоритма компоновки графа.
- Показывает исследовательские проекты, здания, растения и рецепты, разблокированные каждым исследовательским проектом.
Проекты - могут быть поставлены в очередь, и колонисты автоматически начнут следующий проект по завершении текущего исследовательского проекта.
- Поиск исследовательских проектов по названию проекта, разблокированному рецепту и названию мода.
Навигация и горячие клавиши
- Shift + Scroll: увеличение / уменьшение
- Shift + перетаскивание влево: панорамирование
Перетаскивание средней кнопки - : панорамирование
- прокрутка: прокрутка по вертикали
- Alt + Scroll: горизонтальная прокрутка
- Щелчок левой кнопкой мыши: замена очереди на исследование (и его предпосылки)
- Shift + щелчок левой кнопкой мыши: добавить исследование в конец очереди
- Alt + щелчок левой кнопкой мыши: добавить исследование в начало очереди (добавлено этим модом)
- Удерживайте смену: включите режим числового прогресса (добавлено этим модом)
Settings
- Групповые исследования на техническом уровне : четко ли разделяют технологии по их техническим уровням (неолитический, средневековый, промышленный и т. д.) (В результате получится ГОРАЗДО более крупный и разреженный график, а также заметно более медленная генерация).
ResearchPal - Разветвленный
Этот мод полностью переписывает алгоритм макета графа ResearchPal и добавляет функции качества жизни в оригинальный ResearchPal.
В этой форковой версии:
- Большинство странных поведений исходного макета ResearchPal устранены. (например, некоторые стрелки делают развороты, когда буквально ничто не блокирует их пути, стрелки иногда проходят через другие узлы и т. д.). И, надеюсь, макет в целом выглядит лучше.
- Прокрутка колеса мыши не влияет на уровень масштабирования карты.
- Подсветка работает при любом уровне масштабирования и работает с недоступными техниками.
- Исследования различных модов могут быть объединены (см. ниже).
- Поисковые ключевые слова включают в себя названия модов, к которым относится технология.
- Во время поисков непревзойденные технологии темнеют, а недоступные технологии немного осветляются.
- При наведении курсора мыши на любого специалиста выделяются предпосылки и дети.
- При щелчке правой кнопкой мыши отображаются информационные карточки товара или рецепта.
- Щелкните правой кнопкой мыши узлы, чтобы закрепить выделение , щелкните где-либо еще или щелкните правой кнопкой мыши еще раз, чтобы открепить.
- Перетащите, чтобы добавить, удалить из очереди исследований и изменить порядок элементов в очереди.
Settings
- НЕ ИГНОРИРУЙТЕ СКРЫТЫЕ ПРЕДВАРИТЕЛЬНЫЕ УСЛОВИЯ : Исправьте проблему оригинального ResearchPal, который полностью игнорирует скрытые предварительные условия исследовательского проекта. Значение по умолчанию true и рекомендуется оставить его таким.
- Align Nodes Closer to Prerequites : эвристика будет размещать узлы ближе к их предпосылкам, а не к дочерним (это влияет на эвристику компоновки, которая ничего не гарантирует, может привести к некоторым резким изменениям). Значение по умолчанию - `false`.
- Групповые техники из одного и того же мода : ставьте техников из модов отдельно от ванильных техников. Значение по умолчанию - `true`.
(В настоящее время все технологии ванильной расширенной серии сгруппированы вместе (на основе названия мода "Vanilla XXX Expanded - YYY) с включенной этой опцией. Это только временное решение группировки модулей). - Минимальное количество отдельных техников мода : при включенной опции выше он определяет минимальное количество техников определенного мода, чтобы его можно было разместить отдельно от ванильного дерева техников (так что моды, добавляющие очень мало техников, все равно будут размещаться вместе с основным деревом). Значение по умолчанию - «5» (Таким образом, мод, добавляющий 5 или более техников, будет сгруппирован и размещен отдельно).
- Поиск по описаниям : учитывает ли функция поиска описания техников. Значение по умолчанию - false.
- Создание макета задержки : Создайте макет при первом использовании дерева исследований, а не при загрузке игры. Значение по умолчанию - `false`.
- Создание макета фона : Создайте макет на фоне при загрузке игры. Текущее значение по умолчанию - «false», но, вероятно, в будущем оно будет «true», если работает должным образом.
- Всегда отображать прогресс : Всегда отображать остатки текущих исследовательских проектов. Не влияет на уменьшение масштаба дисплея.
Несовместимость
- WikiRim / HelpTab: Исходная интеграция больше не работает.
- Любой мод, который налагает специальные ограничения на разблокировку, кроме ванильных ограничений: Researchpal, скорее всего, обойдет эти ограничения.
FAQ
Сохранить совместимость? Вы можете без проблем добавить его в существующие сохранения. Удаление этого мода вызывает некоторые ошибки при загрузке, но они не должны влиять на игровой процесс - и исчезнут после сохранения.
Почему исследование X находится в позиции Y? В основном это определяется эвристическим алгоритмом, что означает, что в целом мы стараемся изо всех сил угадать лучшее положение технологии, но на самом деле не знаем, почему они в конечном итоге там находятся. Подробности см. ниже.
Производительность загрузки? Как сообщается, намного лучше, чем оригинальный ResearchPal, но дайте мне знать, если вы считаете, что мод вызывает серьезные проблемы с производительностью загрузки. Вы также можете попробовать включить опцию генерации фона и посмотреть, улучшатся ли ситуации.
Это очень похоже на ResearchTree и ResearchPal Сначала было дерево исследований Fluffy, затем NotFood и ResearchPal Skyarkangel - его вилка, и этот мод является вилкой последнего. Мы все в основном используем один и тот же фреймворк пользовательского интерфейса (предположительно созданный Fluffy), так что, конечно.
Технические материалы:
Начнем с цитаты:
Fluffy
Почему исследование X находится в положении Y? Честно говоря, понятия не имею.
Новый алгоритм в основном основан на оригинальной работе
Сугиямы с некоторыми моими личными настройками, которые:
1. Разделяет узлы в графе на слои.
2. Применяет эвристики, пытаясь минимизировать общее количество пересечений стрелок (кромок) между слоями и определяет порядок узлов в слоях.
3. С фиксированным порядком узлов применяет эвристику для размещения узлов в каждом слое рядом с ними (предками или детьми).
Возможно, вы не знаете, о чем я говорю, но основной алгоритм имеет два важных значения:
- Он НЕ гарантирует абсолютную минимизацию пересечений (еще хуже, он вообще не говорит, насколько далек от оптимального будет результат). Узлы все еще могут располагаться в явно неоптимальных позициях.
- Он (почти) ничего не говорит об общей длине ребер. Таким образом, края могут немного объехать, чтобы добраться до пункта назначения.
Он сам по себе работает хуже, чем первоначально реализованный алгоритм в целом, поэтому я добавил простой дополнительный шаг после шага 2, чтобы дополнительно настроить общую длину ребра и количество пересечений, но я все еще не считаю, что результат близок к оптимальному.
После шага 3 я добавил дополнительный шаг, чтобы настроить положение некоторых узлов на строго лучшие позиции без ущерба для основной идеи алгоритма.
github репозиторий этого мода .
Пожалуйста, не стесняйтесь вносить
технические предложения алгоритму, если у вас есть идеи, как его улучшить.
Обо мне
Я студент информатики, который почти не имеет представления о моддинге Rimworld в целом и хардкорном программировании на c#. Поэтому, если будут ошибки или проблемы совместимости помимо основного алгоритма, я сделаю все возможное, чтобы решить их, но я не могу обещать ничего, кроме своих возможностей.