50 lines
2.7 KiB
Markdown
50 lines
2.7 KiB
Markdown
# Демо процедурной генерации карты на 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.](http://improv.readthedocs.io/)
|
||
|
||
### Тест частоты процедурного текста
|
||
|
||
Запускать `coffee distribution.coffee`.
|
||
Этот скрипт анализирует файлы Improv и выдаёт оценку сверху по частоте появления
|
||
каждого тега.
|
||
Позволяет более-менее балансировать прокген, чтобы не зацикливаться на том, что
|
||
увидит 1% игроков или меньше.
|
||
|
||
### Используемые библиотеки
|
||
|
||
* [Salet](https://salet.su) - лицензия MIT
|
||
* [Improv](http://improv.readthedocs.io/) - лицензия MIT
|