[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Alexandr  
Разработка карт для SP
bac9-flclДата: Вторник, 08.01.2008, 10:18 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 73
Репутация: 5
Статус: Offline
Независимо друг от друга, Neo][ и bardak, выпустили компиляторы AI для финальной версии игры. Это был последний компонент, которого в MP-SDK не хватало для создания синглплеерных карт. Теперь это стало возможным.

_________________________________

Компилятор от Neo][

Вот так выглядит UI:

Теперь по работе с ним. Распаковываем архив, папку ai кидаем в {папка SDK}\bins, остальные компоненты (собственно UI) в любое удобное место.

Запускаем UI, указываем путь до папки с SDK. Далее выбираем карту, на которой будем ставить опыты, и последовательно проходим все шаги компиляции.

Теперь же немного точнее о шагах. После 2-го шага, а именно финальной компиляции сетки, нам необходимо "показать" уровень движку, для этого в файле gamedata\config\game_levels.ltx:

- добавить свой уровень в секцию "levels"
- создать секцию с добавленным названием и заполнить её соответствующими значениями
- присвоить уникальный идентификационный номер

Далее прописаться в gamedata\config\game_graphs.ltx и gamedata\config\game_maps_single.ltx.

Дополнительно: если версия игры выше 1.0000, надо переименовать получившийся test_ai_1.spawn в all.spawn.

Ссылки:

Тестовая карта
Компилятор
Обсуждение, вопросы

_________________________________

Компилятор от bardak

Предназначен для 1.0004/1.0005.
Внимательно прочитать readme.txt перед использованием.

Необходимые программы

- распакованный S.T.A.L.K.E.R. версии 1.0005
- X-Ray MP SDK
- ActivePerl 5.8.8

Назначение файлов и каталогов

aiwrapper.exe - оболочка-сборщик
fsaiwrapper.ltx - файл спецификации путей для aiwrapper
utils\acdc.pl - утилита для редактирования all.spawn
utils\ggtool.pl - утилита для показа межуровневых связей в game.graph
utils\stkutils\ - библиотеки для acdc.pl/ggtool.pl
2215\ - теневое дерево, которое использует xrAI от сборки
2215 (все обновления в нём производятся утилитой
aiwrapper автоматически)
links.sample - пример задания новых и удаления старых рёбер ИИ-графа

Установка

По умолчанию предполагается, что данный архив распакован в c:\temp\aiwrapper_07jan2007\, файлы игры находятся в в c:\program files\gsc world publishing\s.t.a.l.k.e.r\, а MP SDK установлен в c:\program files\x-ray sdk\.

Но вообще игра может быть совмещена с SDK.

Каталог с распакованной игрой должен содержать такие файлы:

gamedata\config\*
gamedata\game.graph
gamedata\spawns\all.spawn
gamedata\levels\*\level.ai
gamedata\levels\*\level.game
gamed ata\levels\*\level.gct
gamedata\levels\*\level.graph
gamedata\levels\*\level.spawn

После этого один раз выполнить:
> aiwrapper -extract_spawns

Эта команда разобьёт all.spawn на оригинальные level.spawn. Обновления
игры не затрагивали данные файлы и поэтому необходимо их освежить.

В случае установки в другое место необходимо модифицировать
следующие файлы:

fsaiwrapper.ltx - задать правильные абсолютные пути для $2215_fs_root$ и $debug_root$
2215\fsgame.ltx - задать правильные абсолютные пути для $sdk_root$
utils\acdc.pl - задать правильный путь либо скопировать stkutils в каталог библиотек Perl.
utils\ggtool.pl - аналогично.

Параметры командной строки aiwrapper

Унаследованные от xrAI параметры:

-h or -? - вывести короткую справку (на английском)
-verify <имя_карты> - проверить связность сетки ИИ для карты в gamedata\levels\<имя_карты>\
-f <имя_карты> - собрать сетку ИИ для карты в gamedata\levels\<имя_карты>\
-draft - черновая сборка сетки ИИ (без просчёта укрытий)
-g <имя_карты> - построить ИИ-граф и таблицу соответствия с сеткой ИИ для карты в gamedata\levels\<имя_карты>\
-m - склеить ИИ-графы карт в глобальный игровой граф
-s - сборка all.spawn

Собственные параметры

-fs <файл> - использовать указанный файл для задания путей (по умолчанию берётся fsaiwrapper.ltx)
-force - обновить теневое дерево независимо от временных меток
-m2 <файл> - склеить ИИ-графы карт в глобальный игровой граф с учётом поправок для связей из указанного файла
-extract_spawns- разбить all.spawn на оригинальные level.spawn
-extract_ways - разбить all.spawn на оригинальные level.game (не реализована на данный момент)
-dump_graph <файл> - вывести список исходных вершин ИИ-графа в указанный файл

Введение в ИИ-граф

Новый уровень должен содержать хотя бы один graph_point и иметь
переход(ы) на другие карты. Существует два типа переходов. Первые
используются только игроком, могут добавляться в LE, с помощью acdc.pl
или даже на лету и далее здесь не обсуждаются. Вторые нужны для
перемещения ИИ-объектов. ИИ-переходы для карт с доступными исходниками
задаются в LE, но для создания обратных связей с оригинальных карт от
GSC нужно собирать game.graph командой:
> aiwrapper -m2 <файл_с_описанием_доп_связей>

Список целевых вершин для ИИ-переходов можно получить с помощью:
> aiwrapper -dump_graph <имя_файла>

Посмотреть получившиеся после склейки ИИ-графов связи можно так:
> utils\ggtool.pl game.graph

Обычно одной вершины ИИ-графа (graph_point) совершенно недостаточно.
Оценить необходимую плотность можно такой функцией на LUA:

function show_game_graph()
local gg = game_graph()
for gvid=0,2791 do
if gg:valid_vertex_id(gvid) then
local vertex = gg:vertex(gvid)
local level_name = alife():level_name(vertex:level_id())
local lvid = vertex:level_vertex_id()
local pos = vertex:level_point()
local obj = alife():create("medkit", pos, lvid, gvid)
level.map_add_object_spot_ser(obj.id, "alife_presentation_monstr", level_name..":"..gvid)
end
end
end

Сборка ИИ-компонентов карты

1) Добавление уровня в список в gamedata\config\game_levels.ltx

