Pilots School, игра с исходником.

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Pilots School, игра с исходником.

Сообщение Mikle » 11.07.2015 (Сб) 11:24

Это немного доделанная игра на конкурс леталок.
Можно менять задания, создавать новые задания, переводить на другие языки и т. п., просто редактируя ini-файл.

Скачать игру Школа пилотов (старая версия) с исходниками.
Игра написана на Visual Basic 6 с использованием моего порта DX9 для VB6.
Модель самолёта предоставил bodja, текстуры травы и асфальта с открытых источников, остальное моё.
Для работы требуется DX9-совместимая видеокарта от nVidia либо DX10-совместимая от ATI.

Новая версия от 17-04-2019: https://yadi.sk/d/WXNvqCxkSsoiPw

Изображение
Последний раз редактировалось Mikle 18.04.2019 (Чт) 15:04, всего редактировалось 3 раз(а).

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Pilots School, игра с исходником.

Сообщение DODge » 11.07.2015 (Сб) 15:15

Очень качественно сделано! Правда после игры GTA5 управление здесь кажется слегка инерционным.
Не смог пройти задание где надо пролететь чекпоинты в горах. Видимо пилот из меня хреновый :)
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16170
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Pilots School, игра с исходником.

Сообщение Хакер » 11.07.2015 (Сб) 15:37

Roll и Pitch, по-моему, вводят в заблуждение. Особенно меня смутил Pitch. Хотя потом, если подумать, что оба показывают землю относительно самолёта, оси которого горизонтальны на экране, то всё логично.

Но раз способ индикации сбивает с толку, может что-то в нём додумать?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16170
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Pilots School, игра с исходником.

Сообщение Хакер » 11.07.2015 (Сб) 15:41

А ещё в списке участников там есть ASD. Это случайно не наш ASD?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16170
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Pilots School, игра с исходником.

Сообщение Хакер » 11.07.2015 (Сб) 16:30

Дошли руки запустить — процесс сразу же крэшнулся при запуске.

Если запускать из проекта, ошибка на Set RTMain = Dev.GetRenderTarget(0). В этом месте Dev содержит Nothing.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Pilots School, игра с исходником.

Сообщение Mikle » 11.07.2015 (Сб) 16:50

Хакер писал(а):Если запускать из проекта, ошибка на Set RTMain = Dev.GetRenderTarget(0). В этом месте Dev содержит Nothing.

А если EXE, что, работает?
До этого делается две попытки создать Device:
Код: Выделить всё
Set Dev = d3D.CreateDevice(frmMain.hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING Or D3DCREATE_FPU_PRESERVE, d3dpp)

и, если HARDWARE_VERTEXPROCESSING не поддерживается:
Код: Выделить всё
Set Dev = d3D.CreateDevice(frmMain.hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING Or D3DCREATE_FPU_PRESERVE, d3dpp)

Если не удалось создать даже так, значит видеокарта не поддерживает что-то из параметров:
Код: Выделить всё
  d3dpp.Windowed = D3D_TRUE
  d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD
  d3dpp.BackBufferFormat = D3DFMT_UNKNOWN
  d3dpp.BackBufferCount = 0
  d3dpp.EnableAutoDepthStencil = D3D_TRUE
  d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8
  d3dpp.PresentationInterval = D3DPRESENT_ONE
  d3dpp.MultiSampleType = D3DMULTISAMPLE_4_SAMPLES

Что весьма странно, когда пройдена проверка:
Код: Выделить всё
If (Caps.VertexTextureFilterCaps And D3DPTFILTERCAPS_MAGFPOINT) = 0 Then

Попробуй заремить строку:
Код: Выделить всё
Set Dev = d3D.CreateDevice(frmMain.hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING Or D3DCREATE_FPU_PRESERVE, d3dpp)

Может создаётся аппаратный VERTEXPROCESSING, но он по возможностям сильно урезан.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16170
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Pilots School, игра с исходником.

Сообщение Хакер » 11.07.2015 (Сб) 16:53

Mikle писал(а):А если EXE, что, работает?

Я там в верхнем посте пропустил одно важное слово. Сейчас я его добавил и выделил цветом.

Mikle писал(а):Если не удалось создать даже так, значит видеокарта не поддерживает что-то из параметров:

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

Mikle писал(а):Может создаётся аппаратный VERTEXPROCESSING, но он по возможностям сильно урезан.

Вообще не понял, что ты имеешь в виду. Первый вызов возвращает Nothing. Второй вызов возвращает Nothing. Какой может быть смысл рэмить любой из вызовов. Ума не приложу.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Pilots School, игра с исходником.

Сообщение Mikle » 11.07.2015 (Сб) 17:15

Хакер писал(а): Первый вызов возвращает Nothing. Второй вызов возвращает Nothing. Какой может быть смысл рэмить любой из вызовов. Ума не приложу.

Я тоже пропустил важную информацию :)
Строку:
Код: Выделить всё
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8

заменить на
Код: Выделить всё
d3dpp.AutoDepthStencilFormat = D3DFMT_D16

а эту просто убрать:
Код: Выделить всё
d3dpp.MultiSampleType = D3DMULTISAMPLE_4_SAMPLES

Хакер писал(а):А ещё в списке участников там есть ASD. Это случайно не наш ASD?

Не знаю, не общался с ним об этом. Можно посмотреть список его тем, станет понятнее круг его интересов.
Хакер писал(а):Roll и Pitch, по-моему, вводят в заблуждение. Особенно меня смутил Pitch. Хотя потом, если подумать, что оба показывают землю относительно самолёта, оси которого горизонтальны на экране, то всё логично.
Но раз способ индикации сбивает с толку, может что-то в нём додумать?

Это, в общем, в игровом процессе не особо требуется, просто сделано "для солидности", мол "есть приборы" :).
Хакер писал(а):Вызываю jangle в тред, пусть вставит слово про обработку ошибок

Там в ReadMe написано:
Video card that supports Vertex Texture Fetch (VTF).

Такие видеокарты должны всё это поддерживать.
Понимаю, что более правильно было бы отловить все случаи несовместимости, но уж больно их много, недаром даже игры от солидных производителей страдают подобными багами. Правда, есть ещё вариант - общий On Error Goto, но такой подход я очень не люблю.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16170
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Pilots School, игра с исходником.

Сообщение Хакер » 11.07.2015 (Сб) 17:44

Mikle писал(а):а эту просто убрать:
Код: Выделить всё
d3dpp.MultiSampleType = D3DMULTISAMPLE_4_SAMPLES

Одного этого оказалось достаточным. Формат менять не обязательно.

Mikle писал(а):Там в ReadMe написано:
Video card that supports Vertex Texture Fetch (VTF).

Такие видеокарты должны всё это поддерживать.

Ну обывателю это ни о чём не говорит. У меня нет отдельной видеокарты, используется видео, встроенное в Core i7.

___

Вообще, у меня от вида твоих обёрток кровавые слёзы на глаза наворачиваются.
Изображение
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Pilots School, игра с исходником.

Сообщение Mikle » 11.07.2015 (Сб) 17:49

Хакер писал(а):у меня от вида твоих обёрток кровавые слёзы на глаза наворачиваются.

Ты про надстройку над dx_vb? Скоро совсем перестану ей пользоваться, есть tlb от The Trick. Просто эта игра начиналась ещё на dx_vb, да и в tlb пока не всё есть.
Хакер писал(а):Одного этого оказалось достаточным.

Это радует. И горы видны? Или вместо них плоскость?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16170
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Pilots School, игра с исходником.

Сообщение Хакер » 11.07.2015 (Сб) 18:03

Всё видно, но стрелка совершенно наркоманская. Я во второй миссии как идиот искал невидимую цель в воздухе, летая вокруг некой точки в пространстве, изменяя своё направления в соответствии с меняющейся стрелкой. И только случайно увидел вдали красную точку и понял, что на стрелку лучше не смотреть.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Pilots School, игра с исходником.

Сообщение Mikle » 11.07.2015 (Сб) 18:24

Сначала я сделал стрелку, как проекцию направления на цель на плоскость экрана в 3D. Но меня убедили, что так не понятно, такой вариант, как сейчас, устроил большинство. Это - проекция направления на цель на плоскость карты.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16170
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Pilots School, игра с исходником.

Сообщение Хакер » 11.07.2015 (Сб) 18:29

Mikle писал(а):Но меня убедили

Кто эти люди и что они курили? :)
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Pilots School, игра с исходником.

Сообщение Mikle » 11.07.2015 (Сб) 18:36

Хакер писал(а):Кто эти люди и что они курили?

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

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 14.07.2015 (Вт) 0:50

Тоже попробовал. Работает. Летать что-то не особо выходит. Но стрелка реально какая-то бредовая. Если уж это порекция на землю, то надо её на земле и рисовать, а не непонятно где.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Pilots School, игра с исходником.

Сообщение Mikle » 18.04.2019 (Чт) 10:08

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

Скачать можно тут: https://yadi.sk/d/WXNvqCxkSsoiPw

Скриншоты:
Изображение
Изображение

Видео прохождения двух последних (самых сложных) заданий:
https://youtu.be/0oqTpwr2D-E

bon818
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 225
Зарегистрирован: 29.08.2009 (Сб) 4:49
Откуда: Ташкент

Re: Pilots School, игра с исходником.

Сообщение bon818 » 18.04.2019 (Чт) 13:27

После прогресса, получаю это:
---------------------------
Pilots School
---------------------------
Run-time error '91':

Object variable or With block variable not set
---------------------------
ОК
---------------------------

XP SP3
Video: intel G41 exp.. встроена в MB

Vertex Texture Fetch (VTF) ?

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Pilots School, игра с исходником.

Сообщение Mikle » 18.04.2019 (Чт) 13:49

bon818 писал(а):intel G41

Это причина, VTF тут вряд ли есть. Вот на Intel HD 4000 игра работает и даже показывает очень приличное быстродействие в FullHD.

bon818
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 225
Зарегистрирован: 29.08.2009 (Сб) 4:49
Откуда: Ташкент

Re: Pilots School, игра с исходником.

Сообщение bon818 » 18.04.2019 (Чт) 14:53

Mikle писал(а):
bon818 писал(а):intel G41

Это причина, VTF тут вряд ли есть. Вот на Intel HD 4000 игра работает и даже показывает очень приличное быстродействие в FullHD.

Понятно. Попробую с GT 430? , где-то валяется.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3898
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Pilots School, игра с исходником.

Сообщение Mikle » 18.04.2019 (Чт) 15:02

bon818 писал(а):Попробую с GT 430?

Пойдёт без проблем. У меня большая часть разработки игры прошла именно на GT 430.


Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: Mikle и гости: 3

    TopList