Локализация парсера

В данной статье пойдет речь о способе локализации парсерной игры, как мне кажется, довольно нетривиальном процессе. Буду рассказывать об игре Антиквест, которая была успешно переведена на английский и участвовала в конкурсе ifcomp, а также была одним из экспонатов на фестивале медиапоэзии «101» в спб. Скажу честно, локализация закладывалась заранее, перед началом проектирования игры. Если мы сначала делаем игру, а потом стараемся локализовать, тогда проблем намного больше и приходиться просто переводить весь исходный код, каждую сущность. Другое дело, когда мы готовимся заранее и выделяем общие части кода, независимые от локали, а потом переводим только строки для вывода, делаем удобную инфраструктуру. Ниже немного нестандартная UML-диаграмма главных компонентов игры, с точки зрения удобства перевода:


Читать дальше

Комментирование битвы

Продолжим рассказывать элементы разработки игры Комбикорм-2. Подготовка и карты были рассмотрены ранее здесь и здесь.
Допустим, вы автор текстовой игры с боевой системой. Скажите, хотелось бы вам добавить литературного описания к поединку? Чтобы вместо холодных цифр, были попадания и промахи, хитрые приёмы врагов и проявления черт характера персонажей? Конечно же хочется. Однако препятствий кажется намного больше чем, чем возможностей, поэтому придётся накладывать ограничения:
  • Выдача боевой ситуации происходит линейно, событие за событием. Сначала первый попал во второго, второй умер. В дальнейшем, это облегчит составление описаний и их отладку.
  • Всего один тип монстров и все герои — люди. Не очень люблю универсальные описания, по типу “муха нанесла удар крылом”. Для игры решил, что лучше делать более естественные, но всего для трех типов нападений: человек на быка, бык на человека и бык на быка.
  • Каждый удар отнимает по одной жизни. Получается два типа комментариев — нанесение урона и гибель.
  • Добавление описательных фраз для сглаживания механистичности описания. Как раз в эту категорию попадают некие уникальные черты персонажей, состояния перед нападением, реакции на нападение.
Читать дальше

Интервью с автором игры "Реиграбельность"

Интервью взято у Qwerty Волчиком (Wol4ik) 24.06.2018
Тех.помощ, коррекция текста: Electrina
Игры, упомянутые в интервью:


Wol4ik: Что послужило основным мотивом для создания именно этого релиза именно в этом виде?

Qwerty: Изначально я хотел сделать техно-демку генератора лабиринтов с цветными дверьми, ключами, мечами и монстрами. Где красный меч убивает красного монстра и только его, и так далее. Я хотел сделать это прежде всего как пробу своих сил для себя, ну и заодно — как демонстрацию своих способностей для других.

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

Автоматическое построение карт в парсерных играх на русском

В этом посте речь пойдет об известном средстве для построения карт trizbort. Недавно узнал, что он обладает возможностью автоматически строить карты по логам, даже в реальном времени, отслеживая обновления. Однако, он заточен под англоязычные команды. Когда-то я его собирал из исходников и сейчас решил дополнить список распознаваемых глаголов. Получилось вполне приемлемо, так выглядит карта в начале игры «На фоне ковра»:

Итак, последовательность действий:
  1. Скачать бинарную сборку отсюда: yadi.sk/d/iPH6IgNC3YCbnX
  2. Перейти в пункт меню Automap->Start
  3. Выбрать файл с логом и ввести команду для осмотра локации, чаще всего в играх — «о».
  4. Нажать Start Automapping
В теории может подойти транскрипт от любой парсерной игры, главное чтобы соблюдались условия:
  • Кодировка UTF-8
  • Начало команды игрока с символа ">"
  • После команды первая строчка названия локации, остальные её описания.

Пока не выложил в онлайн-репозиторий, если надо то помещу на git-hub.
Ссылка на экзешник: yadi.sk/d/iPH6IgNC3YCbnX

Живой диалог с NPC. Чат или меню?

Когда я только начинал делать парсерные игры, ответ был для меня очевиден — ну конечно же чат с NPC! Ограниченное меню с вариантами меня тогда вообще не интересовало. Подождите-ка, а ведь в парсерных играх уже используется ASK-TELL система, вида: “спросить Машку про Дашку”, “рассказать Машке про Наташку”. Может не стоит изобретать велосипед? Решил попробовать эту систему в игре “Рыбак-рыбака”. Там был диалог с рыбаком в лодке. Не знаю как другие, но я не мог никак догадаться, о чем можно было его спросить и рассказать. Большинство попыток заканчивались провалом, так и не смог пройти это место, пока не увидел исходники и ключевые слова. Когда в других играх видел подобную систему, то практически сразу расстраивался — не хочу в новой игре таких сложностей! Всё-таки надо чатик делать. Будет красивый диалог, если что робот сам подскажет о чем беседовать и получиться легче. Немного покумекав, понял, что этого нужен чат-бот. Кое-как скрестив с одним из плееров, удалось связать чат-бота с моделью парсерного мира, игра вышла в свет.
Читать дальше

Впечатления от «Парсерной дуэли»

Я поиграл в «Парсерную дуэль» StalkerSleem'а, и это — нечто особенное.

Сама игра рассчитана на двух игроков, и не меньше.
Найти кого-то прямо на сайте Аперо нереально, поэтому нужно сразу с кем-то договариваться и идти целенаправленно в эту игру.
Иначе вам придётся ждать очень долго.

Читать дальше