AviaSkins.Forums

AviaSkins.Forums (http://forum.aviaskins.com/index.php)
-   "МОДный" ON-LINE. (http://forum.aviaskins.com/forumdisplay.php?f=40)
-   -   Вопрос к мододелам и предложение. (http://forum.aviaskins.com/showthread.php?t=1022)

Karabas-Barabas 04.11.2009 15:58

Цитата:

Сообщение от ZloyPetrushkO (Сообщение 36086)
...
вторая часть- это как ни странно, выведение интерфейса под сторонний софт. я думаю, это сделать не так уж сложно. организовывать ето все дело как пошаговое: раз в Х минут происходит обмен информацией. со стороны ила выводиться список всей техники, и где она находиться. к илу приходят новые указание технике куда ехать. ...

Вторая часть, если короче - это создание АПИ для Ила.
Не через лог же гонять данные и через чат отправлять команды :).

Только чтобы кроме опроса "генералом"-внешней программой кто и где находится ("генерал" по идее ведь знает что у него есть, остается только узнавать периодически где), этим "кто и где" приказы отдать, надо сделать спавн объектов (и маршрутов) прямо в текущей миссии, а иначе приказы то отдать можно сколько угодно, только их выполнить ни как не получится, да и знаний от местонахождения войск не слишком много пользы.

ZloyPetrushkO 04.11.2009 16:26

Цитата:

Сообщение от Karabas-Barabas (Сообщение 36166)
Вторая часть, если короче - это создание АПИ для Ила.

Только чтобы кроме опроса "генералом"-внешней программой кто и где находится ("генерал" по идее ведь знает что у него есть, остается только узнавать периодически где), этим "кто и где" приказы отдать, надо сделать спавн объектов (и маршрутов) прямо в текущей миссии, а иначе приказы то отдать можно сколько угодно, только их выполнить ни как не получится, да и знаний от местонахождения войск не слишком много пользы.

в общем то да. подгрузка объектов( и маршрутов к ним) по идее уже отлажено.
остаеться решить, как лучше реализовывать етот АПИ

Karabas-Barabas 04.11.2009 16:36

Цитата:

Сообщение от ZloyPetrushkO (Сообщение 36173)
в общем то да. подгрузка объектов( и маршрутов к ним) по идее уже отлажено.
остаеться решить, как лучше реализовывать етот АПИ

Это где отлажено?
Есть реально спаун любых объектов, в любое время, в любом месте?
Дайте две :) Ну дайте на самом деле, если есть, на покататься.

ZloyPetrushkO 04.11.2009 17:17

Цитата:

Сообщение от Karabas-Barabas (Сообщение 36174)
Это где отлажено?
Есть реально спаун любых объектов, в любое время, в любом месте?
Дайте две :) Ну дайте на самом деле, если есть, на покататься.

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

ZloyPetrushkO 04.11.2009 17:36

итак. проанализировав я прихожу к такому выводу.
для реализации ИИ наземки нужно уровня требуеться
1) часть(илоносная)
а) перестроение в различных условиях
- под огнем противника(при встрече с ним)
- под атакой авиации
- перестроение на марше в колонну
- выбор приоритетной цели
- подавление по ЛА(уже есть)
- проверку на землю под ними. чтобы по морю не ездили(для кораблей-суше)

2) внешняя(интерфейс обмена между илом и внешней средой) для етого нужен
- интерфейс обмена(преположительно-консоль)
- интерфейс ввода(?)
- технология динамической подгрузки пути для юнитов наземных
- технология обмена между юзером и сервером обновленного маршрута

суть работы всего просто. мнгновенные действия- на умотрение самой наземки. а вот тактика, куда ехать- на усмотрение внешних программ. ибо в самом иле ето сделать нереал. а программу можно написать любую.
предлагаю двигаться так
-----
Борада, посмотри там в коде плз папку ai/ground в ней класс chiefground а в ней метод AutoChooseFormation
да и вообще, в етом районе. похоже построение локализовано там. есть какие мысли?