2) LevelEditor -> Compile -> Make Game, там же Make AI-Map и Build.

3) Сборка черновой сетки ИИ:
> aiwrapper -draft -f <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.ai.

4) Проверка связности сетки ИИ:
> aiwrapper -verify <имя_уровня>
В случае ошибки поправить ячейки в LE и повторить с п.2.

5) Просчёт укрытий для сетки ИИ. Предварительно необходимо произвести
сборку геометрии для получения build.cform (xrLC, здесь это не
рассматривается). Команда:
> aiwrapper -f <имя_уровня>
Вообще, этот шаг необязателен на ранних этапах тестирования карты.

6) Сборка ИИ-графа:
> aiwrapper -g <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}

7) Склейка ИИ-графов карт в глобальный игровой граф:
> aiwrapper -m
На практике чаще придётся использовать особый вариант (см. выше):
> aiwrapper -m2 <файл_с_описанием_доп_связей>
Пример такого файла имеется в архиве (links_sample.ltx).
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct

8) Сборка all.spawn
> aiwrapper -s
На выходе: gamedata\spawns\all.spawn

9) Добавление level_changer'а на новую карту с помощью acdc.pl.
Здесь не рассматривается.

10) Регистрация уровня в gamedata\config\game_maps_single.ltx.
Здесь не рассматривается.

Нюансы

- Не нужно пересобирать сетку ИИ и особенно ИИ-граф для оригинальных
уровней от GSC.
- Похоже, xrAI от 2215 немного иначе считает длины рёбер ИИ-графов,
в том числе межуровневые в глобальном графе. Это может повлиять на
скорость перемещения новых ботов между картами.

Ссылки:

Тестовая карта (выпущенная несколько ранее)
Компилятор

_________________________________

Надеюсь, вас это заинтересует.

Даже если вы не заинтересованы в разработке SP-карт, эти инструменты делают возможным внесения в MP разнообразия и новых игровых режимов, например, обороны от нападающих волн мутантов.




