Undum

Undum

Undum - это чисто клиентский (client-side) игровой движок для повествовательной интерактивной литературы. Он создан для HTML 5 и CSS 3. Вы можете прочитать о нём и скачать исходный код здесь.

Персонаж

Обучение Undum &
Интерактивный Пример

Автор: I. D. Millington
Переводчик: Oreolek

Нажмите, чтобы начать


Ситуации

В Undum, любое взаимодействие происходит в ситуации. Вы можете думать о ситуации либо как о 'Комнате' (Room) в традиционной интерактивной литературе (хотя этот подход не так гибок), или как о 'Странице' в книге-игре. В любой момент времени, персонаж находится точно в одной ситуации, и эта ситуация отвечает за всё, что происхожит с ним.

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

Давайте снова сделаем шаг вперёд.

Сохранение и загрузка

Единственный элемент интерфейса, о котором мы не заговорили, это кнопки «Сохранить» и «Стереть» на левой панели. Они видны только если ваш браузер поддерживает клиентское хранилище данных.

Нажатие на «Сохранить» складывает вашу игру в хранилище, чтобы вы смогли подобрать её позже. В настоящее время здесь нет кнопки «Загрузить», и сохранённая игра загружается, когда загружается страница. Также нет способа сделать несколько сохранений, и выбрать то, с которым вы хотели бы играть. Это те вещи, которые я хотел бы изменить в будущем.

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

Настало время для последней секции.