2018-07-13 16:38:44 +03:00
|
|
|
|
# Демо процедурной генерации карты на Salet
|
|
|
|
|
|
|
|
|
|
Работает только в новых браузерах с поддержкой ES6.
|
|
|
|
|
Если хотите, чтобы работало во всех браузерах, надо компилировать Improv вместе
|
|
|
|
|
с полифиллом для babel.
|
2018-07-14 11:23:27 +03:00
|
|
|
|
Для других игр я пробовал переписывать Improv на CoffeeScript, но хочется всё-таки иметь
|
|
|
|
|
возможность обновляться.
|
2018-07-13 16:38:44 +03:00
|
|
|
|
Сам код игры и 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
|