Сообщение отредактировал bac9-flcl - Вторник, 08.01.2008, 10:23
 
StalkerMapsДата: Вторник, 08.01.2008, 10:28 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 1276
Репутация: 59
Статус: Offline
Тестовую карту видел, понравилась, человечки ходят, стреляют, все пироги...
А вот насчет обороны и\или мутантов для MП это интересно!
А кто-нибудь уже пробовали именно это в МП реализовать? Есть уже какие-то наработки?
Мы обязательно со своими обсудим!
Это очень интересно, огромное спасибо, что не пожалел своего времени и нам об этом рассказал. Если нам хватит умений (а вот я боюсь что не хватит) мы будем рады обрадовать поклонников нашего тврчества новыми картами с этими режимами. Спасибо!


Why do you call your maps "beta"?
— Cuz it's beta than nothing!
 
bac9-flclДата: Вторник, 08.01.2008, 10:53 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 73
Репутация: 5
Статус: Offline
Еще не пробовали, но, думаю, особых проблем с этим не возникнет. По крайней мере, в первом варианте это можно реализовать как карту с обычными DM-обьектами, но откомпилированную с AI (под синглплеер), после чего расставить на ней монстров (через acdc или скрипты, например).

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




Сообщение отредактировал bac9-flcl - Вторник, 08.01.2008, 10:54
 
goliafДата: Вторник, 08.01.2008, 11:00 | Сообщение # 4
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 1
Статус: Offline
Респект всем ,принимавшим участие в разработке компилятора и составлении мануала надеюсь вскоре МП немного оживится и обретет новое лицо

Сообщение отредактировал goliaf - Вторник, 08.01.2008, 11:00
 
Saint_toniKДата: Среда, 09.01.2008, 10:39 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 19
Репутация: 0
Статус: Offline
Мда, там и до ММОРПГ недалеко дорасти smile
Респект создателям!


 
EmpRДата: Четверг, 10.01.2008, 09:39 | Сообщение # 6
Рядовой
Группа: RESIDENTS
Сообщений: 4
Репутация: 0
Статус: Offline
Мультиплеер поддерживает ботов, при некоторых условиях сборки карты, но вот беда - на mp_actor они не реагируют.
 
NightwolfДата: Понедельник, 11.02.2008, 16:08 | Сообщение # 7
Сержант
Группа: Пользователи
Сообщений: 23
Репутация: 0
Статус: Offline
Это обращение к независимым картоделам. ОБЪЕДЕНЯЙТЕСЬ (с разботчиками модов под СИНГЛ)!!!!!!!!!! От вас требуется помощь с картами для создания новых уникальных локаций на Сталкер ( кстати на sdk.stalker-game.com есть модер Z.E.N. который создает мод, очень хороший мод, где планируются новые локации ) я вам скажу огромнейшее количество игроков в Сталкер мечтают о новых локациях, а их нет, в тоже время вы создали большое количество прекраснейших карт но поиграть в них может 3% геймеров (Интернета нормального маловато, а по сети нужны ключи) так что ждем и надеемся...

Искренне ваш фанат (ваших карт и еще Z.E.N. мода)...


Я дитя Зоны... Она мне мать... Жаль только что плохая...
 
StalkerMapsДата: Понедельник, 11.02.2008, 18:31 | Сообщение # 8
Admin
Группа: Администраторы
Сообщений: 1276
Репутация: 59
Статус: Offline
Quote (Nightwolf)
ОБЪЕДЕНЯЙТЕСЬ (с разботчиками модов под СИНГЛ)!!!!!!!!!!

Ну во-первых не надо орать.
Во вторых, мы не можем ни с кем объединится по той же причине по которой Америка не может войти в состав Украины. И дело не только в масштабах (хотя собственно и в них тоже, Сообщество это мягко говоря общирное скопление людей, у которых в силу вынесенной в название независимости свои интересы) а просто в силу географии. Мы занимаемся мультиплеером и только. У карт под мультиплеер и сингл ПРИНЦИПИАЛЬНО разный подход к построению. И я говорю не только про технологию сборки. Есть исключения, недавно одна очень известная команда попросила нашей помощи в деле создания СП карты. Но там случай совершенно другой. У них горят сроки, а мы выступаем в роли спецназа- то есть работает быстро и слаженно. Поэтому собственно к нам и обратились. Собственно говоря мы и далее планируем сотрудничать с этой командой. Повторюсь, ни о каком объединении с кем бы то ни было речь не идет, и быть не может.


