Build 1097 (xrAI): различия между версиями

Материал из Zone Chronicles
Перейти к: навигация, поиск
Строка 18: Строка 18:
 
Изначально xrAI умел только генерировать AI-ноды по геометрии загружаемой сцены для передвижения ИИ, но за октябрь 2001 его функционал дополнялся. Была добавлена функция сглаживания нод для более плавного наклона плоскостей, возможность объединять несколько нод в одну большую, там, где не требуется большая точность перемещения и возможность визуально отслеживать процесс компиляции.
 
Изначально xrAI умел только генерировать AI-ноды по геометрии загружаемой сцены для передвижения ИИ, но за октябрь 2001 его функционал дополнялся. Была добавлена функция сглаживания нод для более плавного наклона плоскостей, возможность объединять несколько нод в одну большую, там, где не требуется большая точность перемещения и возможность визуально отслеживать процесс компиляции.
   
Позже компилятор в составе полной версии[[Build 1098|сборки 1098]] был выложен пользователем Loxotron на ''GAMEINATOR forums'' в [[Слив сборок 09.02.11|сливе сборок от 9 февраля 2011 года]].
+
Позже компилятор в составе полной версии [[Build 1098|сборки 1098]] был выложен пользователем Loxotron на ''GAMEINATOR forums'' в [[Слив сборок 09.02.11|сливе сборок от 9 февраля 2011 года]].
   
 
==Технические особенности==
 
==Технические особенности==

Версия 20:56, 2 марта 2021

X-Ray SDK: Level Compiler
Успешное завершение компиляции на ОС Windows 10
Успешное завершение компиляции на ОС 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 года.

Технические особенности

Форма функции xrDisplay, которая должна была визуализировать карту AI-сетки

Компилятор не ссылается на библиотеки, которые включены в состав 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, что сохранится вплоть до релизной версии компилятора;

Скачивание и запуск

Компилятор можно запустить при наличии виртуального диска X, ссылаемого на директорию с компилятором. Для этого нужно создать .bat файл с следующим содержимым:

@%systemroot%\system32\subst.exe x: .

Сама компиляция уровня вызывается через bat-файл или командную строку, в которых нужно прописать:

x:\xrLC.exe -f %1 

Где -f — ключ, осуществляющий компиляцию, а %1 — имя собранной в редакторе сцены. Для изменения параметров сцены следует ввести -o, после имени сцены.

Интересные факты

  • Первая известная сообществу версия xrAI.
  • Первый известный компилятор AI-сетки, где появились ключи запуска.
  • Единственный известный компилятор AI-сетки, чья форма окна оформлена в книжной ориентации.

Галерея

Примечания

  1. ^ В SDK 1097 в редакторе отсутствует возможность собирать AI-сетку, потому что данный функционал присутствует здесь
  2. ^ -f <ИМЯ> — главный ключ запуска, отвечающий за компиляцию уровня
    -h (или -?) — ключ для вывода окна о существующих ключах запуска. Если запускать компилятор как обычное приложение, то это окно будет инициализироваться при запуске
    -o — возможность изменить настройки компилируемого уровня, вызывающий окно настройки сцены редактора, которое содержится в библиотеке xrLC_Options.dll
  3. ^ Однако реальная нужда в xrLC_Options.dll отсутствует по той причине, что его настройки предназначены только под xrLC, и при попытке вызова опций настройки здесь, xrAI закономерно вылетает
  4. ^ Компилятор содержит в себе фазу Building nodes...
  5. ^ Компилятор содержит в себе фазу Calculating coverage...
  6. ^ Компилятор содержит в себе фазу Merging nodes...
  7. ^ Компилятор содержит в себе фазу Visualising nodes...
  8. ^ Вызов функции xrDisplay был закомментирован, поэтому без дополнительных правок реализовать её невозможно
Источник
  1. ^ C:\Projects\xrLC\xrAI\compiler_build.cpp (файл упоминается в двоичном коде приложения)
  2. ^ C:\Projects\xrLC\xrAI\xrAI.cpp (файл упоминается в двоичном коде приложения)
  3. ^ C:\Projects\xrLC\xrAI\compiler_cover.cpp (файл упоминается в двоичном коде приложения)
  4. ^ C:\Projects\xrLC\xrAI\compiler_merge.cpp (файл упоминается в двоичном коде приложения)
  5. ^ C:\Projects\xrLC\xrAI\compiler_display.cpp (файл упоминается в двоичном коде приложения)