Build 749/Искусственный интеллект: различия между версиями

Материал из Zone Chronicles
Перейти к: навигация, поиск
м (Откат правок DecabristM (обсуждение) к версии Fvf xyzrhw)
Метка: откат
(Отмена правки 80664)
Метка: отмена
 
Строка 1: Строка 1:
 
[[Файл:jumper.jpg|thumb|right|300px|''Jumper'']]
{{КарточкаМутанта
 
 
[[Файл:Mover.jpg|thumb|right|300px|''Mover'']]
|Изображение=Alien.jpg
 
  +
[[Файл:Alien.jpg|thumb|right|300px|''Alien'']]
|Тип=ксеноморф
 
 
[[Build 749|''"XRAY Engine" demo build 749'']] предназначался для тестирования различных аспектов движка, в том числе и отладки искусственного интеллекта. Было создано три типа поведения ИИ с разной логикой и моделями: '''alien''', '''mover''' и '''jumper'''.
|Прародитель=
 
|Высота=0,25 м (jumper)<br>1,25 м (mover)
 
|Тип атаки=взаимодействие с коллизией игрока}}
 
[[Build 749|''"XRAY Engine" demo build 749'']] использовался для тестов различных аспектов движка, в том числе и отлаживания искусственного интеллекта на первых порах. Было создано три типа поведения искусственного интеллекта с разной логикой и моделями: ''alien'', ''mover'' и ''jumper''.
 
   
 
==Описание==
 
==Описание==
Все 3 монстра не являются NPC как таковыми — это внешнее представление первого вида искусственного интеллекта, написанного [[Oles|Олесем Шишковцовым]] для движка. Модели для них создавались для более наглядного отображения поведения ИИ и наблюдения за ним, на что также косвенно указывает качество моделей ''mover'' и ''jumper''.
+
Все 3 монстра не являются NPC как таковыми — это внешнее представление первого вида ИИ, написанного [[Oles|Олесем Шишковцовым]] для движка ''X-Ray''. Модели для них создавались для более наглядного отображения поведения ИИ и наблюдения за ним, на что также косвенно указывает качество моделей ''mover'' и ''jumper''.
   
 
*'''alien''' — отдаленно похожая на мифического [[ruwiki:Кецалькоатль|Кецалькоатля]] змееподобная модель, имеющая иерархическую структуру, разделённую по признаку материалов.
==Внешний вид==
 
 
*'''mover''' — сферическая однородная модель с приведёнными и вытянутыми вершинами, образующими шип.
[[Файл:jumper.jpg|thumb|right|200px|Jumper]]
 
 
*'''jumper''' — уменьшенный и сдавленный по высоте вариант модели ''mover''.
[[Файл:Mover.png|thumb|right|200px|Mover]]
 
''alien'' — отдаленно похожая на мифического [[ruwiki:Кецалькоатль|Кецалькоатля]] змееподобная модель, имеющая иерархическую структуру, разделённую по признаку материалов.
 
 
''mover'' — сферическая однородная модель с приведёнными и вытянутыми вершинами, образующими шип.
 
 
''jumper'' — уменьшенный и сдавленный по высоте вариант модели ''mover''.
 
   
 
==Способности и поведение==
 
==Способности и поведение==
Строка 61: Строка 53:
   
 
==Галерея==
 
==Галерея==
<gallery heights=200 mode=packed-hover>
+
<gallery heights=300 mode=packed-hover>
 
749 alien mover-like.jpg|''alien'' (с использованием ИИ ''mover'')<ref group=прим.>Стандартная модель ''mover'' заменена моделью ''alien''.</ref>
 
749 alien mover-like.jpg|''alien'' (с использованием ИИ ''mover'')<ref group=прим.>Стандартная модель ''mover'' заменена моделью ''alien''.</ref>
 
749 aliens onlymover-like.jpg|''mover'' и ''jumper'', использующие только ИИ ''mover''
 
749 aliens onlymover-like.jpg|''mover'' и ''jumper'', использующие только ИИ ''mover''
Строка 70: Строка 62:
   
 
==Примечания==
 
==Примечания==
  +
;Комментарии
 
<references group=прим./>
 
<references group=прим./>
 
;Источники
 
;Источники

Текущая версия на 11:49, 30 ноября 2020

Jumper
Mover
Alien

"XRAY Engine" demo build 749 предназначался для тестирования различных аспектов движка, в том числе и отладки искусственного интеллекта. Было создано три типа поведения ИИ с разной логикой и моделями: alien, mover и jumper.

Описание[править | править код]

Все 3 монстра не являются NPC как таковыми — это внешнее представление первого вида ИИ, написанного Олесем Шишковцовым для движка X-Ray. Модели для них создавались для более наглядного отображения поведения ИИ и наблюдения за ним, на что также косвенно указывает качество моделей mover и jumper.

  • alien — отдаленно похожая на мифического Кецалькоатля змееподобная модель, имеющая иерархическую структуру, разделённую по признаку материалов.
  • mover — сферическая однородная модель с приведёнными и вытянутыми вершинами, образующими шип.
  • jumper — уменьшенный и сдавленный по высоте вариант модели mover.

