Быстрый движок на C# в Fluent-стиле

Чисто ради любопытства за пару часов накидал рыбу парсерного (можно и менюшного) движка, позволяющего писать игры на C# в Fluent-стиле (это последовательность вызовов методов, смотрите пример кода ниже).
Выглядит самый простенький пример так:
Игра.Новая()
	.Имя("Пробная игра")
	.Локации()
		.Локация("Пещера", "Холодная и мрачная пещера")
		.Локация("Поляна", "Светлая и приветливая полянка")
	.КонецЛокаций()
	.Настройки()
		.НачатьВЛокации("Пещера")
	.КонецНастроек()
.ЗавершитьСоздание()
.ЗапуститьИгру();
Читать дальше

Интерактивные аудиокниги: перезагрузка

Привет всем!
В эти холодные зимние дни мне вспомнился топик DoubleDragon 'а, написанный далеким (уже) летом 2015 г., и последовавшей за ним череды статей на тему интерактивных аудиокниг (ИА).
Читать дальше

«Каратель шестого поста» — возможно самая недопонятая игра КРИЛ-2016

21 декабря 2016 года в рамках КРИЛ-2016 вышла представитель ныне редкого жанра парсерных квестов — игра «Каратель шестого поста». На современном этапе парсерные текстовые игры в принципе редко находят широкий отклик в аудитории любителей интерактивной литературы, а если они при этом ещё выдержаны в нетипичной манере и содержат достаточно сложную игровую механику, то это окончательно обрекает такие произведения на пристальное изучение лишь совсем в узких кругах преимущественно престарелых эстетов. Такая ситуация произошла и с этой игрой, примечательность и глубину которой большая часть сообщества РИЛ, судя по всему, просто не заметила, отвлёкшись на более простые для потребления произведения различного качества.

Безусловно, ввиду высокой фрагментированности интерактивной литературы по жанрам и игровым механикам, вполне можно говорить, что существует априорное неприятие каких-то произведений. Однако, для того, чтобы спорить о вкусе устриц, их всё же надо попробовать, тогда как «Каратель шестого поста» многими явно оказался просто нераспробован. Самое главное не в том, что эта игра хороша или плоха, а в том, что она является наиболее ярким явлением на КРИЛ-2016, так как объединяет в себе ряд вещей, которые, до сегодняшнего дня, плохо объединялись и были разнесены по принципиально разным направлениям интерактивной литературы.


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

Игра Worldsmith выпущена бесплатно



Кольца Тагидес, которые прочно удерживают Башню Септема в Многообразии, подходят к идеальному афелию. Остались четверо учеников, но только один Кузнец Миров получит одеяние ремесла. Всё подходит к этому моменту.

Мастерские готовы. Подходи, подмастерье. Настало время создать твой шедевр. Время собирать миры.
Mike Preston объявил, что его игра Worldsmith теперь доступна бесплатно. Worldsmith — это коммерческая парсерная игра на Inform 7, которая была выпущена в августе 2016 года.

Это — единственная коммерческая парсерная игра 2016 года, и она хвалится многими техническими новинками. Многое из этого — большая редкость или впервые появляется в парсерных играх.

  • Интерактивные графические элементы и фоны (в Inform!)
  • Встроенные секции на Twine
  • Гибридный интерфейс парсера и ссылок
  • Сложная динамическая модель мира
  • NPC с искусственным интеллектом, которые играют против вас
  • Процедурная генерация мира, которой управляет игрок

В игре несколько уровней сложности, а также два режима игры: «История» и «Игра».

Стоит ещё раз оговориться, что игра написана на английском.

Купить игру за любую цену

Когда и в чём парсер легче меню

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

Разумеется, при желании, можно придираться к методологической чистоте процесса сравнения, типа для игроков в менюшном интерфейсе можно изобразить более интеллектуальный пазл, чем тупое отгадывание глагола в парсере, а для авторов объектно-ориентированный INSTEAD ничуть в отношении разработки не проще RINFORM или RTADS. Подобные аргументы вполне предсказуемы, поэтому давайте не будем меня ими забрасывать, так как я, как видите, их уже знаю. Я всего лишь хочу обратить внимание на один момент, касающийся придумывания пазлов для парсерной и менюшной игры, когда, по крайней мере, лично для меня, парсер намного проще, чем меню, но вряд ли я так уж уникален.
Читать дальше

Логика промежуточных задач в игре «Поручик Ржевский 1: На балу»

21 декабря 2016 года в рамках КРИЛ-2016 состоялся релиз парсерного текстового квеста «Поручик Ржевский 1: На балу». Парсерные игры в принципе часто остаются недопонятыми широкой частью узкой аудитории любителей текстовых игр и уж тем более интерактивной литературы, но, судя по докатившейся до меня информации, «Ржевский» даже для опытных игроков показался местами слишком хардкорным или недостаточно логичным. Ввиду этого, те игроки, которые всё-таки совладали с парсером и дошли до основной части игры (на балу), а также достаточно в ней продвинулись, чтобы столкнуться с сложностями подобного рода, наверное вполне заслужили ответное внимание от автора и разъяснения с его стороны.

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

Ну и, разумеется, все должны понимать, что в нижеследующем тексте будет определённое количество спойлеров, так что если вам принципиально важно пройти игру без каких-либо подсказок, то читать дальше не стоит. Между прочем, такие люди есть, так что претензии, типа «ну до этого же нельзя догадаться!» не принимаются. Также игра имеет рейтинг 16+, так что если вы не соответствуете, то, на всякий случай, вместо дальнейшего чтения идите смотрите мультики.
Читать дальше

Проход на Север-север



О нет, старинное семейное проклятие разбушевалось!

Это короткий рассказ об ограничениях действий.

(от автора)

История о непреодолимом принуждении. <...>
Скорее западающее в память, чем страшное в традиционном понимании <..> но хорошо написанное и запоминающееся впечатление.

Из обзора Emily Short

Особенно рекомендую.

Из обзора MathBrush

Так что я выдаю этой игре пять звёзд, потому что я пришёл к пониманию, что она достигает в точности того, что хочет сделать, а её содержимое привязано к своей форме. Это — игра, которая ещё похожа на рассказ в том смысле, что она приглашает на переигрывание/перечитывание время от времени, но это в то же время 100% игра.
И проза тоже отличная.

Из обзора Chandler Groover


Дополнительная информация — по команде ПОМОЩЬ.
Читать дальше

Способы передвижения в парсерных играх

Перемещения между локациями — основное действие в любой текстовой игре, парсерной или менюшной (разве что кроме однокомнатных).
Но если в менюшной игре для перемещения ГГ в другую локацию достаточно одного ЛКМ по кнопке, в парсерных играх всё гораздо интереснее.

Давайте для начала классифицируем все команды, которые может ввести игрок.
Читать дальше

ТОМ 2.0

(альфа)
ТОМ (Текстовая Основа Миростроения) — это платформа для парсерной интерактивной литературы. Изначально ориентирована на русский язык и максимально возможную для машины «понятливость».
Платформа состоит из движка, скомпилированного как dll, и различных плагинов и фронт-ендов.
Архитектура открытая, при желании можно использовать движок в своей программе, или написать собственное расширение к нему.
Читать дальше

ЯРИЛ 2.0

ЯРИЛ (Язык Разметки Интерактивной Литературы) — это русская платформа для парсерной интерактивной литературы. Отличается изначальной ориентированностью на русский язык и визуальным программированием всей игровой логики.
Платформа состоит из Редактора, Плеера и Тестера. Тестер — приложение для проведения автоматизированных проверок проходимости игр. (Тестер пока находится в начальном состоянии разработки.)
Технологическая платформа: Java SE 8.

Структура игр

Игра (или в терминологии ЯРИЛ — история) описывается как набор локаций, предметов, действий, процедур, настроек и их взаимосвязей.
Основные понятия:
  • Локация — выделенная единица пространства. Может содержать предметы и игрока.
  • Предмет. Может содержаться в локации, у игрока, содержать другие предметы.
  • Действие — логическая связка для действия игрока, состоит из набора шаблонов парсера и процедуры игровой логики для обработки. Имеет набор ограничений (условий для выполнения).
  • Процедура — набор инструкций игровой логики. Используется как обработчик действия, так и может вызываться из других обработчиков (процедур и проч.).
  • Перехват — возможность перехватить выполнение какого-либо действия над предметом или в локации и задать отдельную игровую логику.
  • Роль — совокупность свойств и специальных обработчиков для предметов. При «навешивании» роли на предмет он принимает её свойства, что можно проверять по имени роли (например, выражение «предмет.открываемый» будет истинным, если на предмете навешана роль «открываемый»).
  • Библиотека — файл с набором сущностей ЯРИЛ для использования в игре. С платформой идёт стандартная библиотека «Глаголы» с набором действий и ролей. Дорабатывается.

Парсер

Парсер в ЯРИЛ работает по принципу подбора шаблона для введённой фразы. Шаблоны состоят из двух типов элементов: литерал (набор фраз) и объект (упоминание предмета по словарю в каком-либо падеже). При удачном подборе шаблона выполняется привязанная к нему процедура игровой логики.

Визуальный редактор игровой логики

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

Выпуски

Свежие выпуски публикуются на страничке проекта на GitHub.
Читать дальше