Why do you call your maps "beta"?
— Cuz it's beta than nothing!
 
NightwolfДата: Пятница, 15.02.2008, 01:15 | Сообщение # 9
Сержант
Группа: Пользователи
Сообщений: 23
Репутация: 0
Статус: Offline
Ну хотя бы есть задумка создать пару карт под сингл, а то уж очень хочется а карт нет cry ну или хоть пару подземелий модеры думаю если-что сами додумаются как их вставить wink

Я дитя Зоны... Она мне мать... Жаль только что плохая...
 
организмДата: Четверг, 01.01.2009, 17:32 | Сообщение # 10
Рядовой
Группа: Пользователи
Сообщений: 12
Репутация: 0
Статус: Offline
на этом сайте я нашел много хороших карт для мультиплеера ,которые хорошо пошлиб на синг .Ведь карта зоны недописана до конца .

О нет ,этой зоны нет прекрасней !
 
AlexandrДата: Четверг, 01.01.2009, 17:48 | Сообщение # 11
Генерал-полковник в запасе
Группа: Проверенные
Сообщений: 272
Репутация: 11
Статус: Offline
Quote (организм)
на этом сайте я нашел много хороших карт для мультиплеера ,которые хорошо пошлиб на синг .Ведь карта зоны недописана до конца .

Это побуждение к действию?

Если да, то:

1. Нет МП-СДК ЧН, вот когда будет, можно думать и создании сингл. карт, а это зависит от разработчиков.
2.А "ТЧ как платформа для нас мертва." - (цит. StalkerMaps (Сообщение # 8 "союзникам"))

 
StalkerMapsДата: Четверг, 01.01.2009, 17:48 | Сообщение # 12
Admin
Группа: Администраторы
Сообщений: 1276
Репутация: 59
Статус: Offline
Quote (организм)
Ведь карта зоны недописана до конца .

Здесь не в карте зоны дело. Дело в сценарии и геймплее. Если не будет хорошего сценария и будет неинтересно играть вы пробежите новые синг-карты по диагонали и не получите удовольствия. Так что первым делом, сценарий, потом интересные задачи для миссий и новые фичи, а уж потом новые карты. По крайней мере я думаю так.

+ всё что написал выше Alexandr разумеется.


Why do you call your maps "beta"?
— Cuz it's beta than nothing!
 
-Kurt-Дата: Суббота, 21.02.2009, 16:41 | Сообщение # 13
Сержант
Группа: Пользователи
Сообщений: 25
Репутация: 2
Статус: Offline
Quote (EmpR)
Мультиплеер поддерживает ботов, при некоторых условиях сборки карты, но вот беда - на mp_actor они не реагируют.

Такс....
Значит всетаки можно....
Ну что тут сказать- если боты не реагируют на мп атора, то можно их использовать как отличное атмосферное дополнение к карте, например заспавнить безобидных тушканов и крыс в небольшом количестве, но самым выигрышным в этом плане былобы добавить в небо ворон! smile
 
macronДата: Суббота, 21.02.2009, 17:26 | Сообщение # 14
Генерал-майор
Группа: Пользователи
Сообщений: 279
Репутация: 14
Статус: Offline
Quote (-Kurt-)
но самым выигрышным в этом плане былобы добавить в небо ворон

Вот с воронами как раз косяки. На сервере нормально, а у клиентов в лучшем случае такое будет:
http://img9.imageshack.us/img9/4861/l01escape.jpg


Макрон-1 непобедим!
 
NightwolfДата: Среда, 11.03.2009, 14:40 | Сообщение # 15
Сержант
Группа: Пользователи
Сообщений: 23
Репутация: 0
Статус: Offline
wacko о Господи Что ЭТО?!!

Я дитя Зоны... Она мне мать... Жаль только что плохая...
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: