Jump to content

Приглашаю для исследований и разработки миссий/кампаний


Recommended Posts

Некоторое время назад у меня возникла идея начать ковырять ЛО на предмет создания программного генератора миссий.

 

Сначала была просто идея случайным образом менять маршрут движения наземки в существующих миссиях на РАФе, чтобы штурмы не знали заранее, где точно находится цель.

Затем появились идеи создания полноценной онлайн ДК с линией фронта, захватом территорий и авиабаз, учетом самолетов и оружия и так далее. Здесь много говорилось об эмуляции ДК, о том, что в ЛО полноценной ДК создать невозможно и так далее. А я задал себе вопрос: "а кто-нибудь это пробовал?". Пока что не нашел, по крайней мере в русской ветке форума. А ведь все это вполне осществимо!

 

(прим. если вы не знаете, что такое онлайн ДК - советую ознакомиться например с этим и этим проектами, а еще лучше - купить Ил-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: меня тут спрашивали в ЛС про межплатворменность... я вот убей Бог, не понимаю, зачем иметь генератор для никсов или макоси, когда сервер, ротатор и сбор статистика все-равно работают под виндой, нет у нас никсового выделенного ЛО-сервера.

  • Like 1

=RAF=Frost

Link to comment
Share on other sites

  • Replies 113
  • Created
  • Last Reply

Top Posters In This Topic

  • ED Team

Переговори со SwingKid - он занимался подобной проблемой и небезуспешно.

Best Regards, Dmitry.

 

"Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак


 
Link to comment
Share on other sites

Исходные данные не отличаются исчерпываемостью. Есть

1) база данных редактора MEInit.xml

2) библиотека, экспортирующя все необходимое mom.dll

3) так как это dll - возможность просмотреть ее интерфейсы

4) простенький пример создания небольшой миссии с помощью COM

5) желание разобраться

 

Чего нету:

1) никакой документации по mom и meinit

2) достаточного количества человекоресурсов для того, чтобы методом эмирической расшифровки имен интерфейсов и переменных а также методом тыка разобраться ЧТО ЕСТЬ ЧТО.

 

Герой. Только учти, что в акуле это работать не будет. Совсем.

Всего наилучшего, Алексей.

Link to comment
Share on other sites

я прекрасно знаю, что это не работает в акуле. Миссии там действительно - зип архив с xml и lua скриптами, мне Андрей Чиж сам говорил об этом на этом форуме. И ссылку на пост Dmut'а, где он говорит, что meinit и mom уже убили в акуле я не зря привел. Вот только беда, пока ДКС дорастет до ЛО по количеству еропланов, моя ДК будет работать - а там что-нибудь новое и без таких извращений придумаем.

=RAF=Frost

Link to comment
Share on other sites

Хорошая идея.

Цель минимум - это если не ДК, так просто возможность автоматически выставлять наземку и колонны.

 

Еще здесь нужна минимальная помощь разрабов (в виде документации).

=012=

A..a..are you gangsters???

No! We are RUSSIANS!

Link to comment
Share on other sites

Хорошая идея.

Цель минимум - это если не ДК, так просто возможность автоматически выставлять наземку и колонны.

Если создать такой вот справочник - можно будет достаточно просто реализовать и расстановку колонн, и ДК и еще много чего интересного.

 

Еще здесь нужна минимальная помощь разрабов (в виде документации).

 

а вот на это, я так понимаю, расчитывать не приходится.

Ну что же, где волонтеры?

=RAF=Frost

Link to comment
Share on other sites

  • ED Team

У нас нет документации по МОМу, как и автора.

Тут сорри.

 

В Акуле описание миссии будет храниться в файле lua.

Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу

Link to comment
Share on other sites

У нас нет документации по МОМу

 

значит скоро будет ;)

 

Тем временем, фаза исследований началась. Я обновил вики-страницу и в репозиории появился пример с подробнейшими комментариями и TODO-задачами от меня.

=RAF=Frost

