Каждая игровая доска проектировалась с учётом использования камеры с видом сверху. Максимальный размер каждой игровой доски пришлось ограничивать размером интерфейса, также принимая во внимание то, что все содержимое должно умещаться в пределах рамки и при этом появляющийся неигровой персонаж не должен выглядеть слишком мелким. Поэтому размер досок должен составлять приблизительно 4 на 6 плиток. Так как с камерой с видом сверху сложнее определить, куда смотрит NPC (из-за его небольшого размера), для удобства была добавлена стрелка, которая появляется возле NPC в момент его остановки.
При проектировании досок следует иметь ввиду три момента:
При этом важна компактность
Новые концепции следует добавлять по одной
Перед игроком должна стоять задача
С одной стороны, площадь ограничилась размером 4×6, но с другой стороны, такой размер даёт больше контроля и игроки могут увереннее проходить игру. Игроки должны взглянуть на доску и быстро найти решение, но за счёт пошагового характера подаваемых команд, им придётся продумывать шаги заранее и лишь затем нажимать на кнопку выполнения. Пять досок были спроектированы так, что начало игры будет простым и с каждой новой доской будет добавляться новая концепция, прежде чем прийти к завершающей пятой доске для прохождения последнего испытания.
Эта доска спроектирована линейно; игрок должен двигаться по ней в одном направлении с помощью команды «Вперёд». При этом задача для игрока предельно проста и у него есть время поэкспериментировать с различными командами. | |
На этой доске уже требуется выполнять повороты, при этом для прохождения игроку нужно использовать оба вида команд поворота. | |
На этой доске появляются препятствия в виде барьеров. Несмотря на то, что сама доска частично состоит из круга, по которому игрок может пройти, итоговый маршрут по ней будет линейным, что определяется расположением барьеров. На этой доске игрок будет взаимодействовать с триггером препятствия и научится обходить их. Кроме того, команды на этой доске нужно будет выполнить в несколько шагов, так как количество команд, необходимых для прохождения, превышает максимальный лимит команд в очереди. | |
На этой доске добавляется несколько барьеров и схема усложняется, поэтому игроку приходится выбрать маршрут следования с массой поворотов, чтобы добраться до обоих триггеров препятствий. Оранжевый триггер препятствия нужно переместить в угол, учитывая возможности прокладки маршрута для NPC. | |
Эта доска во многом похожа на 4-ю доску, так как на ней есть несколько триггеров и маршрут на ней будет ещё более длинным и сложным. Особенности навигации NPC заставили внести ограничения в схему этой доски, так как она часто пытался прокладывать маршрут возле стен и попадал на другую сторону, выпадая за пределы сетки игровой доски. Такую схему пришлось несколько раз переработать. Кроме того в ней обнаружился ряд ограничений текущего API навигации NPC. |
Несмотря на то, что доски в этом примере сравнительно просты, их схема даёт большой простор для создания различных вариаций. Доски с ловушками, телепортами, доски с различными камерами, многоуровневые доски и т. д. Каждая из них открывает новые возможности, которые вы можете реализовать, используя этот шаблон. Подобное ограничение и простота концепции часто позволяет придумать что-то новенькое и оригинальное, до чего в других условиях мы бы попросту не додумались.
Проектирование в заданных пределах
Большая часть кода движения в этом шаблоне была написана с учётом имеющихся ограничений навигации ИИ. Неигровыми персонажами пока невозможно управлять напрямую, поэтому цели навигации им предоставляются с помощью интерфейса navigatable. При том, что любое положение можно установить в качестве цели навигации, окончательный выбор способа добраться до неё остаётся за самим NPC.
ИИ осуществляет навигацию в мире, используя Навигационную сетку, которая помогает ему выбирать маршрут следования и показывает, где ему можно пройти, а где — нет. Иногда такой выбор не вписывается в игровой процесс. Например, ИИ может попытаться пробиться сквозь стену вместо того, чтобы перепрыгнуть препятствие.
Поскольку в этом шаблоне NPC перемещается на одну плитку за раз, очень важно обеспечить его правильное передвижение по доске. В большинстве случаев это не вызывало проблем, но поскольку неигровые персонажи всегда пытаются выбрать кратчайший путь к месту назначения, они часто пытаются обходить стены или устройства «Барьер» вместо того, чтобы придерживаться решётки. Более того, устройства «Барьер» имеют свойства навигационной сетки, отличные от стен, и неигровые персонажи регулярно заходят в устройства «Барьер» и постоянно пытаются проложить путь через них, вместо того, чтобы остановиться. Это привело к необходимости разместить множество устройств «Модификация навигации ИИ» на каждом уровне, блокируя навигационную сетку и создавая «коридоры», через которые могли бы проходить NPC. Поскольку ИИ точно не может добраться в эти зоны, это позволило привязать расположение игровых персонажей к сетке и исключить их неожиданные «ходы», например, с пробеганием через барьеры или вокруг стен.
Проблема также возникла с поворотами. На данный момент, если расположить цель навигации непосредственно справа или слева от неигровых персонажей, их путь к ней будет не прямым, а немного по дуге. С этим были сложности, так как NPC часто наталкивались на стены или с трудом проходили крутые повороты и после нескольких поворотов сбивались с правильного положения на игровой доске. Многие способности движения также пришлось из ИИ убрать. Например, способность прыгать или взбираться, которые допускали выход за границы.
Следующий шаг
Мы создали пять уровней для прохождения. В следующем шаге мы определим типовые данные команд и конкретные команды, используемые персонажем.