Цитата:
Не через лог же гонять данные и через чат отправлять команды :). Только чтобы кроме опроса "генералом"-внешней программой кто и где находится ("генерал" по идее ведь знает что у него есть, остается только узнавать периодически где), этим "кто и где" приказы отдать, надо сделать спавн объектов (и маршрутов) прямо в текущей миссии, а иначе приказы то отдать можно сколько угодно, только их выполнить ни как не получится, да и знаний от местонахождения войск не слишком много пользы. |
Цитата:
остаеться решить, как лучше реализовывать етот АПИ |
Цитата:
Есть реально спаун любых объектов, в любое время, в любом месте? Дайте две :) Ну дайте на самом деле, если есть, на покататься. |
Цитата:
|
итак. проанализировав я прихожу к такому выводу.
для реализации ИИ наземки нужно уровня требуеться 1) часть(илоносная) а) перестроение в различных условиях - под огнем противника(при встрече с ним) - под атакой авиации - перестроение на марше в колонну - выбор приоритетной цели - подавление по ЛА(уже есть) - проверку на землю под ними. чтобы по морю не ездили(для кораблей-суше) 2) внешняя(интерфейс обмена между илом и внешней средой) для етого нужен - интерфейс обмена(преположительно-консоль) - интерфейс ввода(?) - технология динамической подгрузки пути для юнитов наземных - технология обмена между юзером и сервером обновленного маршрута суть работы всего просто. мнгновенные действия- на умотрение самой наземки. а вот тактика, куда ехать- на усмотрение внешних программ. ибо в самом иле ето сделать нереал. а программу можно написать любую. предлагаю двигаться так ----- Борада, посмотри там в коде плз папку ai/ground в ней класс chiefground а в ней метод AutoChooseFormation да и вообще, в етом районе. похоже построение локализовано там. есть какие мысли? |
ок, хотя я там как слон в посудной лавке.. попробую
Посмотрел. букавок много.. не осилю с наскока. Я ж програмист с топором. :cry: Куски конечно вижу некоторые, где считает, но связать в цепочку не могу. Квалификация не та. С явой я не работал ни практически , не теоретически. Понятно что ИИ расчитан универсальный, на всю технику. Математически угадываю некоторые моменты. Но без посторонней помощи не разберусь. Нашел дистанцию в колонне. Зависит так же от скорости колонны. Нашел кусок где обсчитывается антистолкновение и объезд .. в общем при амнезии "тут помню - тут не помню..." |
Если я правильно понимаю суть вопроса , динамическую подгрузку обьектов реализовали в Зутимоде http://il2ultrapack.net46.net/index....pic,214.0.html соответственно можно посмотреть там.
|
Цитата:
|
Мне показалось, что движение в колонне обсчитывается не как построение "колонна", а как движение каждого объекта по маршруту с проверкой "не уверен- не обгоняй"
И работает один модуль на все колонны с любой техникой, это значит для построения в линию нужно вводить еще перпендикулярное смещение относительно вектора маршрута, при этом логика не обгонять заменяется на выравнивать. Хм.. немалый кусок добавлять придется. При этом ИИ всё-равно будет идти по маршруту, другой путь - это уже глобальная переделка. |
Цитата:
Все объекты, в том числе и маршруты грузятся с файлом миссии. Ничего спаунить в течении миссии с этим модом нельзя. |
Цитата:
|
В данном варианте - нет.
|
А как реализованы маршруты - я имею виду - программно? Инструментарием пока не обзавелся, так что пока чисто теоретически размышляю.
|
Векторно. От точки к точке. 1 точка = 1 пиксел на карте текстур
Маршрут - есть последовательное перечисление этих точек в файле миссии. |
я немного не об этом. как они представлены в самой программе. имхо - любые данные в программе можно изменить. маршрут как раз и есть данные считываемые при загрузке, остается только заменить их по команде АПИ.
|
В какой программе? В коде ил2?
Думаю читает в список из файла *.mis Где именно в коде - незнаю. |
Цитата:
а в теории то оно так. только на практике есть проблемы- мало заменить их только на сервере, так надо еще синхронизацию между пользователями сделать... |
Нашел вроде - RoadPath
Как и предполагал - ArrayList |
в файле миссии задаются начальная, конечная и точки поворотов, с указанием скорости в текущей точке. задача - возможность динамически, через АПИ, менять эти данные - увеличивать/уменьшать количество точек, их координаты и скорость. Как-то так видится.
Синхронизация мгновенная не требуется - это ж не самолеты. В моде Зути время синхронизации кажется настраивается. Расширить, так сказать, его функции. Проблема, получается, только в раздаче новых маршрутов. Но событие это не такое частое, чтоб требовалась мгновенная синхронизация. Кстати - неясно - сейчас синхронизация происходит? я имею ввиду движущуюся наземку от Зути. |
Ну конечно имея интерфейс можно менять этот список и подсовывать его модулю движения. Но для этого придется много еще что добавлять. Должна быть "карта дорог", сечас её нет, маршрут создает по определенным правилам полный редактор. Иначе придется реалтайм просчитывать регулярно сотни вариантов маршрутов. Сейчас это оптимизировано, в интелектуальном варианте, немало процессорного времени уйдет на это.
Добавляя подобные фичи, мы серьезно рискуем получить пошаговую войнушку. Имхо. |
Млин - а зачем так заморачиваться? Ну во первых смена заданного маршрута это событие чрезвычайное и редкое, раз. Давать новый маршрут будет не ИЛ а сторонний движок (коммандер/демон) и в него можно заранее засунуть варианты запасных маршрутов, два
Типа колонна нарвалась на разрушенный мост - идет донесение командованию - командование выдает новый маршрут - все как на войне. зачем все на ИИ вешать, оставте стратегам что нибудь :) Одна только возможность динамической смены подмены маршрутов серьезно разноообразит геймплей. Можно будет ставить дополнительные цели наземке. Перебрасывать ее в нужном направлении по ходу войны. Создавать и направлять резервы - любой проект от этого выиграет. |
Пример
Представим - едет колонна. Доезжает до моста, а он взорван. И всё. В ил2 колонна будет стоять перед этим мостом вечность, если даже в 200 метрах стоит второй, целый мост. Что же делать? Представим логику Проверяем маршрут - облом -> break Начинаем искать другой маршрут. Достаем карту дорог. Начинаем считать от точки останова. Как? перебором. как слепой нащупывает дорогу. Идет, идет - уперся. Пишем в память - этот маршрут тупиковый. Возвращаемся к первому перекрестку и выбираем другой поворот.... тупик ( или ушло в другой город) и снова.... Представляешь объем? В реале это займет може 1/10 сек, мож полсекунды. А это очень много. А надо проверить и на дистанцию маршрут, выбрать более короткий. Или тот который подходит ближе всего к точке назначения, а остаток пути по полям пройдет ( так сейчас работает в полном редакторе) Если это всё будет в реалтайме, вместе с другими процессами... |
Вероятность уничтожения моста должна учитываться картоделом (генератором) еще на этапе создания миссии. И у каждого такого моста должен быть запасной маршрут. Тока и всего - война этож всегда по плану.
|
Цитата:
|
Цитата:
А не лучше и гибче, чтобы поиск обхода после сообщения от движка Ила, что колонна не движется, искал внешний командир по базе, а в Ил-2 подгружал только уже новый просчитанный маршрут и запускал по нему новое движение? |
Еще раз повторю. Нефиг илу самому считать маршрут. Если уперся - пусть ждет нового, через апи. Пусть несразу.
|
Цитата:
Останавливаем сервер, исправляем карту, запускаем сервер снова - это здорово будет? |
Воина не встанет - встанет колонна. Как впрочем и сейчас т.е. ничего не изменится :(
|
Цитата:
И если сам Ил-2 не умеет распараллеливаться, то хоть так воспользоваться ресурсами современных компьютеров можно. |
Цитата:
Что ты имеешь в виду под "внешний командир"? Человека-диспетчера, который не летает а следит за ситуацией, типа штабного работника? :cool: Хм.. я конечно тож пофантазировать люблю... |
Цитата:
можно сделать виртуального генерала и виртуальный штаб, который будет через АПИ "разруливать" такие коллизии. В конце концов генератор миссий сейчас работает только в промежутке между миссиями, никто не мешает его задействовать постоянно, винда многозадачна уже лет 10. |
Цитата:
Примеры нужны? |
Цитата:
Каждый напишет что ему нужно. А спаун маршрута как объекта в миссии наверняка реализовать проще. Чем его же, и плюс ИИ командира с базой всунуть в сам Ил. Как проще потом дописать внешнего командира работающего с нормальной базой "арены". |
Ну мне только остается ждать это счастливое и крутое будущее. Глобально обрисовать чудесные перспективы, это хорошо получается,
а поставить танчики в линию некому...:ok: |
сразу говорю- функции поиска маршрутов в ил не всунуть по огрмному количеству причин. на карте объектов дохрена и еще больше, если ил начнет ето считать через свою корявую базу данных- бред будет. пусть генерацией и обработкой займеться нормальная, специальна сделанная прога-база данных.
сейчас наша задача( и етого мода) сделать общий интерфейс для етой проги. Цитата:
сейчас нет интерфейса, его надо написать вместе. вместе надо сделать етот мод. а там уж видно будет. мб и останеться то 1-2 сервра к тому моменту... |
ИИ для работы с базой гораздо проще написать на SQL специально для работы с базами созданном.
Ну и базу использовать готовую проще, чем сочинять заново да на языке не очень для этого приспособленном. |
Цитата:
тут огромное количество работы. не стоит думать, что так все просто. ты ж сам видел код. разве там очевидно что нужно нажать чтоб они выстроились в линию? вот и я так с ходу сказать не могу что там и как рбаотает...надо копать... |
кстати и команды на перестроение формации можно тож с внешки получать (с АПИ) :)
В общем только АПи и нужен с возможностью подгрузки новых маршрутов. А как уж эти маршруты будут выглядеть - задача стороннего разработчика проекта. |
Цитата:
Но ведь проблема движения на этом не заканчивается. Ну доедут танчики до первого же препятствия и что? Ведь будет все равно - в линию они стоят, ромбом или в колонне. |
Цитата:
в етом то и вся идея мода- мнгновенные события обрабатывает ил, а сам ИИ генерит спец. прога. которая уже все обсчитывает... |
Текущее время: 22:37. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot