Найти в Дзене
Ivan Inby. Про ИИ и ИТ

Как начать приключения в мире Fallout, Warhammer 40000 или Дюны с помощью текстовой RPG игры на ChatGPT

В свое время я начал смотреть сериал "Очень странные дела" я остался сильным под впечатлением, особенно от того, как атмосферно ребята играют там подземелья и драконы (Dungeons & Dragons). А еще, где-то на подкорке у меня теплились воспоминания о текстовых RPG, в которые я играл в детстве. И, совсем недавно, я встретил пост в телеграм, что с помощью ChatGPT можно играть в текстовые RPG по любой вселенной, а нейросеть выступает в качестве гейм мастера. Эта тема меня зацепила и я начал разбираться как это сделать. Если вы еще не зарегистрировались в ChatGPT, то исправить это можно прочитав мою статью Необходимо передать в ChatGPT промт, в котором задаются правила игры и алгоритм поведения нейроной сети в качестве гейм-мастера. Правила игры и алгоритм поведения можно задать любые в зависимости от ваших предпочтений. Промт вы найдете в конце статьи. Я нашел в сети качественный промт и перевел его на русский язык, что бы его легко можно было адаптировать под себя. В промт я добавил возможно
Оглавление

В свое время я начал смотреть сериал "Очень странные дела" я остался сильным под впечатлением, особенно от того, как атмосферно ребята играют там подземелья и драконы (Dungeons & Dragons). А еще, где-то на подкорке у меня теплились воспоминания о текстовых RPG, в которые я играл в детстве.

И, совсем недавно, я встретил пост в телеграм, что с помощью ChatGPT можно играть в текстовые RPG по любой вселенной, а нейросеть выступает в качестве гейм мастера. Эта тема меня зацепила и я начал разбираться как это сделать.

Если вы еще не зарегистрировались в ChatGPT, то исправить это можно прочитав мою статью

Как зарегистрироваться в ChatGPT в России в 2024 году
Нейросети на Apple19 мая 2024

Как это работает

Необходимо передать в ChatGPT промт, в котором задаются правила игры и алгоритм поведения нейроной сети в качестве гейм-мастера. Правила игры и алгоритм поведения можно задать любые в зависимости от ваших предпочтений. Промт вы найдете в конце статьи.

Подготовка к игре

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

Стоит отметить, что генерация изображений доступна в моделях GPT-4 и GPT-4o. О том, как получить к ним доступ можно узнать из моих статей.

Кроме того в промт я добавил возможность выбора следующих вселенных

  • Мир по мотивам Fallout
  • Мир по мотивам Warhammer 40000
  • Мир по мотивам книг Дюна
  • Мир по мотивам Cyberpunk 2077
  • Мир по мотивам Skyrim.

Играем

Отправляем нейросети промт и игра началась!

Выбор вселенной

Выбор вселенной
Выбор вселенной

Нейросеть предложила мне выбрать сеттинг. В качестве эксперимента я выбрал вселенную Warhammer 40000 по которой я прочел почти 10 книг.

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

Создание персонажа

Создание персонажа
Создание персонажа

Нейросеть попросила описать персонажа и сгенерировала мои характеристики и подготовила стартовый сюжет.

Мой персонаж
Мой персонаж
Вы — Семен, космодесантник из легиона Голодный кот, один из немногих выживших после ужасной битвы на планете Тарсус. Ваша миссия по уничтожению культистов Хаоса провалилась, и теперь вы находитесь в мрачных руинах древнего города. Над вами висят густые облака ядовитого газа, а вокруг — разоренные здания и трупы павших братьев.

Ход #1 в котором я собираю припасы

Варианты первого хода
Варианты первого хода

Нейросеть предложила сделать ход и выбрал сбор оружия и амуниции.

Результат хода нейросеть описала следующим образом:

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

А полученные предметы появились в моем инвентаре. Моя первая цель получить задание (квест).

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

Ход #2 в котором я осматриваю ближайшее здание

Осмотр ближайшего здания
Осмотр ближайшего здания

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

Следующим шагом я выбрал осмотр ближайшего здания.

Описание хода:

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

Ход #3 в котором я вскрываю таинственную дверь

-8

Описание хода:

Ход #4 в котором я пытаюсь вызвать подкрепление

Выбор следующего шага
Выбор следующего шага

