четверг, 22 сентября 2011 г.

Внутреннее устройство Left 4 Dead (Source engine)

На просторах сети нашел интересную презентацию о том, как работает AI, pathfinding и прочие аспекты в игре Left 4 Dead от разработчиков Valve (Counter-Strike 1.6, Counter-Strike:Source, Half-Life 1-2, Portal 1-2



Краткое саммари целей разработчиков этого шутера.

• Понятная игровая механика, которая более-менее воспроизводится от уровня к уровню.

- зомби бегают по разному, но предсказуемо;
- бегают по касательной, относительно работы вот этого алгоритма поиска маршрута для стаи — A* ();
- различные эвристики при поиске дырок в карте;
- умеют залезать на любые поверхности — сами решают где и какие;
- подсистемы - навигация, управление телом, управление видимыми целями, выбор жертвы.

• Боты с уровнем ИИ, способным дать отпор и заменить отсутствующих игроков.
- имеют иерархию целей в игре, могут отличить что и когда делать;
- есть базовая программа по движению и по ведению боя;
- понятно, что многие жалуются, что боты тупые, но поверьте, по уровню ИИ они очень хороши с точки зрения программирования.

• Реиграбельность — основные подходы.
- структурный рандом — Valve, исходя из опыта предыдущих игр, говорит о том, что при генерации среды, игроки для выживания не тупо запоминают, что где на уровне, а вынуждены менять тактику, и собственно нарабатывать скилл — это и привлекает геймеров;
- рандом в игре не произвольный, а задаваемый различными граничными значениями, который задает дизайнер уровня; если чтото генерируется, то пачкой\сгустками по карте; нет ни равномерного засеивания ни пустых локаций;
- AI-директор использует уровень «стресса» каждого игрока, чтобы понимать, стоит его атаковать или нет, % зомби, которые должны атаковать спереди и сзади, для всей карты рассчитывается градиент, чтобы понять, какие координаты приближают к убежищу, а какие нет (т.е. где конечная цель);
- для выгрузки лишних зомби используется техника Active area set, т.е. все зомби которые отстали, сгенерируются потом впереди; на локациях которых мы не видим нет предметов и зомби для экономии ресурсов; запоминается какие локации игрок видел а какие нет и т.п.

• Драматизм игры.
- популяции мобов, атаки — всё делается волнами. т.е. атака нарастает, затем затишье;
- уровень стресса считается при каждом ударе зомби по игроку;
- по мере того как команда отбивается и недостаточно мобов атакует, Директор может добавлять повышенные количества мобов, чтобы повысить уровень стресса и так же резко их убирать, видимо этим и достигается то, что в игре атака временами так резко обрывается, и бесконечная орда так легко пропадает.



The AI Systems of Left 4 Dead


Впечатляет то, сколько всего разработчики предусмотрели. Да, в первой части игроку всё кажется простенько, но какая сложная механика была придумана чтобы получить хотя бы этот «простенький» геймплей, который мы воспринимаем как должное.



примеры видео

1я часть



2я часть

Комментариев нет:

Отправить комментарий