Sheeps!
Игра, созданная для Lisp Game Jam 2017 (простой режим).
ОбзорВ игре вы играете за «собаку», задача которой охранять и пасти стадо овец. Овцы будут бродить по игровой зоне в поисках еды и стараться избегать волков и вашего персонажа. После того, как овцы будут накормлены, вам нужно обезопасить их, сопроводив в верхнюю часть игровой зоны. Вам нужно спасти как минимум половину стаи, чтобы выиграть уровень.
В игре используется алгоритм стаи как для овец, так и для волков.
УстановкаУбедитесь, что у вас есть работающая реализация Lisp (игра была разработана на SBCL, но CCL, вероятно, тоже должна работать) и настроен Quicklisp.
Загрузите файлы из этого пакета. Они будут содержать два проекта — игру и движок Parendeck 2D. Убедитесь, что оба они видны в ваших локальных проектах Quicklisp (например, создав символическую ссылку на эти репозитории в ~/quicklisp/local-projects).
Запустите свой Lisp из корневого каталога этой игры (lispjam-2017-04) и выполните (ql:register-local-projects) и (ql:quickload :lispjam-2017-04-temporal). После этого запустите (ljgame:run).
Я добавлю двоичные файлы для пользователей Windows, когда выясню, как их надежно развернуть. Любая помощь приветствуется!
GameplayControls- Влево, вправо — повернуть персонажа игрока
- Вверх — ускорение
- Вниз — притормозить
- F5 — включение или выключение отображения отладочной информации для алгоритма объединения.
- F6 - переключить отображение дальности видимости волков и овец
- F7 — покаудерживая его, вы можете использовать левую кнопку мыши, чтобы поместить овцу, правую кнопку мыши, чтобы поместить волка, и среднюю кнопку мыши, чтобы поместить пищевую гранулу.
Овцы хотят есть пищевые гранулы. Если съесть две, овца побелеет и увеличится в размерах; это означает, что он готов к эвакуации.
Волки хотят есть овец. Вы проиграете, если волки съедят больше половины ваших овец.
Еда в обоих случаях требует времени, в течение которого волк/овца мало двигаются.
ТехническиеИ овец, и волков гонят по алгоритму стада. Они будут группироваться внутри своего вида, гоняться за едой, когда голодны, убегать от опасности и, самое главное, убегать от персонажа игрока. Это последнее, что дает вам возможность направлять овец и отгонять волков.
Все существа имеют ограниченный радиус обзора, поэтому они замечают только друзей, еду и опасность в непосредственной близости.
Чтобы просмотреть вычисления в реальном времени, выполняемые сущностями, используйте клавишу F5. Чтобы увидеть диапазоны прицела, используйте клавишу F6.
TroubleshootingGame не работает — вылетает, выдает исключения и т. д.Напишите мне. Если вы можете найти файл engine.log где-то в каталоге с игрой, пожалуйста, пришлите его и мне.
Кажется, игра не может найти активыУбедитесь, что рабочий каталог вашего Лиспа установлен в корень этого репозитория. В Emacs/SLIME вы можете использовать ",cd" в REPL для смены рабочего каталога.
Игра работает медленноКод довольно дрянной (происходит, когда wя спешу уложиться в сроки конкурса), так что это далеко не возможный пик производительности. Я мог бы оптимизировать его в будущем, если есть интерес.
Чтобы помочь мне в этом, пожалуйста, найдите и отправьте мне по электронной почте файл perf-report.html. Также, если вы используете SBCL, попробуйте запустить игру с помощью (ljgame:run-with-profiling) и пришлите мне файл sb-sprof.txt.
КредитыФон этой игры был составлен из ресурсов из пакета Tiny16 от Sharm.
Книга «Природа кода» оказалась очень полезной при разработке и реализации алгоритма флокирования.
Как скачать Sheeps! через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака Sheeps!
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!