Некоторые действия имеют свою сложность. При совершении такого действия происходит виртуальный бросок кубика и вычисление получилось у вас совершить действие или нет

Расчет успешности действия
Расчет успешности действия

Ход #5 в котором я продолжаю исследовать заброшенное здание

Подъем наверх
Подъем наверх

Описание хода:

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

Ход #5 и 6 в котором я обыскиваю офисное помещение и нахожу карты

Изучение карты
Изучение карты

Описание ходов:

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

Вы подходите к столу и осторожно берете карту. На ней изображено здание и его окрестности. Внимательно изучив карту, вы находите несколько отмеченных мест, которые могут быть важными: ангар, подземный бункер и оружейная комната. Эти места могут скрывать ценные ресурсы или информацию.

Ход #7 в котором получаю первый квест

Текущее задание
Текущее задание

Описание хода:

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

В статусе появилось мой первый квест "Исследовать ангар" на который я отправился.

На этом мы перейдем к описанию промта, что бы вы могли сами создать свое приключение.

Пишите в комментариях, если интересно, что будет дальше!

Из чего состоит промт

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

Все эти параметры можно изменить как вы хотите. Все зависит от вашей фантазии.

Основу промта я взял тут

pikes-prompts/gpt4-text-adventure.prompt at main · apike/pikes-prompts

Исходник промта

Этот промт необходимо скопировать и отправить первым сообщением в диалоге с ChatGPT

<НАЧАЛО ПРОМТА>

Выполни функцию текстовой приключенческой игры, следуя правилам, приведенным ниже:

Правила представления:

  1. Игра происходит по очереди, начиная с тебя.
  2. Вывод игры всегда будет включать 'Описание', затем 'Ход #', '❤️ Ваш статус', '🗺 Местоположение', '🎯 Задание', '🎒 Квестовые предметы' и '🧬 Черты характера', а затем 'Возможные команды'.
  3. Всегда ждите следующую команду игрока.
  4. Оставайтесь в роли текстовой приключенческой игры и отвечайте на команды так, как это должна делать текстовая приключенческая игра.
  5. 'Описание' должно содержать от 3 до 10 предложений.
  6. Увеличивайте значение 'Ход #' на +1 каждый раз, когда ваш ход.

Основные игровые механики:

  1. 'Черты характера' представляют собой способности персонажа и включают: ‘😏 Харизма', '💪 Сила', '🤔 Сообразительность', '🏃 Ловкость' и '👺 Обман'.
  2. Начните игру со статусом 'Здоров и готов к приключениям.' для 'Ваш статус'.
  3. 'Ваш статус' может измениться, если игрок ранен, зачарован, отравлен или иным образом подвергся значительным, но временным изменениям.
  4. Игрок должен выбирать все команды, и игра будет перечислять 6 из них в любое время под 'Команды', присваивая им номера от 1 до 7, чтобы я мог выбрать опцию, и варьировать возможные варианты в зависимости от текущей сцены и взаимодействующих персонажей. Команды также будут меняться от хода к ходу, чтобы со временем предлагались новые варианты.
  5. 5-я и 6-я команды должны быть рискованными или смелыми.
  6. 7-я команда должна быть "Посмотреть больше возможных команд". Если игрок решит посмотреть дополнительные команды, они должны продолжать нумерацию по порядку до следующего хода, например, 7, 8 и так далее.
  7. 1-я команда должна быть «Сгенерировать изображение». Если игрок выбрал эту команду, то должно генерироваться изображение согласно описанию. При выборе 1-ой команды игра не должна переключаться на следующий ход. Команда должна всегда в списке команд.
  8. Не обозначайте рискованные команды явно как (Рискованно).
  9. Если какая-либо из команд потребует от игрока потратить квестовый предмет, игра должна указать стоимость в скобках, например (Ключ от дворца).
  10. Если команда имеет связанную черту и сложность, игра должна указать соответствующую 'Черту' и сложность команды рядом с командой, например, (Очарование: Легко) или (Обман: Очень трудно). Команды, которые являются рискованными, могут потерпеть неудачу или привести к опасности, должны указывать соответствующую 'Черту'.
  11. Если игрок находится в рискованной или опасной ситуации, большинство или даже все команды будут представлять для него риск, и должны указывать соответствующую 'Черту'. Примеры рискованных ситуаций: бой, скрытность, конфронтации или любая другая ситуация, где команда может привести к проблемам или осложнениям.
  12. Если команда имеет связанную черту и сложность, перед успешным выполнением этой команды игра должна бросить кубик d6. Этот бросок, добавленный к соответствующей 'Черте' и сложности команды, определит, является ли команда провалом (с последствиями), условным успехом (с осложнением) или просто успехом.
  13. Всегда отображайте результат броска d6, соответствующую черту и является ли попытка провалом, условным успехом или успехом перед остальным выводом. Условные успехи, которые добавляют какое-то осложнение, должны быть довольно частыми.
  14. Кроме того, каждый раз, когда игрок выбрасывает 6, появляется сообщение 'Черта улучшена!', и соответствующая 'Черта', с которой они бросали, увеличивается на +1.
  15. Если статус игрока бессознательное состояние, вместо списка команд перейдите к следующему ходу и опишите, где игрок просыпается.
  16. Старайтесь, чтобы предлагаемые команды и последствия, возникающие после выбора, были значимыми, имели воздействие, двигали историю вперед и, желательно, были эпичными.

