Frost_rus Posted November 25, 2007 Share Posted November 25, 2007 Некоторое время назад у меня возникла идея начать ковырять ЛО на предмет создания программного генератора миссий. Сначала была просто идея случайным образом менять маршрут движения наземки в существующих миссиях на РАФе, чтобы штурмы не знали заранее, где точно находится цель. Затем появились идеи создания полноценной онлайн ДК с линией фронта, захватом территорий и авиабаз, учетом самолетов и оружия и так далее. Здесь много говорилось об эмуляции ДК, о том, что в ЛО полноценной ДК создать невозможно и так далее. А я задал себе вопрос: "а кто-нибудь это пробовал?". Пока что не нашел, по крайней мере в русской ветке форума. А ведь все это вполне осществимо! (прим. если вы не знаете, что такое онлайн ДК - советую ознакомиться например с этим и этим проектами, а еще лучше - купить Ил-2 и попробовать полетать на них) Ну, до создания движка онлайн динамической кампании пока что как Васюкам до столицы межагалактического шахматного турнира, а начинать с чего-то нужно. Вот пожалуй, я начну, а может быть кто-то и продолжит. Исходные данные не отличаются исчерпываемостью. Есть 1) база данных редактора MEInit.xml 2) библиотека, экспортирующя все необходимое mom.dll 3) так как это dll - возможность просмотреть ее интерфейсы 4) простенький пример создания небольшой миссии с помощью COM 5) желание разобраться Чего нету: 1) никакой документации по mom и meinit 2) достаточного количества человекоресурсов для того, чтобы методом эмирической расшифровки имен интерфейсов и переменных а также методом тыка разобраться ЧТО ЕСТЬ ЧТО. *** Первая цель моей работы: как раз методами из п.2 составить п.1 Для начала я решил разбираться в "мелком" - ну, к примеру с установки погоды. Мол, что там, поброжу по mom-у, найду переменные отвечающие за сезон, температуру да ветер. Вот когда я увидел сначала IAtmLayerPtr AtmLayer[]; а затем IAtmLayersPtr AtmLayers;, и еще раз взглянул на количество страниц описаний интерфейсов, я понял, что в одиночку закончу работу как раз к старости :) Вообщем, нужно довольно долго и нудно разбираться. Для этого я надеюсь найти здесь заинтересованных помощников. Вот McSim например, тоже заинтересованный, даже в ЛС мне написал. Он кстати разработал для AviaSibir систему установки в миссиях реального времени суток и погоды, уже кое-что. Хочу сразу заметить, что я не хардкорный программер со стажем и многих вещей сам не знаю. Так что если вас пугают слова C++, COM, OLE - знайте, что меня они тоже пугают :lol: но у нас же есть всемогущие google, msdn, rsdn, codeguru, firststeps и еще туева хуча хранилищ человеческой мудрости, которые объяснят непонятные слова. Вот сегодня сам вникал в работу с _bstr_t Короче, работа найдется (наверное) для людей с почти любым уровнем квалификации. А если вы программист-любитель :) это кроме всего прочего еще и возможность узнать технологии, которыми не владели. Ну, все это демагогия, перейду к практике. Для коллективной разработки есть много приблуд. Я совсем немного знаком с системой SVN (subversion) и вэб-утилитой trac соответственно. Конкретно я предлагаю использовать популярный subversion-репозиторий assembla.com Короче говоря, был зарегистрирован репозиторий по адресу http://svn2.assembla.com/svn/lomag. lomag значит lockon mission autogenerator. Для его использования нужно скачать какой-нибудь SVN-клиент (конечно, там есть и web-интерфейс, но он офигенно неудобный). Для Windows рекомендую TurtoiseSVN (http://tortoisesvn.net/downloads), там графический интерфейс, который встраивается прямо в Windows Explorer, и им довольно удобно пользоваться. Если кто не имеет опыта работы с SVN, то либо можно научиться "методом тыка" (там все легко), либо google вам в помощь. Если кратко - ассембла это как ВИКИ, позволит любому участнику workspace-а изменять, дополнять исходники и любые файлы в репозитории (это назвается коммитить), trac - сиситема заданий, то есть кто-то пишет "нужно в генераторе сделать какую-нибудь привязку ко времеи". Кто-то другой отмечает это задание как "взятое", делает, коммитит обновленую версию и отмечает задание как выполненное. Впрочем, до этого нам еще далеко. Assembla кроме SVN и Trac предоставляет еще приличный вэб-вики-движок (я надеюсь, все бывали на википедии и знают, что такое вики). Вот первая вики страничка созданного мною рабочего пространства. Вы регистрируетесь на assembla.com, ищите (пока что пустой) workspace "lockon mission editor and autogenerator" и вступаете в него. Как я уже сказал, на первой стадии будет вестись исследование mom.dll Планируется создать каталог-иерархию интерфейсов с подробным описанием использования. Каталог можно оформить либо как html- или hlp-файлы в репозитории, либо прямо на вики страницах рабочего пространства. Если вы программист - вам доступен "метод тыка", то есть если вам надо исследовать установку ветра, вы берете простейший готовый пример, по-разному ставите разные значения, генерите миссии, запускаете ЛО, смотрите, что там происходит, пишете отчет по IApplication->World->Mission->Meteo->AtmLayer[]->Wind->Speed (очевидно, скорость ветра) и pApplication->World->Mission->Meteo->AtmLayer[]->Wind->Direction (направление в градусах), коммитите это в ассемблу и вот мы уже все умеем работать с ветром. Если у вас нет возможности компилить исходники, вам доступен только эмперический метод: смотрите текстовой 100страничное перечисление интерфейсов (тот же IWind - float Speed) и коммитите описание где и как должна задаваться скорость ветра. Ну вот примерно такая есть работа. Я очень надеюсь, что люди откликнутся на такое предложение и скоро у нас будет полноценный справочник, а затем и созданные с его помощью программы-генераторы. Все не так сложно, как может быть я описал. Жду отзывов и очереди на запись :) PS: меня тут спрашивали в ЛС про межплатворменность... я вот убей Бог, не понимаю, зачем иметь генератор для никсов или макоси, когда сервер, ротатор и сбор статистика все-равно работают под виндой, нет у нас никсового выделенного ЛО-сервера. 1 =RAF=Frost Link to comment Share on other sites More sharing options...
ED Team Laivynas Posted November 25, 2007 ED Team Share Posted November 25, 2007 Переговори со SwingKid - он занимался подобной проблемой и небезуспешно. Best Regards, Dmitry. "Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак Link to comment Share on other sites More sharing options...
Fisben Posted November 25, 2007 Share Posted November 25, 2007 Исходные данные не отличаются исчерпываемостью. Есть 1) база данных редактора MEInit.xml 2) библиотека, экспортирующя все необходимое mom.dll 3) так как это dll - возможность просмотреть ее интерфейсы 4) простенький пример создания небольшой миссии с помощью COM 5) желание разобраться Чего нету: 1) никакой документации по mom и meinit 2) достаточного количества человекоресурсов для того, чтобы методом эмирической расшифровки имен интерфейсов и переменных а также методом тыка разобраться ЧТО ЕСТЬ ЧТО. Герой. Только учти, что в акуле это работать не будет. Совсем. Всего наилучшего, Алексей. Link to comment Share on other sites More sharing options...
Ender Posted November 25, 2007 Share Posted November 25, 2007 и ещё более хуже - миссии будут в xml формате. WE DON'T WANT A WAR. Link to comment Share on other sites More sharing options...
Fisben Posted November 25, 2007 Share Posted November 25, 2007 и ещё более хуже - миссии будут в xml формате. Откуда дровишки??? Всего наилучшего, Алексей. Link to comment Share on other sites More sharing options...
Frost_rus Posted November 25, 2007 Author Share Posted November 25, 2007 я прекрасно знаю, что это не работает в акуле. Миссии там действительно - зип архив с xml и lua скриптами, мне Андрей Чиж сам говорил об этом на этом форуме. И ссылку на пост Dmut'а, где он говорит, что meinit и mom уже убили в акуле я не зря привел. Вот только беда, пока ДКС дорастет до ЛО по количеству еропланов, моя ДК будет работать - а там что-нибудь новое и без таких извращений придумаем. =RAF=Frost Link to comment Share on other sites More sharing options...
DruiD Posted November 25, 2007 Share Posted November 25, 2007 Хорошая идея. Цель минимум - это если не ДК, так просто возможность автоматически выставлять наземку и колонны. Еще здесь нужна минимальная помощь разрабов (в виде документации). =012= A..a..are you gangsters??? No! We are RUSSIANS! Link to comment Share on other sites More sharing options...
Frost_rus Posted November 25, 2007 Author Share Posted November 25, 2007 Хорошая идея. Цель минимум - это если не ДК, так просто возможность автоматически выставлять наземку и колонны. Если создать такой вот справочник - можно будет достаточно просто реализовать и расстановку колонн, и ДК и еще много чего интересного. Еще здесь нужна минимальная помощь разрабов (в виде документации). а вот на это, я так понимаю, расчитывать не приходится. Ну что же, где волонтеры? =RAF=Frost Link to comment Share on other sites More sharing options...
ED Team Chizh Posted November 25, 2007 ED Team Share Posted November 25, 2007 У нас нет документации по МОМу, как и автора. Тут сорри. В Акуле описание миссии будет храниться в файле lua. Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу Link to comment Share on other sites More sharing options...
Frost_rus Posted November 25, 2007 Author Share Posted November 25, 2007 У нас нет документации по МОМу значит скоро будет ;) Тем временем, фаза исследований началась. Я обновил вики-страницу и в репозиории появился пример с подробнейшими комментариями и TODO-задачами от меня. =RAF=Frost Link to comment Share on other sites More sharing options...
Dmut Posted November 25, 2007 Share Posted November 25, 2007 эту бы энергию - да в мирное русло... MOM умер, делать на нем генераотор - трата времени. "There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu [sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic] Link to comment Share on other sites More sharing options...
Frost_rus Posted November 25, 2007 Author Share Posted November 25, 2007 еще раз говорю, я не верю, что через 1 год у нас будет полноценный DCS для которого имеет смысл делать генератор. Так что сейчас имеет смысл разбираться mom-ом. ТЕм более, я летаю на РАФе, где немного утомляет однообразие миссий. Ну и опять же, это возможность попрактиковаться в изучении разных полезных вещей. Тот же subversion Ну что-же, где добровольцы? =RAF=Frost Link to comment Share on other sites More sharing options...
JGr124_MUTbKA Posted November 26, 2007 Share Posted November 26, 2007 PS: меня тут спрашивали в ЛС про межплатворменность... я вот убей Бог, не понимаю, зачем иметь генератор для никсов или макоси, когда сервер, ротатор и сбор статистика все-равно работают под виндой, нет у нас никсового выделенного ЛО-сервера.Ну ты же сам дал ссылку на AirWar от BY. А в таком режиме работы виртуальной войны нужен только веб-сервер. Лично у меня такого под виндой нет. А под FreeBSD - есть, да не один. Именно на нем генерируется миссия, и именно туда сдается текстовый лог того, как ее отлетали. Все можно сделать не хуже, чем в Ил-2, если бы не то, что ты описал в своем посте. :) JGr124 "Katze" Link to comment Share on other sites More sharing options...
JGr124_MUTbKA Posted November 26, 2007 Share Posted November 26, 2007 У нас нет документации по МОМу, как и автора.Своеобразное ощущение - чувствовать себя отличным оракулом, но при этом понимать, что оправдались твои самые худшие предположения. :) P.S.: Вы сами выгнали этого талантливого диверсанта, который жизни не видит без цепляния <censored> виндузятного заголовка к простому, переносимому и мультиплатформенному формату? :) JGr124 "Katze" Link to comment Share on other sites More sharing options...
Frost_rus Posted November 26, 2007 Author Share Posted November 26, 2007 Собственно говоря, особый вэб-сервер не нужен (интересно, как ЛО работает с 2003?) Посмотри сервер статы РАФ - все работает на XPpro (где стоит и ЛО и ТС сервер), стату можно вести в ЛОГ, который потом анализировать и на его основе генерить миссию. Причем делать это придется всего 2 раза в сутки. Или я не верно понял предыдущий пост? =RAF=Frost Link to comment Share on other sites More sharing options...
cat201 Posted December 21, 2007 Share Posted December 21, 2007 ТОварищ! Если тебе еще волонтеры нужны - вот он я!))) Конечно при условии что хоть чутка растолмачишь задачу бедному чайнику. А мне летаааать... А мне летаааать... Охота. http://forex-advise.my1.ru FOREX - Система стабильного заработка на разнице курса валют. Бесплатное обучение, консультации, индивидуальный подход. Link to comment Share on other sites More sharing options...
Frost_rus Posted December 21, 2007 Author Share Posted December 21, 2007 смотри ЛС. Более подробно - стукни в аську 807837 =RAF=Frost Link to comment Share on other sites More sharing options...
Muxa1L Posted January 24, 2008 Share Posted January 24, 2008 Я тоже непротив в этом поучавствовать-игра мне нравится, и начальные знания программирования есть(Паскаль). Если сто я думаю отец помочь сможет. Только проблема в том, что не могу найти этот воркспейс на ассембле. [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
Frost_rus Posted January 24, 2008 Author Share Posted January 24, 2008 https://www.assembla.com/wiki/show/lomag вообще, свяжись со мной icq 807837. Последнее время в связи с сессией работы приостановились, но скоро продолжим. =RAF=Frost Link to comment Share on other sites More sharing options...
Vosxod Posted January 24, 2008 Share Posted January 24, 2008 http://forums.eagle.ru/showthread.php?t=13000 Link to comment Share on other sites More sharing options...
ED Team Laivynas Posted October 19, 2008 ED Team Share Posted October 19, 2008 Возродим тему. :) Теперь формат миссий стал куда более открытым. Best Regards, Dmitry. "Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак Link to comment Share on other sites More sharing options...
Hazard Posted October 22, 2008 Share Posted October 22, 2008 Решил заняться этими самыми исследованиями :) Сейчас нашел время в своем забитом полетном расписании и разбираюсь с редактором. Сразу решил сделать простенкую одиночную миссию с двумя задачами: 1. Взлет на высоту 150 метров 2. Приземление в указанной зоне. Возникло 2 вопроса: Как проконтролировать триггером, что ЛА, управляемый игроком взлетел на заданную высоту? И как создав зону занести ее координаты в АБРИС или указать пилоту другим способом? Спасибо! [sIGPIC][/sIGPIC] MSI P45 Platinum, Core 2 Quad 6600@3000MHz, DDR2 2048@1066MHz, MSI Radeon HD 4850 512Mb, LG 20" 1680x1050@60Hz, Saitek Cyborg Evo Force, win xp sp3 Link to comment Share on other sites More sharing options...
Dmut Posted October 22, 2008 Share Posted October 22, 2008 Решил заняться этими самыми исследованиями :) Сейчас нашел время в своем забитом полетном расписании и разбираюсь с редактором. Сразу решил сделать простенкую одиночную миссию с двумя задачами: 1. Взлет на высоту 150 метров 2. Приземление в указанной зоне. Возникло 2 вопроса: Как проконтролировать триггером, что ЛА, управляемый игроком взлетел на заданную высоту? И как создав зону занести ее координаты в АБРИС или указать пилоту другим способом? Спасибо! работа с триггерами расписана в редакторе. создаётся условие "юнит в зоне" указывает предварительно созданная зона. и создаётся действие, например вывести текст "УРА!!!" "There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu [sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic] Link to comment Share on other sites More sharing options...
JGr124_MUTbKA Posted October 22, 2008 Share Posted October 22, 2008 Щас мы налетаемся, и начнем ВАЯТЬ. :) JGr124 "Katze" Link to comment Share on other sites More sharing options...
dragony Posted October 22, 2008 Share Posted October 22, 2008 Решил заняться этими самыми исследованиями :) Сейчас нашел время в своем забитом полетном расписании и разбираюсь с редактором. Сразу решил сделать простенкую одиночную миссию с двумя задачами: 1. Взлет на высоту 150 метров 2. Приземление в указанной зоне. Возникло 2 вопроса: Как проконтролировать триггером, что ЛА, управляемый игроком взлетел на заданную высоту? И как создав зону занести ее координаты в АБРИС или указать пилоту другим способом? Спасибо! В качестве примера для изучения рекомендую миссию "Курьер". Там всё это есть. WBR, =FV=BlackDragon. [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
Recommended Posts