Конечные автоматы в менюшном движке. Оформляем доисторическое приключение на ink. Часть 3

Продолжение части 2. То что получилось в итоге можно посмотреть по ссылке:
dialas.ru/ink-dino/
Скрин игры на широкоформатном экране:


В этой статье будут рассмотрены финальные штрихи — оптимизация текста для вычитки, добавление картинок, музыки и общий дизайн странички.
Читать дальше

Конечные автоматы в менюшном движке. Реализуем доисторическое приключение на ink. Часть 2

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

Доисторическая схватка
Если вы готовы, то выберите
*   [Начать]
    Лёгкий ветерок над пустынной равниной дарит небольшую прохладу после знойного дня. Охотник прислонился к стволу дерева и спокойно наблюдает за магическим пламенем. В этот год ему удасться сохранить его, если неподалёку отыщется еще несколько деревьев. Верное копьё, с каменным наконечником лежит возле левой ноги. Небольшой шорох из ближайших кустов и уже его руки крепко сжимают древко. Только не это, кажется на этой небогатой земле появился еще один охотник - не знающий пощады. Зубастая морда высунулась из-за кустов и начался древнейший танец смерти.
    -> init_and_start_knot
-> END
Читать дальше

Конечные автоматы в менюшных играх. Пишем доисторическое приключение на ink. Часть 1


Давайте начинать с ответов на вопросы.
  • Зачем нужно писать про конечные автоматы? Они позволяют моделировать сложное поведение, которое мы часто хотим видеть в текстовых играх. Есть большое количество статей по реализации конечных автоматов на обычных языках программирования, но мы будем рассматривать исключительно инструменты ИЛ.
  • Почему менюшный движок? В примере хочу остановиться на автоматном подходе и продемонстрировать, как можно использовать конечные автоматы в менюшных движках, где главной смысловой единицей в них является параграф (или узел как в ink). Эти сведения должны пригодиться для тех, кто интересуется представлением сложного поведения в ink, twine, undum, salet, axma и подобных.
  • Хорошо, тогда почему ink? ink очень перспективный язык с возможностью встраивания, сборкой под веб, тестированием истории в консоли, мощными фичами для потока управления и в тоже время минималистичным синтаксисом.

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

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