Нет описания правки |
Нет описания правки |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{Bld-desc |
{{Bld-desc |
||
− | |bld-projectchild=X-Ray SDK: |
+ | |bld-projectchild=X-Ray SDK: AI Compiler |
|bld-img=XrAI 1097 Process 01.png |
|bld-img=XrAI 1097 Process 01.png |
||
|bld-imgdesc=Успешное завершение компиляции на ОС Windows 10 |
|bld-imgdesc=Успешное завершение компиляции на ОС Windows 10 |
||
Строка 18: | Строка 18: | ||
Изначально xrAI умел только генерировать AI-ноды по геометрии загружаемой сцены для передвижения ИИ, но за октябрь 2001 его функционал дополнялся. Была добавлена функция сглаживания нод для более плавного наклона плоскостей, возможность объединять несколько нод в одну большую, там, где не требуется большая точность перемещения и возможность визуально отслеживать процесс компиляции. |
Изначально xrAI умел только генерировать AI-ноды по геометрии загружаемой сцены для передвижения ИИ, но за октябрь 2001 его функционал дополнялся. Была добавлена функция сглаживания нод для более плавного наклона плоскостей, возможность объединять несколько нод в одну большую, там, где не требуется большая точность перемещения и возможность визуально отслеживать процесс компиляции. |
||
− | Позже |
+ | Позже компилятор в составе полной версии [[Build 1098|сборки 1098]] был выложен пользователем Loxotron на ''GAMEINATOR forums'' в [[Слив сборок 09.02.11|сливе сборок от 9 февраля 2011 года]]. |
==Технические особенности== |
==Технические особенности== |
||
Строка 28: | Строка 28: | ||
* xrAI сам генерирует AI-сетку на уровне, не получая её от редактора<ref group=прим.>Компилятор содержит в себе фазу ''Building nodes...''</ref>; |
* xrAI сам генерирует AI-сетку на уровне, не получая её от редактора<ref group=прим.>Компилятор содержит в себе фазу ''Building nodes...''</ref>; |
||
* Уже в этой версии имеется просчет укрытий для АИ<ref group=источник>C:\Projects\xrLC\xrAI\compiler_cover.cpp <small>(файл упоминается в двоичном коде приложения)</small></ref><ref group=прим.>Компилятор содержит в себе фазу ''Calculating coverage...''</ref>; |
* Уже в этой версии имеется просчет укрытий для АИ<ref group=источник>C:\Projects\xrLC\xrAI\compiler_cover.cpp <small>(файл упоминается в двоичном коде приложения)</small></ref><ref group=прим.>Компилятор содержит в себе фазу ''Calculating coverage...''</ref>; |
||
− | * Возможность объединять несколько AI-нод в одну |
+ | * Возможность объединять несколько AI-нод в одну большую<ref group=источник>C:\Projects\xrLC\xrAI\compiler_merge.cpp <small>(файл упоминается в двоичном коде приложения)</small></ref><ref group=прим.>Компилятор содержит в себе фазу ''Merging nodes...''</ref>; |
* Присутствует закомментированая функция xrDisplay, отвечающая за просмотр собранной AI-сетки, с различными режимами отображения, например, просчитанных укрытий<ref group=источник>C:\Projects\xrLC\xrAI\compiler_display.cpp <small>(файл упоминается в двоичном коде приложения)</small></ref><ref group=прим.>Компилятор содержит в себе фазу ''Visualising nodes...''</ref><ref group=прим.>Вызов функции xrDisplay был закомментирован, поэтому без дополнительных правок реализовать её невозможно</ref>; |
* Присутствует закомментированая функция xrDisplay, отвечающая за просмотр собранной AI-сетки, с различными режимами отображения, например, просчитанных укрытий<ref group=источник>C:\Projects\xrLC\xrAI\compiler_display.cpp <small>(файл упоминается в двоичном коде приложения)</small></ref><ref group=прим.>Компилятор содержит в себе фазу ''Visualising nodes...''</ref><ref group=прим.>Вызов функции xrDisplay был закомментирован, поэтому без дополнительных правок реализовать её невозможно</ref>; |
||
* Для генерации AI-сетки, компилятор размещает эмиттеры, от которых идет покрытие геометрии локации AI-нодами. Но могут возникать случаи, когда эмиттер не может быть поставлен и редактор вылетит с ошибкой ''Can't align emitter''; |
* Для генерации AI-сетки, компилятор размещает эмиттеры, от которых идет покрытие геометрии локации AI-нодами. Но могут возникать случаи, когда эмиттер не может быть поставлен и редактор вылетит с ошибкой ''Can't align emitter''; |
||
Строка 45: | Строка 45: | ||
Сама компиляция уровня вызывается через bat-файл или командную строку, в которых нужно прописать: |
Сама компиляция уровня вызывается через bat-файл или командную строку, в которых нужно прописать: |
||
x:\xrLC.exe -f %1 |
x:\xrLC.exe -f %1 |
||
− | Где ''-f'' — ключ, осуществляющий компиляцию, а ''%1'' — имя собранной в редакторе |
+ | Где ''-f'' — ключ, осуществляющий компиляцию, а ''%1'' — имя собранной в редакторе сцены. |
==Интересные факты== |
==Интересные факты== |
||
Строка 53: | Строка 53: | ||
==Галерея== |
==Галерея== |
||
+ | <gallery mode="packed-hover" caption="Режимы визуализации ''xrDisplay'' (зеленые пиксели отображают незадействованную область)" heights="250px"> |
||
+ | XrAI 1097 xrDisplay Depth.png|Отображение глубины расположения AI-нод |
||
+ | XrAI 1097 xrDisplay Height.png|Карта высот расположения AI-нод |
||
+ | XrAI 1097 xrDisplay Normals.png|Нормали мешей AI-нод |
||
+ | XrAI 1097 xrDisplay Sectors.png|Принадлежность AI-нод к конкретному сектору |
||
+ | XrAI 1097 xrDisplay Subdivides.png|Распределение AI-нод и их формы |
||
+ | </gallery> |
||
<gallery mode="packed-hover" caption="Скриншоты визуализации AI-сетки в ближайших по совместимости к компилятору сборках" heights="230px"> |
<gallery mode="packed-hover" caption="Скриншоты визуализации AI-сетки в ближайших по совместимости к компилятору сборках" heights="230px"> |
||
Build 1098 AI 01.jpg|AI-сетка в debug режиме отображения. Наглядно видны разные прямоугольные формы, как следствие работы объединения AI-нод |
Build 1098 AI 01.jpg|AI-сетка в debug режиме отображения. Наглядно видны разные прямоугольные формы, как следствие работы объединения AI-нод |
Текущая версия от 21:23, 2 марта 2021
X-Ray SDK: AI Compiler | |||
Успешное завершение компиляции на ОС Windows 10 | |||
Номер сборки | 1097 | ||
Дата компиляции | 2 февраля 2002 | ||
В составе |
xrAI.exe xrLC_Options.dll | ||
Работоспособность | запускается / работает | ||
Защита | — |
Компилятор AI-сетки, присутствует в полном составе в составе SDK 1097, под именем xrAI.exe.
Описание
Является самой старой из известных сообществу версией компилятора ИИ. Был предназначен для сборки AI-сетки на уровнях[прим. 1][источник 1], с последующей линковкой нод для передвижения по ним ИИ и просчетом укрытий.
История сборки
Написанная в начале 2001 года Олесем Шишковцовым система перемещения ИИ, основанная на проверки коллизии и построению сплайновых путей показывала себя неудовлетворительно в тестовой сборке и в последующих тестах ИИ. В сентябре 2001, вместе с Александром Максимчуком были проведены тесты и доработка передвижения, реакции ИИ и возможность предсказать передвижение игрока, где было решено изменить систему передвижения ИИ по уровню, посредством перемещения по нодам, которые расставлялись уже исходя из имеющейся геометрии, не требуя постоянной адресации к коллизии сцены. ИИ оставалось только выбирать наилучший ближайший AI-нод, чтобы перемещаться по пространству, все также прокладывая сплайновую линию от исходной точки до точки назначения.
Изначально xrAI умел только генерировать AI-ноды по геометрии загружаемой сцены для передвижения ИИ, но за октябрь 2001 его функционал дополнялся. Была добавлена функция сглаживания нод для более плавного наклона плоскостей, возможность объединять несколько нод в одну большую, там, где не требуется большая точность перемещения и возможность визуально отслеживать процесс компиляции.
Позже компилятор в составе полной версии сборки 1098 был выложен пользователем Loxotron на GAMEINATOR forums в сливе сборок от 9 февраля 2011 года.
Технические особенности
Компилятор не ссылается на библиотеки, которые включены в состав X-Ray. Однако, в каталоге SDK, вместе с компиляторами находятся и старые библиотеки, используемые прошлыми версиями компилятора. Среди них находится xrSpherical.dll, которая отсутствовала в прошлой известной версии, но была используема компилятором примерно с июля 2001 года до неизвестного срока.
Компилятор содержит в себе следующий функционал, который отсутствует в последующих и релизных версиях xrAI, выводя ряд характерных особенностей:
- Были добавлены ключи запуска компилятора: -f, -h/-?, -o[прим. 2][прим. 3][источник 2];
- xrAI сам генерирует AI-сетку на уровне, не получая её от редактора[прим. 4];
- Уже в этой версии имеется просчет укрытий для АИ[источник 3][прим. 5];
- Возможность объединять несколько AI-нод в одну большую[источник 4][прим. 6];
- Присутствует закомментированая функция xrDisplay, отвечающая за просмотр собранной AI-сетки, с различными режимами отображения, например, просчитанных укрытий[источник 5][прим. 7][прим. 8];
- Для генерации AI-сетки, компилятор размещает эмиттеры, от которых идет покрытие геометрии локации AI-нодами. Но могут возникать случаи, когда эмиттер не может быть поставлен и редактор вылетит с ошибкой Can't align emitter;
- Для работы с геометрией, компилятор считывает файл build.cform, что сохранится вплоть до релизной версии компилятора;
Скачивание и запуск
Размер: | 476 Кбайт |
---|---|
Скачать: | Google Drive |
Компилятор можно запустить при наличии виртуального диска X, ссылаемого на директорию с компилятором. Для этого нужно создать .bat файл с следующим содержимым:
@%systemroot%\system32\subst.exe x: .
Сама компиляция уровня вызывается через bat-файл или командную строку, в которых нужно прописать:
x:\xrLC.exe -f %1
Где -f — ключ, осуществляющий компиляцию, а %1 — имя собранной в редакторе сцены.
Интересные факты
- Первая известная сообществу версия xrAI.
- Первый известный компилятор AI-сетки, где появились ключи запуска.
- Единственный известный компилятор AI-сетки, чья форма окна оформлена в книжной ориентации.
Галерея
Примечания
- ^ В SDK 1097 в редакторе отсутствует возможность собирать AI-сетку, потому что данный функционал присутствует здесь
- ^ -f <ИМЯ> — главный ключ запуска, отвечающий за компиляцию уровня
-h (или -?) — ключ для вывода окна о существующих ключах запуска. Если запускать компилятор как обычное приложение, то это окно будет инициализироваться при запуске
-o — возможность изменить настройки компилируемого уровня, вызывающий окно настройки сцены редактора, которое содержится в библиотеке xrLC_Options.dll - ^ Однако реальная нужда в xrLC_Options.dll отсутствует по той причине, что его настройки предназначены только под xrLC, и при попытке вызова опций настройки здесь, xrAI закономерно вылетает
- ^ Компилятор содержит в себе фазу Building nodes...
- ^ Компилятор содержит в себе фазу Calculating coverage...
- ^ Компилятор содержит в себе фазу Merging nodes...
- ^ Компилятор содержит в себе фазу Visualising nodes...
- ^ Вызов функции xrDisplay был закомментирован, поэтому без дополнительных правок реализовать её невозможно
- Источник
- ^ C:\Projects\xrLC\xrAI\compiler_build.cpp (файл упоминается в двоичном коде приложения)
- ^ C:\Projects\xrLC\xrAI\xrAI.cpp (файл упоминается в двоичном коде приложения)
- ^ C:\Projects\xrLC\xrAI\compiler_cover.cpp (файл упоминается в двоичном коде приложения)
- ^ C:\Projects\xrLC\xrAI\compiler_merge.cpp (файл упоминается в двоичном коде приложения)
- ^ C:\Projects\xrLC\xrAI\compiler_display.cpp (файл упоминается в двоичном коде приложения)
Сборки Oblivion Lost | |
---|---|
Тестовые | 749 • 756 |
Демонстрационные | 788 • 1098 |
Упоминаемые | 1096Pre-Alpha • 1097.log |
SDK | 543xrLB • 743xrLC • 753xrLC • 756SDK • 1112AE • 1119xrDO • 1126xrLC • 1097xrAI • 1097SDK • 1115xrLC |
Oblivion Lost • S.T.A.L.K.E.R.: Oblivion Lost • S.T.A.L.K.E.R.: Shadow of Chernobyl • S.T.A.L.K.E.R.: Clear Sky • S.T.A.L.K.E.R.: Call of Pripyat |