ru:guide:improv

Это старая версия документа!


FIXME Эта страница пока что не переведена полностью. Пожалуйста, помогите завершить перевод.
(Сотрите это сообщение по окончании перевода.)

Использование Improv

Improv (исходный код, документация) — это мощный движок процедурной генерации от Бруно Диаса.

Вопросы того, зачем вам нужен Improv и как его использовать лежат немного за гранью этого документа, но здесь описаны важные детали того, как использовать его с Salet.

С ноября 2016го Improv позволяет использовать свой ГСЧ (генератор случайных чисел). Если вы соедините его с ГСЧ Salet (удобно предоставленного как salet.rnd), он будет возвращать один и тот же текст каждый раз, когда игрок загрузит сохранённую игру. Но если вы не сделаете этого, то текст при каждой загрузке будет различаться.

Короче, вот минимальный код:

Improv = new ImprovEngine(data, {
  rng: () ->
    return salet.rnd.randf()
})

и реальный пример:

require('babel-polyfill')
require('salet')
ImprovEngine = require('improv')
Improv = {}

$.holdReady( true )
$.getJSON('game/procgen/'+i18n.lang+'.json', (data) ->
  Improv = new ImprovEngine(data, {
    rng: () ->
      return salet.rnd.randf()
    filters: [
      ImprovEngine.filters.mismatchFilter()
    ]
    reincorporate: false
  })

  $.holdReady( false )
)

где:

  • babel-polyfill нужен для совместимости браузеров. Improv написан на ES6, он не работает в старых браузерах сам по себе.
  • Кусок кода с holdReady загружает данные процедурной генерации при помощи запроса AJAX и запрещает игре начинаться, пока этот запрос не будет выполнен.

а остальное объяснено в документации Improv.

  • ru/guide/improv.1497888099.txt.gz
  • Последнее изменение: 2021/01/24 10:41
  • (внешнее изменение)