Как убедиться, что игра может быть завершена

10

Я не уверен, что описан правильный термин для того, что я ищу, поэтому прошу прощения, если это дублирующий вопрос. Но есть ли термин / алгоритм, чтобы убедиться, что игра «выполнима» по отношению к бесконечному скроллеру. Под завершаемостью я подразумеваю, что если бы у меня была игра, в которой пользователь должен продолжать подпрыгивать блоки по мере того, как экран пытается их догнать, то как бы я мог гарантировать, что всегда есть новый достижимый блок, который мог бы сделать пользователь? теория перейти к?

Я знаю, теоретически, я бы проверил, насколько высоко пользователь может прыгнуть, и убедиться, что в пределах досягаемости есть блок, но есть ли что-нибудь еще? т.е. избегать дорогостоящих проверок при размещении новых блоков, чтобы убедиться, что они не перекрываются и т. д.?

Я специально смотрю на html5 / js, но мне было интересно, есть ли термин для этого или определенный тип алгоритма, который я мог бы исследовать?

Спасибо

TommyBs
источник
2
Вы в значительной степени описали это. Знайте, как далеко ваш пользователь может прыгнуть и не размещайте блок дальше, чем это. На самом деле это простой расчет кинематики, и он не станет узким местом для вашей игры по сравнению с анимацией.
Моб
2
Возможно, вы захотите
Келли Томас,
3
Беспокойство о дорогих чеках может быть немного преждевременным при решении проблем с играбельностью. Вы почти всегда можете оптимизировать что-то, что позже станет проблемой скорости, но вы никогда не сможете запустить игру, потому что она неиграбельна, потому что вы думали, что метод будет слишком медленным, и поэтому вы никогда не пробовали его =)
Патрик Хьюз
1
Спасибо за все комментарии, ребята, очень ценю это. Статья о гамасутре очень полезна @KellyThomas
TommyBs

Ответы:

6

Один интересный подход, который я видел, заключается в создании бота / ИИ, который понимает, как играть в игру. Это даже не должно быть хорошо в этом. Просто убедитесь, что для любой конкретной точки необходим / возможен прыжок, чтобы ИИ умело пробовал большое их количество (имитируя прыжок), пока не найдет тот, который он может сделать. Запустите ИИ на уровне несколько раз и посмотрите, завершится ли какой-либо из них.

Посмотрите видео Inifinite Mario AI и поддерживающие статьи об этой одной возможной технике. В видео вы можете заметить, что ИИ значительно лучше, чем следует ожидать от человека. Возможно, вы захотите искусственно замять любой такой ИИ, чтобы убедиться, что он представляет разумный уровень навыков игрока.

Шон Миддледич
источник