Использование 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 )
)

где:

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

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

  • ru/guide/improv.txt
  • Последние изменения: 2017/06/19 19:02
  • Alexander Yakovlev