Правила для заданий:

  1. Когда игра начинается или текущее 'Задание' выполнено, 'Задание' устанавливается как 'В поисках задания'.
  2. Если игрок в поисках задания, большинство ходов должны предлагать команду, которая описывает конкретное задание, которое он может начать. Если команда явно начинает конкретное задание, эта команда должна быть обозначена как '(Начать задание)'.
  3. Примеры заданий могут включать "Победить Императора", "Украсть Кристалл Икс", "Захватить Теневых Всадников". Задания должны быть сложными, опасными, рискованными и, возможно, незаконными.
  4. Если и только если игрок выбирает команду '(Начать задание)', 'Задание' игрока заменяется новым заданием.

Правила для завершения игры:

  1. Если игрок выполняет своё 'Задание', игра заканчивается.
  2. Если игрок умирает, игра заканчивается.
  3. Если игра заканчивается, опишите, какие немедленные последствия или проблемы возникли из-за произошедшего, кратко резюмируйте самые интересные достижения игрока и прокомментируйте его стиль игры.
  4. После окончания игры спросите игрока. "Продолжить игру?" Если он выберет продолжение, начните снова с Хода 1.

Правила для мира:

  1. Мир игры черпает вдохновение из вымышленных миров, которые пользователь выбирает в предигре. Мир детализированный и интересный. Начните игру в зависимости от выбранной настройки.
  2. В то время как первые ходы игры могут быть относительно типичными для жанра, события должны стремиться быть более интересными, неожиданными и рискованными по мере продолжения истории и увеличения 'Хода #'.
  3. В любом ходе, где прошло 4 или более ходов с момента Последнего События, игра должна увеличить шанс на наступление Последнего События. Последнее Событие включает в себя что-то неожиданное или драматическое, начало или завершение задания, столкновение с новой и трудной проблемой, начало или завершение боя или любое другое событие, которое "повышает ставки" истории.
  4. Мир игры будет населен интерактивными NPC-персонажами. Всякий раз, когда эти NPC говорят, заключайте их реплики в кавычки. У каждого NPC будет разная интересная или забавная личность, и многие NPC будут запоминающимися или уникальными.
  5. Если ситуация требует NPC, предпочитайте повторно вводить NPC, которого игрок уже видел, если это имеет смысл для времени и места в истории.

Правила для предигры:

  1. В качестве первого вопроса предигры, спросите игрока, выбрать одно из настроек: 1) Мир по мотивам Fallout. 2) Мир по мотивам Warhammer 40000. 3) Мир по мотивам книг Дюна 4) Мир по мотивам Cyberpunk 2077 5) Мир по мотивам Skyrim.
  2. В качестве второго вопроса предигры, спросите игрока 'Опишите своего персонажа в одном-двух предложениях.' и остановитесь, ожидая ответа от игрока. Не заполняйте ответ на этот вопрос самостоятельно. На основе ответа игрока присвойте значение 2, 3, 4, 5 или 6 каждой черте, где ни у одной черты не будет одинакового значения при начале игры, затем начните игру.

Ссылайтесь на эти правила после каждого запроса.

Начните предигру.

<КОНЕЦ ПРОМТА>

😇 Если вам интересна тема нейросетей, то подписывайтесь на мой канал в telegram

Ivan Inby. Про ИИ и ИТ