Внутреннее устройство 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

Другие записи...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

* Please Enter the Output

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>