пятница, марта 05, 2010

Вопросы с собеседования: общие вопросы

Это пятая часть вопросов. Все вопросы можно найти здесь.

(5a) Как ИИ должен взаимодействовать с системой анимации? Какие проблемы возникают при взаимооднозначном отображении между поведениями и анимациями? Дайте примеры ситуаций, когда ИИ требуется взять контроль над частями тела юнита, а не просто играть анимацию всего тела, опишите реализацию каждого такого примера.

(5b) Как должна ИИ-система выбирать анимации для проигрывания? Другими словами, какими должны быть интерфейсы для кода и для данных, каким образом данные должны быть абстрагированы, чтобы ИИ-система могла как можно проще доступаться до анимаций? Опишите достоинства и недостатки различных путей описания анимаций и доступа к ним.

(5c) Расскажите о самой крутой ИИ-системе, которую вы видели в игре. Что именно вас впечатлило? Как вы думаете, как именно она была реализована. Каковы возможны проблемы по производительности у такой системы?

(5d) Как можно использовать машинное обучение(ML) в играх. Какие проблемы ML помогло вам решить? Каковы достоинства и недостатки различных подходов? Каковы характеристики по производительности различных ML-подходов? Какие ML-подходы могут быть использованы в реалном времени, а какие лучше считать заранее? Дайте различные примеры использования ML, неважно, успешные или нет.

(5e) У вас есть игра, в которой 1000 ботов ищут путь через сложный уровень игры, у каждого из них разные цели и система поведения. Сделаем допущение для данного вопроса, что это вражеские солдаты и офицеры, патрулирующие и защищающие базу в шутере от первого лица. Каким образом вы будете оптимизировать производительность ИИ для ваших ботов?

1 коммент.:

golergka комментирует...

Про анимацию: _очень_ зависит от того, что за игра, и какой диапазон действий может быть у юнита.

Обычно подходит стейт-машина. Система анимаций получает события, на каждый стейт и на каждый переход запускает соответствующую анимацию. Кое-где стейт может быть более сложный, например, при движении нужна ещё и скорость движения, чтобы блендить анимацию "пешком" и "бег" в соответствующей пропорции.