Рубрика «navmesh»

У программистов есть разные поговорки о трудных проблемах. Наверное, мой любимый вариант: «В информатике две трудные проблемы: недействительность кэша, присвоение имён и ошибки на единицу».

Я пишу программное обеспечение достаточно давно, чтобы столкнуться с каждой из этих проблем. В то же время я выступаю со стороны бизнеса и объясняю клиентам техническую часть нашего продукта, поэтому постоянно сталкиваюсь с непрограммистами. Самое важное — правильно передать идею или концепцию таким образом, чтобы другие её поняли.

А это очень трудно.

Как и во всех профессиональных сферах, программисты разработали собственный жаргон для быстрой передачи концепций.
Читать полностью »

image

Goldeneye 007 — одна из самых важных игр в истории. Она определила дальнейшее развитие целого поколения консольных игр и проложила шутерам от первого лица дорогу на рынок консолей. Перенесёмся более чем на 20 лет назад, чтобы узнать, как одной из самых популярных на Nintendo 64 игр удалось реализовать ИИ врагов и друзей, у которого можно чему-то научиться даже сегодня.

Об игре

После своего выпуска в 1997 году GoldenEye 007 не только определил судьбу поколения, но и превзошёл все ожидания. В эту игру мало верила сама Rare, Nintendo и даже владелица прав на франшизу Бонда — компания MGM. Выпущенная спустя два года после выхода фильма и спустя год после появления консоли на рынке, она казалась обречённой на провал, но стала третьей по продажам (восемь миллионов копий) за весь срок жизни платформы, уступив только Super Mario 64 и Mario Kart 64. Не говоря уже о том, что в 1998 году она заработала компании Rare награду BAFTA и звание разработчика года.

Искусственный интеллект Goldeneye 007 - 2

Эта игра оставила нам огромное наследие: она задала стандарты того, что нужно ожидать от следующих поколений шутеров от первого лица, особенно в поведении ИИ: персонажи с паттернами патрулирования, враги, запрашивающие подкрепление, убегающие в страхе мирные жители, плавная навигация и поиск пути, богатый набор анимаций, динамические свойства, возникающие в процессе игры, и многое другое. Она не только задала стандарты поколения, но и повлияла на игры, которые её превзошли — Half Life, Crysis, Far Cry и многие другие.
Читать полностью »

image

Следование по пути и управление движением

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

Чтобы казаться умными, ИИ-агенты должны уметь определять, что они делают, и если не могут достичь нужной точки, то они должны уметь прокладывать наиболее эффективный маршрут и изменять свой путь, когда на пути появляются препятствия.

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

Технические требования

Необходима версия Unity 2017, установленная в системе с Windows 7 SP1+, 8, 10 или с Mac OS X 10.9+. Код из данной статьи не будет работать на Windows XP и Vista, а серверные версии Windows и OS X не тестировались.

Файлы кода для этого поста можно найти на GitHub.

Чтобы изучить код в действии, посмотрите это видео.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js