Skip to content

Командный проект. ПИ 2021. КИ21-17/1Б. Мочалов Семен, Шенберг Аркадий.

License

Notifications You must be signed in to change notification settings

shasoka/txtQUEST

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Командный проект. Текстовый КВЕСТ 🕹️

1. Структура проекта

📁 Техническая составляющая проекта содержит три пакета: AI, TUI и MAP (генератор карты). Точка входа находится в модуле __main__.py пакета TUI (на самом деле это не совсем так; точка входа, которая должна начинаться с if __name__ == '__main__' нужна лишь для запуска .bat, как альтернативный вариант запуска; в релизной версии точкой входа является функция main(), которая вызывается из модуля __main__.py при запуске игры из CMD по команде).

----...\
    |
    |----MAP\  # Генератор карты
    |    |----AI\  # Генератор описаний (нейронная сеть)
    |    |    |----__init__.py
    |    |    |----text_generator.py
    |    |    |----data    
    |    |    |    |----char_to_idx.pickle
    |    |    |    |----entire_model.pt
    |    |    |    |----idx_to_char.pickle
    |    |    |    |----text.txt
    |	 |----__init__.py
    |    |----map_generator.py
    |    |----data
    |    |    |----map.json
    |
    |----TUI\  # Текстовый пользовательский интерфейс
    |    |----saves\
    |    |    |----.gitkeep
    |    |----data\
    |    |    |----helpstr.json
    |    |    |----intro.json
    |    |    |----intro.jpg
    |    |    |----lose.jpg
    |    |    |----outro.jpg
    |    |----__init__.py
    |    |----__main__.py  # Точка входа
    |    |----intro.py
    |    |----lose.py
    |    |----main_hero_class.py
    |    |----map_output.py
    |    |----outro.py
    |    |----quests.py
    |    |----words.py
    |
    |----setup.py  # Модуль для сборки и установки проекта
    |----run.bat # Запуск игры

2. Об этой игре

🎲 Текстовая РПГ по мотивам мастера ужасов Говарда Лавкрафта 💀

Сюжет

📕 Игровой сюжет основывается на произведении «Храм» (первая публикация - сентябрь 1925 года):

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

Это атмосферная, стильная, жуткая и затягивающая история, после которой в Вас точно проснется желание погрузиться в мир мистики и ужасов Лавкрафта 🌊

После прохождения пролога, персонаж попадает в таинственный ХРАМ, но о том, что произойдет дальше Вам предстоит выяснить самим...

📕 Прочесть произведение Вы можете здесь (время прочтения ~30 минут).

Механики

🎲 1. Рассудок

Основная характеристика персонажа. Очень важный аспект игры. При перемещении по ХРАМУ с некоторым шансом шкала в нижней части экрана может понизиться. Чем ниже рассудок, тем выше шанс попасть в неприятности. Ужасный головные боли и голоса будут препятствовать Вашим исследованиям. Будьте бдительны.

❔ 2. Активности

Способ повышения уровня рассудка. При низком уровне рассудка с шансом в 10% Вы можете встретить мини-игру, результат которой либо повысит заветную шкалу, либо понизит ее. Все в Ваших руках.

🌀 3. Сюжетная линия

В некоторых локациях Вы можете наткнуться на квесты, движущие вас по сюжету. Состояние текущего квеста всегда видно в соответствующем баре.

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

📄 4. Самособирающаяся карта

ХРАМ представляет собой уникальную обширную карту размером 10x10 клеток. Каждая новая игровая сессия - новая версия карты, которая генерируется буквально у вас под носом. Составление карты искусственным интеллектом задача не из простых, этот процесс занимает от 20 до 25 секунд. Если вдруг карта не успеет сгенерироваться, Вам будет предложен вариант прошлой карты.

На момент релиза проекта все ключевые предметы и квесты зафиксированы на карте и не перемешиваются.

🔧 5. Игровые предметы

  • Люмен

    Ваш союзник. Едва ли светящееся нечто, что помогает Вам не терять рассудок в кромешной темноте. Люмен гарантирует, что шкала рассудка не опустится ниже текущего значения. Однако, даже союзники могут предать Вас. С шансом в 15% люмен может пропасть из инвентаря. Запасайтесь светом!

  • Прах

    Один из сюжетных предметов. Испол%з** №@#-_/ . . . .

  • Статуя

    Один из сюжетных предметов. Исп"льз** №>#-</ . . . .

Более подробно о каждом предмете Вы узнаете в процессе игры.

📁 6. Сохранения

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

3. Галерея скриншотов

Нажимайте на изображения, чтобы разглядеть их получше.

Кадр из приветственного интро

Главное меню

Игровая справка

Меню загрузки

Успешное выполнение сюжетного задания

Мини-игра

Встреча с новым предметом

Поражение

Кадр из аутро в случае проигрыша

4. Почему ХРАМ?

Вы когда-нибудь видели что-то подобное? Нет, даже не так... Вы когда-нибудь видели полноценную игру с TUI в CMD Windows, да еще и с нейронной сетью, генерирующей описания локаций!? Мы сомневаемся в этом.

Однозначно ХРАМ стоит Вашего внимания.

Увидеть это собственными глазами и потргать собственными руками такой интересный продукт - очень крутой опыт!

5. Что говорят кураторы

Никита Евгеньевич

Блин, круто! Очень круто. Прекрасно.

Павел Викторович

Неплохо-неплохо. :godmode:

Дмитрий Скоробогатов

Я ЖДАЛ ХРАМ ДВА ГОДА! :rage1:

6. Системные требования и установка

💻 Кратко о системных требованиях: ХРАМ не требователен к ресурам. Игра запуститься на любом компьютере под управлением Windows с установленным Python (>= 3.7), если следовать нашей простой инструкции. :trollface:

💻 Установка. Игра выгружена на сервер PyPi.org (ссылка ведет на страницу загрузки архива пакета).

Убедитесь, что Python добавлен в PATH!

1. Устновка через CMD.

  1. Вы можете загрузить пакет архивом .tar.gz и установить его при помощи pip:
> pip install ~/TEMPLECMD-1.0.tar.gz
  1. Или же установить пакет без загрузки из терминала, если Вам, конечно, так удобнее:
> pip install TEMPLECMD
  1. Команда pip install помимо игры установит и все необходимые зависимости.

ВАЖНО: Вышеупомянутый pip install не установит один важный форк библиотеки npyscreen, который обеспечивает корректную работу этой библиотеки на Windows, поэтому, вслед за установкой пакета установите и форк, находящийся по адресу https://github.com/shasoka/npyscreen. Для этого воспользуйтесь командной:

> pip install git+https://github.com/shasoka/npyscreen
  1. После установки для запуска игры Вам всего лишь необходимо запустить CMD в любом каталоге на вашем компьютере и:
> temple!

2. Запуск с помощью .bat файла

Вы можете загрузить исходный код проекта и найти в корневой папке файл run.bat. Он не устанавливает необходимых зависимостей, но запускает игру по вашему нажатию. Если Вы обладаете достаточным опытом, или если пакет не устанавливается корректно, этот способ для Вас.

Не забудьте прочесть справку перед игрой (а еще чекбокс Свойства консоли -> Терминал -> Отключить прокрутку вперед должен быть пустым 😄)

Готово! Добро пожаловать в ХРАМ!

7. Разработчики

  • 👤 Мочалов Семен. КИ21-17/1Б. (https://vk.com/semen397) Ответственный за работу нейронной сети и основных игровых механик.
  • 👤 Шенберг Аркадий. КИ21-17/1Б. (https://vk.com/shxnbxrg) Ответственный за текстовый интерфейс и визульную составляющую.

About

Командный проект. ПИ 2021. КИ21-17/1Б. Мочалов Семен, Шенберг Аркадий.

Topics

Resources

License

Stars

Watchers

Forks