Link to comment
Share on other sites

эту бы энергию - да в мирное русло...

 

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

еще раз говорю, я не верю, что через 1 год у нас будет полноценный DCS для которого имеет смысл делать генератор. Так что сейчас имеет смысл разбираться mom-ом. ТЕм более, я летаю на РАФе, где немного утомляет однообразие миссий.

Ну и опять же, это возможность попрактиковаться в изучении разных полезных вещей. Тот же subversion

Ну что-же, где добровольцы?

=RAF=Frost

Link to comment
Share on other sites

PS: меня тут спрашивали в ЛС про межплатворменность... я вот убей Бог, не понимаю, зачем иметь генератор для никсов или макоси, когда сервер, ротатор и сбор статистика все-равно работают под виндой, нет у нас никсового выделенного ЛО-сервера.
Ну ты же сам дал ссылку на AirWar от BY. А в таком режиме работы виртуальной войны нужен только веб-сервер. Лично у меня такого под виндой нет. А под FreeBSD - есть, да не один. Именно на нем генерируется миссия, и именно туда сдается текстовый лог того, как ее отлетали. Все можно сделать не хуже, чем в Ил-2, если бы не то, что ты описал в своем посте. :)

JGr124 "Katze"

Link to comment
Share on other sites

У нас нет документации по МОМу, как и автора.
Своеобразное ощущение - чувствовать себя отличным оракулом, но при этом понимать, что оправдались твои самые худшие предположения. :)

 

P.S.: Вы сами выгнали этого талантливого диверсанта, который жизни не видит без цепляния <censored> виндузятного заголовка к простому, переносимому и мультиплатформенному формату? :)

JGr124 "Katze"

Link to comment
Share on other sites

Собственно говоря, особый вэб-сервер не нужен (интересно, как ЛО работает с 2003?) Посмотри сервер статы РАФ - все работает на XPpro (где стоит и ЛО и ТС сервер), стату можно вести в ЛОГ, который потом анализировать и на его основе генерить миссию. Причем делать это придется всего 2 раза в сутки.

Или я не верно понял предыдущий пост?

=RAF=Frost

Link to comment
Share on other sites

  • 4 weeks later...

ТОварищ! Если тебе еще волонтеры нужны - вот он я!))) Конечно при условии что хоть чутка растолмачишь задачу бедному чайнику.

Link to comment
Share on other sites

  • 1 month later...

Я тоже непротив в этом поучавствовать-игра мне нравится, и начальные знания программирования есть(Паскаль). Если сто я думаю отец помочь сможет.

Только проблема в том, что не могу найти этот воркспейс на ассембле.

Link to comment
Share on other sites

  • 8 months later...
  • ED Team

Возродим тему. :)

 

Теперь формат миссий стал куда более открытым.

Best Regards, Dmitry.

 

"Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак


 
Link to comment
Share on other sites

Решил заняться этими самыми исследованиями :) Сейчас нашел время в своем забитом полетном расписании и разбираюсь с редактором. Сразу решил сделать простенкую одиночную миссию с двумя задачами:

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

Решил заняться этими самыми исследованиями :) Сейчас нашел время в своем забитом полетном расписании и разбираюсь с редактором. Сразу решил сделать простенкую одиночную миссию с двумя задачами:

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

Решил заняться этими самыми исследованиями :) Сейчас нашел время в своем забитом полетном расписании и разбираюсь с редактором. Сразу решил сделать простенкую одиночную миссию с двумя задачами:

1. Взлет на высоту 150 метров

2. Приземление в указанной зоне.

 

Возникло 2 вопроса: Как проконтролировать триггером, что ЛА, управляемый игроком взлетел на заданную высоту? И как создав зону занести ее координаты в АБРИС или указать пилоту другим способом?

 

Спасибо!

 

В качестве примера для изучения рекомендую миссию "Курьер". Там всё это есть.

WBR, =FV=BlackDragon.

logo3435.gif[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...