Дочерние проекты

Из игры, по мере готовности, выделяются небольшие проекты, которые можно использовать отдельно от неё.

Все проекты небольшие и имеют чётко выделенную функциональность. По каждому из них есть интересные задачи.

smart_imports — умные импорты для Python

Smart imports, анализируя код на Python, определяют что куда и под каким именем необходимо импортировать (и импортируют). Позволяют избавиться от длинных списков импортов и навести порядок в именах.

pypi

https://pypi.org/project/smart_imports/

github

https://github.com/Tiendil/smart-imports

pynames — генератор имён

Генератор имён персонажей. Может создавать имена на русском и английском. На русском выдаёт все формы имени.

pypi

https://pypi.org/project/Pynames/

github

https://github.com/the-tale/pynames

utg — генератор русского текста

Шаблонный генератор русского текста с учётом зависимостей слов и их форм. Используется для генерации всего текста в игре.

pypi

https://pypi.org/project/UTG/

github

https://github.com/the-tale/utg

deworld — генератор карты для игры

Библиотека моделирует изменения ландшафта в игре. Учитываются:

  • высота

  • температура у земли

  • температура воздуха

  • влажность почвы

  • влажность воздуха

  • качество почвы

  • направление ветра

  • растительность

Каждому параметру соответствует отдельный слой данных, который пересчитывается каджый шаг на основе данных всех слоёв предыдущего шага.

Игровые объекты могут влиять на изменение параметров, устанавливая «точки влияния», которые изменяют параметры слоя в заданной области.

За счёт подобного подхода удаётся получить «реалистичное» изменение ланшафта не сходящееся к стабильному состоянию (так как влияние игровых объектов постоянно меняется, мешая сходимости).

github

https://github.com/the-tale/deworld

questgen — генератор квестов

Генератор цепочек квестов в игре с учётом контекста (какой NPC с каким дружит или враждует, etc). Принцип работы описан на хабре.

habrahabr

https://habrahabr.ru/post/201680/

github

https://github.com/the-tale/questgen