mapgen/README.md

50 lines
2.7 KiB
Markdown
Raw Normal View History

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