Как стать автором
Обновить

Алгоритмы интеллектуальной автогенерации уровней в iOS игре

Время на прочтение 6 мин
Количество просмотров 22K
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 11

Комментарии 11

Интересная статья, спасибо. Что было быстрее — отладить этот алгоритм или сгенерировать такое же количество уровней вручную? Еще момент — насколько «красивыми» получились уровни? Вы готовы отказаться от генерации вручную для всех будущих ваших игр?
Отладить алгоритм конечно быстрее, чем вручную нарисовать бесконечное количество уровней :) На видео видно насколько «красивыми» получились карты, но конечно, уровни, которые нарисует дизайнер в редакторе карт — будут намного красивее. В принципе, дизайнера можно попросить рисовать «шаблоны» для генератора. Но от редактора карт я отказаться не готов, в игре часть уровней генерирована, часть уровней из редактора.
Ждем генератор "шаблонов" для генератора! :)
В автоматической генерации карт спрятаны приключения, тайны, жемчужины и принцессы. В ручных раскладах автор подобен скучающему демиургу.
Впрочем, начальный уровень всегда надо делать лично, ведь верно, ведь правильно?
Все верно, рисовать уровни в редакторе намного скучнее, чем разрабатывать сам редактор :) Но первые 2 уровня в игре ( туториал ) — я все же осилил и нарисовал вручную — нельзя же доверить первое впечатление об игре функции «рандом» :)
(генерация была произведена бесконечное количество раз)
Если «была», значит количество раз было конечным.
0 — пустой блок;
1 — земля, персонаж может перемешаться по этому блоку и может его взорвать;
2 – камень — блок, который нельзя взорвать;
3 — ящик с драгоценностями;
4 — шипы, при падении на которые игрок умирает;

Для проектирования игр типа пэкмэна и марио — годится. Сдается мне, что если добавить матрицу второго уровня, где элементы — ваши матрицы, то можно проектировать игровые миры с большей свободой для персонажа, типа «принц персии». Это уже интересно.
В принце персии не было матриц 2 уровня, всё было ровно так же, просто типов блоков было много больше, чем 5.
Даже соперники — это такие же типы блоков.
Именно по этой причине в некоторых играх, при возвращении назад/вперед появлялись монстры, которых мы вроде как уже убили.
сорри за оффтоп — философская картинка вверху офигенная! Залип на ней немного.
Не понимаю в чем прикол таких статей, ничего особенного, такие алгоритмы каждый раз когда он становится нужен, садишься и изобретаешь под свой случай конкретный алгоритм.
Приколы на других ресурсах. Хабр место посерьезнее.

Мой интерес к статье — узнать, как это делается другими разработчиками, какие подводные камни были, как решались проблемы и т.д.
Людям, которые совсем не связаны с разработкой (особенно разработкой игр) — тем более интересно будет узнать о разработке изнутри.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории