mapgen/README.md
2018-07-14 22:17:12 +07:00

2.7 KiB
Raw Permalink Blame History

Демо процедурной генерации карты на Salet

Работает только в новых браузерах с поддержкой ES6. Если хотите, чтобы работало во всех браузерах, надо компилировать Improv вместе с полифиллом для babel. Для других игр я пробовал переписывать Improv на CoffeeScript, но хочется всё-таки иметь возможность обновляться. Сам код игры и Salet такой строгой зависимости не имеет.

Код демо собран из обрезков разных игр и черновиков. Есть баги.

Лицензия кода - GPLv3. Если будете использовать, делитесь своими наработками в ответ.

Установка

  • Клонировать репозиторий git себе на компьютер
  • Выполнить yarn install или npm install
  • Выполнить gulp serve
  • Открыть живой предпросмотр по адресу http://localhost:3000

Также есть команды gulp build для dev-cборки и gulp dist для сборки релиза, но игра всё равно не заработает без веб-сервера.

Автотесты

Автотесты вызываются по адресу http://localhost:3000/test.html и компилируются через gulp test. Автотесты проверяют две вещи: что игра и Salet вообще запускаются, и что во все комнаты можно зайти без багов. Это не так много, но всё-таки кое-что.

Процедурный текст

Текст для генератора Improv пишется в формате CSON. Это как JSON, но от авторов CoffeeScript.

По самому формату см. документацию по Improv.

Тест частоты процедурного текста

Запускать coffee distribution.coffee. Этот скрипт анализирует файлы Improv и выдаёт оценку сверху по частоте появления каждого тега. Позволяет более-менее балансировать прокген, чтобы не зацикливаться на том, что увидит 1% игроков или меньше.

Используемые библиотеки

  • Salet - лицензия MIT
  • Improv - лицензия MIT