Способности и поведение[править | править код]

Все три модели отражали различные варианты поведения, но не были привязаны к ним (им может быть подставлена почти любая ogf-модель и написан свой отдельный ИИ с совсем другим поведением):

  • Alien — самые первые тесты поведения проверялись на модели alien, которая осталась в достаточно проработанном виде, но в сборке не используется. Модель поведения строила сплайновый путь на основе данных из игровой коллизии геометрии сцены и просто перемещалась по уровню. Сам программный объект монстра был написан во внешней динамической библиотеке object_alien.dll (в составе сборки отсутствует). В течение месяца (конец января — февраль 2001) модель поведения и просчёты улучшались, что позже легло в основу двух последующих моделей поведения.
  • Mover — движется по прямой, в спокойном состоянии крутится из стороны в сторону. Из-за постоянного ускорения может достигать очень большой скорости и бесконечно преследовать игрока без потери его из вида на любой дистанции.
  • Jumper — передвигается прыжками с задержкой примерно в 2 секунды, атака происходит во время прыжка (при попадании в стену может от неё отскочить; сила и расстояние отскока могут быть разными). В спокойном состоянии крутится из стороны в сторону, суммарно примерно на 270 градусов (иногда происходит баг, когда при атаке в прыжке он продолжает крутиться).

Отношение к игроку[править | править код]

Целью монстров Mover и Jumper является обнаружение игрока, построение к нему пути и достижение конечной точки. Поэтому они всегда движутся в его сторону и своими моделями «налезают» на коллизию модели игрока, из-за чего происходят повреждения с последующей потерей управления.

История создания[править | править код]

Модель и текстура[править | править код]

Дата Автор Описание
19 декабря 2000 Была нарисована текстура eye1.TGA. Возможно тогда же были созданы первые версии моделей alien1.ogf и alien2.ogf
23 января 2001 Сергей Кармальский Была создана модель alien.ogf, к которой было нарисовано 8 текстур: coilBMP.TGA, coilyello.TGA, FACE.TGA, RIBS2.TGA, Tissue.TGA, TOOTH.TGA, VIENS.TGA, Yellotrans.TGA
10 апреля 2001 Сергей Кармальский Была экспортирована модель alien1.ogf[прим. 1]
11 апреля 2001 Сергей Кармальский Была экспортирована модель alien2.ogf[прим. 2]

Программирование[править | править код]

В конце января 2001 года Олесь Шишковцов начал писать первый исходный код, связанный с работой искусственного интеллекта. Для тестов использовалась модель alien.ogf, которая должна была, исходя из наличия окклюзии, просто передвигаться по уровню. Были созданы функции, отвечающие за зрение и передвижение монстра. В последующие дни происходили работы над написанием кода, связанным с искусственным интеллектом, но позже было решено реализовывать поведение на встроенном в X-Ray скриптовом языке программирования C-Scripting Engine, а основа работы ИИ оставалась в движке.

Конфиги[править | править код]

В начале 2001 года в файле system.ltx была создана секция [m_alien], в которой были прописаны переменные eye_fov и eye_distance с определёнными значениями.

Скрипты[править | править код]

Начиная с февраля, были созданы скрипты iq_alien.c и iq_jumper.c, которые также были скомпилированы[прим. 3] в бинарный вид[прим. 4] для чтения движком. В апреле на уровне L1 day были продолжены тесты поведения монстров и скрипты менялись: в последний раз iq_jumper.c правился 17 апреля, а iq_alien.c — 24-го.

Галерея[править | править код]

Примечания[править | править код]

Комментарии
  1. ^ Mover.
  2. ^ Jumper.
  3. ^ Парсинг и компиляция происходят во время запуска игры.
  4. ^ iq_alien.cs и iq_jumper.cs соответственно.
  5. ^ Стандартная модель mover заменена моделью alien.
  6. ^ Стандартная модель mover заменена моделью игрока.
Источники
  1. \\game\XR_3DA.exe\.data
  2. \\game\data\meshes\alien.ogf (ревизия 23.01.2001)
  3. \\game\data\meshes\alien1.ogf (ревизия 10.04.2001)
  4. \\game\data\meshes\alien2.ogf (ревизия 11.04.2001)
  5. \\game\data\scripts\iq_jumper.c (ревизия 17.04.2001)
  6. \\game\data\scripts\iq_alien.c (ревизия 18.04.2001)
  7. \\game\data\scripts\iq_jumper.c (ревизия 18.04.2001)
  8. \\game\data\scripts\iq_alien.c (ревизия 24.04.2001)