Лайфхак по дизайну уровней головоломок
В рамках тестовой HTML5-игры для Яндекс.Игры надо придумать минимум 50 уровней. Игра супер простая: поле 6х6 клеток и 1 механика, блокирующая клетку. В общем-то придумать большое количество уникальных уровней, выдерживая кривую сложности — занятие не тривиальное. На первый взгляд…
Придумав 10 действительно уникальных уровней, сложность которых постепенно повышается. Стал думать как сделать еще 40 уникальных уровней так, чтобы сложность сначала немного понизилась, а затем снова поднималась (типичный пилообразный график). Немного позалипая на схемы в draw.io, постигла гениальная мысль (опытные геймдизайнеры конечно сейчас посмеются).
Идея в следующем: берем наши 10 уровней и поворачиваем их на 90 градусов (благодаря квадратному полю — это возможно). Получаем по факту еще 10 уровней, которые для игрока визуально достаточно сильно отличаются. И вот у нас уже 20 уровней. Можно повернуть еще два раза на 90 и получить в сумме 40 уровней. В целом уже почти хватает, можно было бы добить оставшиеся 10 новыми униками, но я ленивый, поэтому “думаем как не думать”.
Идем дальше. На каждом уровне есть 3-4 возможных решения, но только 1 из них удовлетворяет условию для получения максимального кол-ва очков, а значим мы можем "заблокировать" одно из решений (на уровне это визуальный "блок”). Опять же мы получаем из 40 существующих уровней еще 40, который являются теми же самыми, с той же кривой сложности, но для игрока визуально отличащиеся. В итоге у нас 80 уровней.
Идем дальше. Цель игры: провести игровую сущность из точки А в точку Б. Меняем на наших 80 уровнях точки А и Б и получаем еще 80 уровней. В итоге у нас их 160.
В итоге: из 10 действительно уникальных уровней, мы сгенерировали еще 150. Если бы игра имела больше каких-то геймплейных механик, можно изначально придумать больше уникальных уровней и сгенерировать производных в разы больше.
Дизайните на здоровье.
P. S. Ну и подписываемся на мой Telegram-канал: