Jump to content
Mikle

Мой аркадный авиасимулятор

Recommended Posts

Нашел исходники первой версии, но из-за древнего, неподдерживаемого vb6 они абсолютно бесполезны. Так мог бы попробовать своими силами стики прикрутить.

Share this post


Link to post
Share on other sites
19 часов назад, испанский_летчик пишет:

из-за древнего, неподдерживаемого vb6 они абсолютно бесполезны

Если интересно - могу скинуть исходники второй версии. И VB6 могу скинуть, он без проблем работает даже на Win10.

Share this post


Link to post
Share on other sites
3 часа назад, Mikle пишет:

Если интересно - могу скинуть исходники второй версии. И VB6 могу скинуть, он без проблем работает даже на Win10.

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

Так что ещё немного пороюсь и уже потом решусь на что-нибудь.

Share this post


Link to post
Share on other sites
В 08.05.2019 в 01:41, UR67393 пишет:

... увидеть модель самолета Cessna-172 из FG  в Proland - бесплатном планетарном 3D движке...

Proland классный сайт, мля. "Опера заблокировала небезопасный контент", "Мозилла заблокировала попытки отслеживания"

Share this post


Link to post
Share on other sites
В 14.05.2019 в 16:15, Mikle пишет:

Если интересно - могу скинуть исходники второй версии. И VB6 могу скинуть, он без проблем работает даже на Win10.

Очень интересно:yes:

В 13.05.2019 в 20:46, испанский_летчик пишет:

Нашел исходники первой версии, но из-за древнего, неподдерживаемого vb6 они абсолютно бесполезны. Так мог бы попробовать своими силами стики прикрутить.

А я с выходом очередной, уже .NET-студии, так и не смог перестроиться (для своих любительских целей). VB тем и хорош был, что если надо что-то быстро, буквально "на коленке", то подходил лучше всего, со своим всепрощением к мелким косякам. В .NET, как мне показалось, все языки стали "на одно лицо" потеряв свою индивидуальность. Первым впечатлением было, что отличается только синтаксис.

Что касается прикручиваний, то согласен и особых проблем не вижу, за исключением оси РУД, в силу специфики реализации управления режимом работы двигателя(ей). То, как реализован выход на режим, конечно же круто, но вот управлять посредством трех, а по сути двух (разницы между выключенным двигателем и малым газом в тяге особо не ощутил) позиций не совсем удобно. Конечно, ось РУД можно условно разбить на два сегмента, но, если уж прикручивать, то, как мне кажется, стоит пересмотреть логику управления двигателем. А заодно, как и писал выше, сделать таки руль направления:)

Share this post


Link to post
Share on other sites
В 06.05.2019 в 18:16, Novicek100 пишет:

 

12 часов назад, Хочу летать пишет:

Очень интересно

Вот исходники: https://yadi.sk/d/ZApdk2a5H3jNRw

Там PilotsSchool2.vbp - это генератор нового ландшафта и лаунчер игры, а Game.vbp - собственно сама игра. В модуле modCtrl находится всё управление, при необходимости инициализировать геймпад, инициализацию можно вставить в процедуру CtrlInit.

12 часов назад, Хочу летать пишет:

А я с выходом очередной, уже .NET-студии, так и не смог перестроиться (для своих любительских целей). VB тем и хорош был, что если надо что-то быстро, буквально "на коленке", то подходил лучше всего, со своим всепрощением к мелким косякам.

Я с NET разобрался, но вот что он мне даёт - это вопрос, на VB6 я получаю беспроблемный EXE, который работает везде, а на NET нет ни одного способа подключить DirectX, не заставляя пользователя что-нибудь инсталлировать, даже ManagedDX не сделали стандартом. Будь там хотя бы это - я бы, наверное, пользовался vb.net или шарпом, ООП там поприятнее.

Да, в NET имеется мультипоток, но и в VB6 он при желании делается.

Не хочу провоцировать языковой холивар, просто VB6 для моих задач оказался более подходящим.

 

Share this post


Link to post
Share on other sites
11 часов назад, Mikle пишет:

Я с NET разобрался, но вот что он мне даёт - это вопрос, на VB6 я получаю беспроблемный EXE, который работает везде, а на NET нет ни одного способа подключить DirectX, не заставляя пользователя что-нибудь инсталлировать, даже ManagedDX не сделали стандартом. Будь там хотя бы это - я бы, наверное, пользовался vb.net или шарпом, ООП там поприятнее.

Да, в NET имеется мультипоток, но и в VB6 он при желании делается.

Не хочу провоцировать языковой холивар, просто VB6 для моих задач оказался более подходящим. 

Есть FreeBasic, есть D language (aka dlang), ещё много чего есть. Я после освоения Питона с С++ вообще редко нуждаюсь в чем-нибудь сверх.

Share this post


Link to post
Share on other sites
В 15.05.2019 в 16:20, UASK-Fox пишет:

Proland классный сайт, мля. "Опера заблокировала небезопасный контент", "Мозилла заблокировала попытки отслеживания"

Как говорится "горячая голова рукам покоя не дает":  Как видно по скрину у сайта нет проблем с Opera.

operastable.jpg

Share this post


Link to post
Share on other sites
Posted (edited)
В 18.05.2019 в 22:47, UR67393 пишет:

Как говорится "горячая голова рукам покоя не дает":  Как видно по скрину у сайта нет проблем с Opera.

operastable.jpg

Я не знаю, почему Ваша голова рукам покоя не дает, но у меня home страница выглядит так же, как и на Вашем скрине. А вот хотел videos глянуть, тыц и облом. Кстати в Tor Browser аналогично.

Proland.PNG

Edited by UASK-Fox

Share this post


Link to post
Share on other sites
Posted (edited)
В 17.05.2019 в 09:18, Mikle пишет:

Вот исходники: https://yadi.sk/d/ZApdk2a5H3jNRw

Там PilotsSchool2.vbp - это генератор нового ландшафта и лаунчер игры, а Game.vbp - собственно сама игра. В модуле modCtrl находится всё управление, при необходимости инициализировать геймпад, инициализацию можно вставить в процедуру CtrlInit.

Оказалось очень интересно и познавательно.

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

С позволения автора, забрать попробовать можно тут: http://www.pilotschool.club/ 

По некоторым причинам, мне так получилось быстрее и проще, чем выложить в облаке. Особо осторожные браузеры могут ругаться, но ставить SSL-сертификат избыточно, затратно и т.п (ненужное зачеркнуть:)).

По существу:

- теперь при запуске программа ищет подключенный к компьютеру джойстик (стандартный HID, поэтому экзотику, скорее всего, не увидит) и подключает первый по списку (это если джойстиков несколько).

Собственно все :)

1. Управление по осям X, Y.

2. РУД на оси Z. Диапазон оси пропорционально разделен на зоны, соответствующие режимам 0-1-2-3. Напоминаю что, двигателю надо раскрутиться на режиме 1 прежде чем поддать газку. Поэтому если сразу "дать РУД от себя", то двигатель не выйдет на нужный режим и самолет не сдвинется с места (впрочем, все это было по умолчанию и на кнопках).

Для понимания текущего режима добавил небольшой индикатор вверху экрана, который заодно показывает подключился джойстик или нет. Если инициализация прошла успешно, то в игре он будет выглядеть как: "joy Mode: X" где "Х" - номер текущего режима. В случае если джойстик не был найден или отсутствует в принципе, вместо "joy" будет надпись "key".

Так же, для пробы, управление закрылками закреплены на кнопках "3" и "5" (на купленном мною джое, так оказалось удобнее:yes:) . Управление закрылками и режимом с клавиатуры при подключенном джойстике сохраняется.

3. Не знал (только что заметил) что сюда можно прикрепить файл:), но в любом случае размер архива не прошел бы.

PS В дополнение о шумности осей. Сейчас отрабатываются все движения по оси, вплоть до 16-разрядных девайсов. Думаю, даже если у кого-то такие имеются, можно смело резать если не до 8 то до 10 разрядов точно. Ну или добавлять мертвую зону. Все это вынести, вместе с привязкой кнопок в отдельное меню настройки, ну или config-файл.

Пока все в "чистом виде" напрямую к рулям. Так что, бывает, самолет немного гуляет по полосе на взлете, либо цепляет ВПП стабилизатором.

В общем, надеюсь, не испортил игру:joystick:

PS И еще... маленькая особенность! Ввиду того, что при полете с джойстиком нет прерываний от клавиатуры экран может уходить в "спящий режим" (при соответствующих у вас настройках), так что клавиатуру лучше держать под рукой:mf_type:

 

 

 

Edited by Хочу летать
  • Thanks 1

Share this post


Link to post
Share on other sites
2 часа назад, UASK-Fox пишет:

Я не знаю, почему Ваша голова рукам покоя не дает, но у меня home страница выглядит так же, как и на Вашем скрине. А вот хотел videos глянуть, тыц и облом. Кстати в Tor Browser аналогично...

 

Я понял, в психлечебнице допустили к интернету. Тогда угомонитесь - вот специальный линк на видео, если в вашу голову такое не приходит. PS - В дальнейшем искать и смотреть видео по словам "Eric Bruneton  Proland - Real-time planet rendering " 

Share this post


Link to post
Share on other sites
Posted (edited)
8 часов назад, UR67393 пишет:

Я понял, в психлечебнице допустили к интернету. Тогда угомонитесь - вот специальный линк на видео, если в вашу голову такое не приходит. PS - В дальнейшем искать и смотреть видео по словам "Eric Bruneton  Proland - Real-time planet rendering " 

Хорошо, что Вы поняли, когда у вас в больнице допустили к интернету. Значит все-таки сайт гамно, раз Вы мне ссылку с ютуба постите, а не страничку видео с сайта. У Вас со здоровьицем похоже не того, раз Вы на обычный комментарий отвечаете истерично. Надеюсь на Ваше скорое выздоровление.

Edited by UASK-Fox

Share this post


Link to post
Share on other sites
18 часов назад, UASK-Fox пишет:

Хорошо, что Вы поняли, когда у вас в больнице допустили к интернету. Значит все-таки сайт гамно, раз Вы мне ссылку с ютуба постите, а не страничку видео с сайта. У Вас со здоровьицем похоже не того, раз Вы на обычный комментарий отвечаете истерично. Надеюсь на Ваше скорое выздоровление.

Если сайт ... и т.п.  - надеюсь вас, обычного хама, больше не встречать на форуме

Share this post


Link to post
Share on other sites
6 часов назад, UR67393 пишет:

Если сайт ... и т.п.  - надеюсь вас, обычного хама, больше не встречать на форуме

Надеюсь Вы еще раз тщательно, по словам перечитаете нашу с Вами переписку и определитесь, кто первый кому нахамил.

Share this post


Link to post
Share on other sites
В 20.05.2019 в 22:49, испанский_летчик пишет:

Спасибо за труды! Так стало намного лучше.

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

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

Вот, думаю предложить расширить панель, например таком( в т.ч. более привычном симмерам) виде:

test.jpg.95d49e2dec0421a14e494055ed9d03db.jpg

Художник из меня, примерно такой же как и программист, но дело в концепции:)

Хотя, может и перегружено, но... Если попросить автора разнообразить геймплей сложными метеоусловиями с ограниченной видимостью, то можно будет, например, заходить на посадку или искать цели по директорам. Пока пробую летать как на указанном скрине, вот только никак не могу заставить стрелки крутиться на 360 градусов (только 180). И если для крена, скорости и высоты до "500", и даже вариометра +/- 10 этого достаточно, то тахометру катастрофически не хватает:nea:


Share this post


Link to post
Share on other sites
17 минут назад, Хочу летать пишет:

Спасибо за оценку и, главное, обратную связь. А так же за ссылку в приборной ветке.

Да без проблем! :)

В оригинале индикаторы pitch/roll уже работают по необходимому принципу. У меня код от первой версии и судя по нему требуемую работу производит процедура SpriteDrawA.

Share this post


Link to post
Share on other sites
Posted (edited)
11 минут назад, испанский_летчик пишет:

Да без проблем! :)

В оригинале индикаторы pitch/roll уже работают по необходимому принципу. У меня код от первой версии и судя по нему требуемую работу производит процедура SpriteDrawA.

Точно так. Только в процедуру передается значение из диапазона -1 - +1, что исходя из сведений уже  мерещегося:shok: тригонометрического круга, соответствует углам +/- 90. Я, конечно, уже приспособился подменой знаков у синусов с косинусами в зависимости от величины угла, но, замысел был в том, чтобы в процедуру отправлять координаты, размер стрелки и  угол на который ее повернуть. Вот и обратился к прибористам, полагая что у них этот вопрос уже оптимизирован настолько, что лучше уже некуда.

Edited by Хочу летать

Share this post


Link to post
Share on other sites
9 часов назад, Хочу летать пишет:

в процедуру передается значение из диапазона -1 - +1, что исходя из сведений уже  мерещегося:shok: тригонометрического круга, соответствует углам +/- 90

Нет, в процедуру передаются синус и косинус угла поворота, с помощью них можно задать полный круг, так поворачивается, например, стрелка указатель на цель, никаких подмен делать не приходится. Так же рисуются pitch/roll и стрелка самолёта на карте.

Я думаю, что при переходе на джойстик, имеет смысл разделить действие кнопок "1" (запуск двигателя) и "2"-"3" - тяга. "1" вынести на какую-нибудь отдельную кнопку. А я посмотрю, что можно переделать для аналогово управления, не ограничивая его двумя значениями.

 

  • Thanks 1

Share this post


Link to post
Share on other sites
4 часа назад, Mikle пишет:

Нет, в процедуру передаются синус и косинус угла поворота, с помощью них можно задать полный круг, так поворачивается, например, стрелка указатель на цель, никаких подмен делать не приходится. Так же рисуются pitch/roll и стрелка самолёта на карте.

Спасибо, понял. В принципе это было и интуитивно  и по именам понятно, но запутался с углами изобретая самокат :) Собственно и смущало, когда не мог передавая значение 0,5 (ожидалась половина от 90 градусов) а получал 60, ну или 30...

Что касается кнопок, как мне кажется вполне удобной и уживающейся с джойстиком  комбинация MSFS2004. Старт/стоп двигателя оставить на "0", а управление режимом "1" - малый газ "2" и "3" плавное уменьшение/увеличение мощности соответственно, "4" - полный газ.

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

Как вариант - "5" убрать полностью, "6"/"7" соответственно +/-, "8" - выпущены полностью. Только определиться с промежуточными значениями. Может и не критично, но ввиду приравнивания крайних положений к константам, а уборки и выпуска на обусловленные (видимо динамикой) не целочисленные значения, у меня получалось так что, например, предпоследнее положение на выпуске не равно первому после уборки из положения "выпущено полностью". 

 

 

Share this post


Link to post
Share on other sites

Есть такая новость - на Gamedev.ru один энтузиаст тоже обратил внимание на игру и взялся перевести её на C++ и более современный DirectX, скорее всего 11-й.

Share this post


Link to post
Share on other sites
22 часа назад, Mikle пишет:

Есть такая новость - на Gamedev.ru один энтузиаст тоже обратил внимание на игру и взялся перевести её на C++ и более современный DirectX, скорее всего 11-й.

И это правильно! Ещё правильнее было бы использовать OpenGL.  После можно будет попробовать прикрутить jsbsim какой-нибудь.

Share this post


Link to post
Share on other sites
Posted (edited)

Я так понимаю новый авиасимулятор делать будем? :) 
Нужна цель, Дх11 наверное, по лучше будет для винды ... но если на другую платформу ...

Также, можно было бы, написать рендер и под Вулкан :)

Эхх, было бы время, тоже бы вязался в эту авантюру ...

Edited by Novicek100

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×