JGr124_boRada 04.11.2009 18:56

ок, хотя я там как слон в посудной лавке.. попробую


Посмотрел. букавок много.. не осилю с наскока. Я ж програмист с топором. :cry:
Куски конечно вижу некоторые, где считает, но связать в цепочку не могу. Квалификация не та. С явой я не работал ни практически , не теоретически.
Понятно что ИИ расчитан универсальный, на всю технику. Математически угадываю некоторые моменты. Но без посторонней помощи не разберусь. Нашел дистанцию в колонне. Зависит так же от скорости колонны.
Нашел кусок где обсчитывается антистолкновение и объезд .. в общем при амнезии "тут помню - тут не помню..."

raptor_c4 04.11.2009 18:59

Если я правильно понимаю суть вопроса , динамическую подгрузку обьектов реализовали в Зутимоде http://il2ultrapack.net46.net/index....pic,214.0.html соответственно можно посмотреть там.

JGr124_boRada 04.11.2009 19:29

Цитата:

Сообщение от raptor_c4 (Сообщение 36196)
Если я правильно понимаю суть вопроса , динамическую подгрузку обьектов реализовали в Зутимоде http://il2ultrapack.net46.net/index....pic,214.0.html соответственно можно посмотреть там.

Хм.. я такого там не нашел. Линия фронта там меняется динамически, филды перекрашиваются, а вот подгрузки объектов не видел.

JGr124_boRada 04.11.2009 19:36

Мне показалось, что движение в колонне обсчитывается не как построение "колонна", а как движение каждого объекта по маршруту с проверкой "не уверен- не обгоняй"
И работает один модуль на все колонны с любой техникой, это значит для построения в линию нужно вводить еще перпендикулярное смещение относительно вектора маршрута, при этом логика не обгонять заменяется на выравнивать. Хм.. немалый кусок добавлять придется.
При этом ИИ всё-равно будет идти по маршруту, другой путь - это уже глобальная переделка.

Karabas-Barabas 04.11.2009 20:14

Цитата:

Сообщение от raptor_c4 (Сообщение 36196)
Если я правильно понимаю суть вопроса , динамическую подгрузку обьектов реализовали в Зутимоде http://il2ultrapack.net46.net/index....pic,214.0.html соответственно можно посмотреть там.

Там только запустили движение.
Все объекты, в том числе и маршруты грузятся с файлом миссии.
Ничего спаунить в течении миссии с этим модом нельзя.

LePage 04.11.2009 21:05

Цитата:

Сообщение от JGr124_boRada (Сообщение 36201)
Мне показалось, что движение в колонне обсчитывается не как построение "колонна", а как движение каждого объекта по маршруту с проверкой "не уверен- не обгоняй"
И работает один модуль на все колонны с любой техникой, это значит для построения в линию нужно вводить еще перпендикулярное смещение относительно вектора маршрута, при этом логика не обгонять заменяется на выравнивать. Хм.. немалый кусок добавлять придется.
При этом ИИ всё-равно будет идти по маршруту, другой путь - это уже глобальная переделка.

А менять этот маршрут, по внешней команде, через АПИ, можно? Тогда бы можно было и реализовать все задумки. Путем внешнего ввода маршрутов. Вот вам и спаун в любое время в любой точке и объезд, и т.д.

JGr124_boRada 04.11.2009 21:07

В данном варианте - нет.

LePage 04.11.2009 21:11

А как реализованы маршруты - я имею виду - программно? Инструментарием пока не обзавелся, так что пока чисто теоретически размышляю.

JGr124_boRada 04.11.2009 21:13

Векторно. От точки к точке. 1 точка = 1 пиксел на карте текстур
Маршрут - есть последовательное перечисление этих точек в файле миссии.

LePage 04.11.2009 21:17

я немного не об этом. как они представлены в самой программе. имхо - любые данные в программе можно изменить. маршрут как раз и есть данные считываемые при загрузке, остается только заменить их по команде АПИ.

JGr124_boRada 04.11.2009 21:32

В какой программе? В коде ил2?
Думаю читает в список из файла *.mis Где именно в коде - незнаю.

ZloyPetrushkO 04.11.2009 21:32

Цитата:

Сообщение от LePage (Сообщение 36223)
я немного не об этом. как они представлены в самой программе. имхо - любые данные в программе можно изменить. маршрут как раз и есть данные считываемые при загрузке, остается только заменить их по команде АПИ.

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

JGr124_boRada 04.11.2009 21:35

Нашел вроде - RoadPath
Как и предполагал - ArrayList

LePage 04.11.2009 21:38

в файле миссии задаются начальная, конечная и точки поворотов, с указанием скорости в текущей точке. задача - возможность динамически, через АПИ, менять эти данные - увеличивать/уменьшать количество точек, их координаты и скорость. Как-то так видится.
Синхронизация мгновенная не требуется - это ж не самолеты. В моде Зути время синхронизации кажется настраивается.

Расширить, так сказать, его функции.
Проблема, получается, только в раздаче новых маршрутов. Но событие это не такое частое, чтоб требовалась мгновенная синхронизация.
Кстати - неясно - сейчас синхронизация происходит? я имею ввиду движущуюся наземку от Зути.

JGr124_boRada 04.11.2009 21:48

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

LePage 04.11.2009 21:51

Млин - а зачем так заморачиваться? Ну во первых смена заданного маршрута это событие чрезвычайное и редкое, раз. Давать новый маршрут будет не ИЛ а сторонний движок (коммандер/демон) и в него можно заранее засунуть варианты запасных маршрутов, два

Типа колонна нарвалась на разрушенный мост - идет донесение командованию - командование выдает новый маршрут - все как на войне.

зачем все на ИИ вешать, оставте стратегам что нибудь :)

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

JGr124_boRada 04.11.2009 22:00

Пример
Представим - едет колонна. Доезжает до моста, а он взорван. И всё. В ил2 колонна будет стоять перед этим мостом вечность, если даже в 200 метрах стоит второй, целый мост.
Что же делать? Представим логику
Проверяем маршрут - облом -> break
Начинаем искать другой маршрут. Достаем карту дорог. Начинаем считать от точки останова. Как? перебором. как слепой нащупывает дорогу. Идет, идет - уперся. Пишем в память - этот маршрут тупиковый.
Возвращаемся к первому перекрестку и выбираем другой поворот.... тупик ( или ушло в другой город) и снова....
Представляешь объем? В реале это займет може 1/10 сек, мож полсекунды. А это очень много. А надо проверить и на дистанцию маршрут, выбрать более короткий. Или тот который подходит ближе всего к точке назначения, а остаток пути по полям пройдет ( так сейчас работает в полном редакторе)
Если это всё будет в реалтайме, вместе с другими процессами...

LePage 04.11.2009 22:03

Вероятность уничтожения моста должна учитываться картоделом (генератором) еще на этапе создания миссии. И у каждого такого моста должен быть запасной маршрут. Тока и всего - война этож всегда по плану.

JGr124_boRada 04.11.2009 22:03

Цитата:

Сообщение от LePage (Сообщение 36232)
Млин -

Вот именно, млин. Это тебе пальцем ткнуть, а компьютеру надо всё разжевать. Ты вот просто на словах попробуй описать алгоритм подробно, по шагам. А это легче чем написать код.

Karabas-Barabas 04.11.2009 22:05

Цитата:

Сообщение от JGr124_boRada (Сообщение 36234)
Пример
Представим - едет колонна. Доезжает до моста, а он взорван. И всё. В ил2 колонна будет стоять перед этим мостом вечность, если даже в 200 метрах стоит второй, целый мост.
Что же делать? Представим логику
Проверяем маршрут - облом -> break
Начинаем искать другой маршрут. Достаем карту дорог. Начинаем считать от точки останова. Как? перебором. как слепой нащупывает дорогу. Идет, идет - уперся. Пишем в память - этот маршрут тупиковый.
Возвращаемся к первому перекрестку и выбираем другой поворот.... тупик ( или ушло в другой город) и снова....
Представляешь объем? В реале это займет може 1/10 сек, мож полсекунды. А это очень много. А надо проверить и на дистанцию маршрут, выбрать более короткий. Или тот который подходит ближе всего к точке назначения, а остаток пути по полям пройдет ( так сейчас работает в полном редакторе)
Если это всё будет в реалтайме, вместе с другими процессами...

Ты хочешь это повесить на движок ила?
А не лучше и гибче, чтобы поиск обхода после сообщения от движка Ила, что колонна не движется, искал внешний командир по базе, а в Ил-2 подгружал только уже новый просчитанный маршрут и запускал по нему новое движение?

LePage 04.11.2009 22:08

Еще раз повторю. Нефиг илу самому считать маршрут. Если уперся - пусть ждет нового, через апи. Пусть несразу.

Karabas-Barabas 04.11.2009 22:08

Цитата:

Сообщение от LePage (Сообщение 36236)
Вероятность уничтожения моста должна учитываться картоделом (генератором) еще на этапе создания миссии. И у каждого такого моста должен быть запасной маршрут. Тока и всего - война этож всегда по плану.

А если картодел не предусмотрел все возможности, то война встанет?
Останавливаем сервер, исправляем карту, запускаем сервер снова - это здорово будет?

LePage 04.11.2009 22:10

Воина не встанет - встанет колонна. Как впрочем и сейчас т.е. ничего не изменится :(

Karabas-Barabas 04.11.2009 22:12

Цитата:

Сообщение от LePage (Сообщение 36239)
Еще раз повторю. Нефиг илу самому считать маршрут. Если уперся - пусть ждет нового, через апи. Пусть несразу.

Вот именно, тем более внешнее командование (командер-демон-SQL база движка войны и т.п.), которое будет считать новый маршрут, будет работать параллельно с Илом в отдельном потоке.
И если сам Ил-2 не умеет распараллеливаться, то хоть так воспользоваться ресурсами современных компьютеров можно.

JGr124_boRada 04.11.2009 22:12

Цитата:

Сообщение от Karabas-Barabas (Сообщение 36238)
Ты хочешь это повесить на движок ила?
А не лучше и гибче, чтобы поиск обхода после сообщения от движка Ила, что колонна не движется, искал внешний командир по базе, а в Ил-2 подгружал только уже новый просчитанный маршрут и запускал по нему новое движение?

Нет. Я не хочу это повесить на ила и уже сказал почему.
Что ты имеешь в виду под "внешний командир"? Человека-диспетчера, который не летает а следит за ситуацией, типа штабного работника? :cool:
Хм.. я конечно тож пофантазировать люблю...

Karabas-Barabas 04.11.2009 22:15

Цитата:

Сообщение от JGr124_boRada (Сообщение 36243)
Нет. Я не хочу это повесить на ила и уже сказал почему.
Что ты имеешь в виду под "внешний командир"? Человека-диспетчера, который не летает а следит за ситуацией, типа штабного работника? :cool:
Хм.. я конечно тож пофантазировать люблю...

Зачем.
можно сделать виртуального генерала и виртуальный штаб, который будет через АПИ "разруливать" такие коллизии. В конце концов генератор миссий сейчас работает только в промежутке между миссиями, никто не мешает его задействовать постоянно, винда многозадачна уже лет 10.

JGr124_boRada 04.11.2009 22:15

Цитата:

Сообщение от Karabas-Barabas (Сообщение 36242)
Вот именно, тем более внешнее командование (командер-демон-SQL база движка войны и т.п.), которое будет считать новый маршрут, будет работать параллельно с Илом в отдельном потоке.
И если сам Ил-2 не умеет распараллеливаться, то хоть так воспользоваться ресурсами современных компьютеров можно.

А я тебе скажу что будет - будет несколько проектов ( по числу программистов) и у каждого свой способ реализации этого момента.
Примеры нужны?

Karabas-Barabas 04.11.2009 22:19

Цитата:

Сообщение от JGr124_boRada (Сообщение 36245)
А я тебе скажу что будет - будет несколько проектов ( по числу программистов) и у каждого свой способ реализации этого момента.
Примеры нужны?

И что с того?
Каждый напишет что ему нужно.
А спаун маршрута как объекта в миссии наверняка реализовать проще.
Чем его же, и плюс ИИ командира с базой всунуть в сам Ил.
Как проще потом дописать внешнего командира работающего с нормальной базой "арены".

JGr124_boRada 04.11.2009 22:23

Ну мне только остается ждать это счастливое и крутое будущее. Глобально обрисовать чудесные перспективы, это хорошо получается,
а поставить танчики в линию некому...:ok:

ZloyPetrushkO 04.11.2009 22:24

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

сейчас наша задача( и етого мода) сделать общий интерфейс для етой проги.




Цитата:

Сообщение от JGr124_boRada (Сообщение 36245)
А я тебе скажу что будет - будет несколько проектов ( по числу программистов) и у каждого свой способ реализации этого момента.
Примеры нужны?

ну а разве ето плохо?
сейчас нет интерфейса, его надо написать вместе. вместе надо сделать етот мод. а там уж видно будет. мб и останеться то 1-2 сервра к тому моменту...

Karabas-Barabas 04.11.2009 22:26

ИИ для работы с базой гораздо проще написать на SQL специально для работы с базами созданном.
Ну и базу использовать готовую проще, чем сочинять заново да на языке не очень для этого приспособленном.

ZloyPetrushkO 04.11.2009 22:28

Цитата:

Сообщение от JGr124_boRada (Сообщение 36248)
Ну мне только остается ждать это счастливое и крутое будущее. Глобально обрисовать чудесные перспективы, это хорошо получается,
а поставить танчики в линию некому...:ok:

а кто говорил что ето будет быстро?
тут огромное количество работы. не стоит думать, что так все просто.
ты ж сам видел код. разве там очевидно что нужно нажать чтоб они выстроились в линию? вот и я так с ходу сказать не могу что там и как рбаотает...надо копать...

LePage 04.11.2009 22:28

кстати и команды на перестроение формации можно тож с внешки получать (с АПИ) :)

В общем только АПи и нужен с возможностью подгрузки новых маршрутов. А как уж эти маршруты будут выглядеть - задача стороннего разработчика проекта.

Karabas-Barabas 04.11.2009 22:30

Цитата:

Сообщение от JGr124_boRada (Сообщение 36248)
Ну мне только остается ждать это счастливое и крутое будущее. Глобально обрисовать чудесные перспективы, это хорошо получается,
а поставить танчики в линию некому...:ok:

Да не кто не спорит, что танчики в линию должен ставить движок ила.
Но ведь проблема движения на этом не заканчивается.
Ну доедут танчики до первого же препятствия и что?
Ведь будет все равно - в линию они стоят, ромбом или в колонне.

ZloyPetrushkO 04.11.2009 22:31

Цитата:

Сообщение от LePage (Сообщение 36252)
кстати и команды на перестроение формации можно тож с внешки получать (с АПИ) :)

В общем только АПи и нужен с возможностью подгрузки новых маршрутов. А как уж эти маршруты будут выглядеть - задача стороннего разработчика проекта.

именно...через АПИ уже можно делать многое...
в етом то и вся идея мода- мнгновенные события обрабатывает ил, а сам ИИ генерит спец. прога. которая уже все обсчитывает...


Текущее время: 09:12. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot