CleverRaven /
Cataclysm-DDA
Cataclysm: Dark Days Ahead — пошаговый симулятор выживания в постапокалиптическом мире.
Форки
4.5k
Звёзды
12.4k
Issues
0
Cataclysm-DDA — это хардкорный пошаговый симулятор выживания. Идеальная база для изучения механик процедурной генерации и сложных системных взаимодействий в open-source.
Что делает
Cataclysm-DDA — это игра про выживание в мире, который рухнул под натиском зомби, мутантов и технологий пришельцев. Ты начинаешь путь с пустыми руками и пытаешься продержаться как можно дольше, собирая ресурсы, строя убежище и модифицируя собственное тело.
Проект работает на пошаговой логике. Каждый ход — это решение, от которого зависит жизнь персонажа. Здесь нет линейного сюжета, мир генерируется процедурно при каждом запуске, поэтому каждое прохождение становится уникальным испытанием.
Как работает
В основе лежит движок на C++. Он обрабатывает сложные взаимодействия: от температуры тела и уровня радиации до механики крафта и повреждения отдельных частей автомобиля.
Система опирается на JSON-файлы для описания предметов, монстров и рецептов. Это позволяет менять баланс игры, не пересобирая основной код.
Кому подходит
Разработчикам, которые хотят изучить архитектуру сложных процедурных миров.
Тем, кто собирает AI-агента для симуляции поведения в хаотичных средах.
Фанатам глубоких механик, которые ищут базу для создания своих RPG-проектов.
Основные возможности
Пошаговая система боя с учетом множества факторов.
Глубокая система крафта: от простых инструментов до сложной электроники.
Модификация персонажа через бионику и мутации.
Строительство и кастомизация транспортных средств.
Процедурная генерация мира, где каждый город и лес уникальны.
Система выживания: голод, жажда, температура и болезни.
Как установить
Для сборки потребуется компилятор с поддержкой C++17 и система сборки CMake.
git clone https://github.com/CleverRaven/Cataclysm-DDA.git
cd Cataclysm-DDA
mkdir build && cd build
cmake ..
make -j$(nproc)Для запуска используйте полученный исполняемый файл `cataclysm`.
Как применить в своём продукте
Используй логику игры как референс для своего SaaS-проекта или бота. Структура JSON-конфигов — отличный пример того, как отделить данные от логики движка, что полезно при настройке AI-агентов.
Изучи систему крафта, чтобы внедрить похожую механику в свою браузерную RPG.
Используй JSON-файлы как базу знаний для обучения RAG-системы в своих ботах.
Адаптируй систему событий для создания текстовых квестов, управляемых LLM.
Подводные камни
Кодовая база огромна и требует времени на погружение. С++ — не самый простой язык для быстрого старта, если ты привык к Python или JS. Также будь готов к тому, что многие механики жестко завязаны на движок, поэтому их перенос в другой проект потребует серьезной переработки кода.
Частые вопросы
Можно ли использовать код в коммерческих целях?
Проект распространяется под лицензией CC BY-SA 3.0. Ты можешь использовать его, но обязан указывать авторство и распространять производные работы на тех же условиях. Всегда проверяй актуальную лицензию в репозитории перед началом работы.
Как быстро добавить новый предмет в игру?
Тебе не нужно трогать основной код. Достаточно создать или отредактировать JSON-файл в папке `data/json`. Это позволяет добавлять контент через скрипты или AI-ассистентов без перекомпиляции проекта.
Насколько сложно собрать проект под Windows?
Собрать можно через Visual Studio или MinGW. Инструкции по настройке окружения есть в вики проекта. Это потребует установки всех зависимостей, поэтому выдели пару часов на настройку среды.
Топики
Похожие репозитории
ImHex — продвинутый hex-редактор с поддержкой визуализации данных и разбора бинарных структур. Идеален для реверс-инжиниринга и отладки файлов без боли для глаз.
DevilutionX переносит классическую Diablo на современные ОС. Это готовый движок для запуска игры без эмуляторов.
Endless Sky — 2D-космосим с открытым исходным кодом. Идеальный движок для создания своей RPG или аркады в сеттинге космоса.
Среда для создания звука кодом. Позволяет генерировать музыку алгоритмами в реальном времени.
Данные обновлены: 3 июня 2026 г.