Делаю текстовую игру "Цена Истины" в 2025-м.
Зачем я это делаю? Сам не знаю. Просто могу и делаю.
Кому нужны текстовые игры в 2025 году? Вопрос риторический. Но жанр живет, даже спустя десятилетия. Значит, у него есть своя аудитория.
Я не художник, но умею программировать, писать музыку и работать со звуком. Связывать слова в осмысленные фразы тоже по силам. В геймдеве у меня не самый широкий выбор творческих реализаций с моими скромными навыками, но я не унываю.
С появлением нейросетей кажется, что создать текстовую игру проще простого. Накидай каких-то мыслей, а ИИ выдаст всё остальное. Но я быстро понял, что это не работает. Моя идея из экспериментальной шутки — «А сможет ли ИИ придумать игру?» — переросла в полноценный проект. ИИ, хоть и пишет неплохие тексты, не всегда может связать их в логичную цепочку. Да и качество этих текстов, честно говоря, далеко от идеальных.
Я дал ИИ шанс, но быстро понял, что без моей помощи разработка не продвинется. По работе мне часто приходится писать скрипты на PowerShell. Однажды я подумал: почему бы не создать текстовую игру, которая будет работать прямо в консоли? Это показалось мне интересной идеей. Так я начал разрабатывать игровой движок.
Этот проект стал отличным способом улучшить свои навыки программирования и изучить возможности Windows-консоли. Я создал движок, который позволяет перемещаться по локациям, воспроизводить звуки, музыку и изменять фоны. Можно менять громкость каналов и скорость изменения громкости (Fadein, Fadeout).
В игре появились игровые объекты с уникальным поведением, блокнот с записями и полноценный инвентарь. Предметы можно осматривать, брать их в руки и использовать. В игре работала система времени, она двигала время в зависимости от выполняемых действий игрока. Таким образом создавая ощущения того, что время живое.
Персонаж мог испытывать усталость, если долго не спал, и голод, если долго обходился без еды. Это влияло на его способности. Работали сохранения и загрузка игры. Клиент игры мог получать обновления с моего домашнего сервера. Это был увлекательный процесс.
Я собрал все необходимые элементы для реализации игры. Теперь нужно было воплотить идею в жизнь. Я начал писать повествовательную часть, постоянно совершенствуя движок и добавляя новые детали. Прошёл месяц, и я понял, что это уже не просто развлечение, а полноценный продукт.
Я доказал себе, что создать игру в Windows-консоли возможно. Но я также осознал, что консоль Windows имеет свои особенности, и игра может не работать на системах из-за региональных различий. И мои опасения подтвердились, когда я разослал демо версию разным знакомым, в том числе у которых не установлен русский язык в системе.
Так как я не планирую локализацию на какие-то другие языки, это не было большой проблемой, ведь у большинства российских пользователей русский язык в системе присутствует по умолчанию.
Демонстрация PowerShell версии в этом ролике: Обратите внимание на работу со звуком. Фон приглушается, когда нужно, затем снова возвращается, где это необходимо. Паузы, выключают возможность промотки текста игроком, чтобы усилить атмосферу, если это необходимо. Это полноценный движок для текстовых игр, написанный с нуля. Используются только Powershell скрипты.
Но меня начали посещать мысли, что хоть идея с запуском игры из консоли достаточно оригинальна и интересна, гарантии, что она запустится на Windows-системах через 5–10 лет, у меня нет (Microsoft вечно что-то меняют). Поэтому я решил, что если делать, то надо подойти к этому более серьёзно, на нормальном игровом движке и чтобы можно было запустить на разных устройствах, включая телефоны.
Я посмотрел на существующие движки для текстовых игр и пришёл к мнению, что Renpy может дать мне всё необходимое для реализации. И начал всё делать с нуля.
Я перенёс необходимые функции на движок Renpy. Но в процессе переосмыслил многие вещи и отказался от усложняющих игру механик, которые присутствовали в PowerShell-версии. Но я постарался сохранить стилистику старых компьютерных терминалов 70-х для передачи классической атмосферы текстовых игр.
Я делаю игру более дружелюбной к игроку, без высокого порога вхождения, чтобы в неё могли играть те, кто ни разу в жизни не играл в текстовые игры. Сложность текстовых квестов, уверен, пугает многих. Я не хочу, чтобы моя игра оставляла негативное впечатление, когда игрок не понимает, что ему нужно делать и куда идти. Перебирать десятки команд в поисках подходящих комбинаций — не самое весёлое времяпровождение.
В моей игре нет ввода команд, вместо этого интерфейс предлагает возможные действия, и игроку достаточно выбрать то, что ему доступно в данный момент, чтобы двигаться по сюжету. Игровой блокнот сохраняет всю необходимую информацию для того, чтобы игрок понимал поставленные перед ним задачи.
Для версии в PowerShell я подбирал аудиодорожки без лицензии, которые соответствовали атмосфере игры. Но когда я перешёл на Ren'Py, решил: если уж упарываться, то по полной. Теперь я пишу всю музыку для игры самостоятельно.
О том, как работает игра, я расскажу в будущих блогах. А сейчас я покажу, как игра выглядит на этом промо-ролике уже на движке Renpy.
Ролик без игровых звуков, он больше нужен для привлечения внимания к игре. По этому фоном играет музыка написанная мной для игры.
Если вы подумали, что я занимаюсь какой-то не нужной никому фигнёй, вы правы. Но мне хочется довести этот проект до конца, и я надеюсь, найдутся люди, которым это будет интересно и нужно.
У проекта уже есть небольшая группа в ВК. Если вам интересно присоединяйтесь и там.