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

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

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

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

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

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

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

require('babel-polyfill')
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 )
)

где:

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