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

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

Модератор: BV

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

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

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

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

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

Изображение

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16111
Зарегистрирован: 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.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16111
Зарегистрирован: 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.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16111
Зарегистрирован: 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
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3827
Зарегистрирован: 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, но он по возможностям сильно урезан.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16111
Зарегистрирован: 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
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3827
Зарегистрирован: 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, но такой подход я очень не люблю.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16111
Зарегистрирован: 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
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3827
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

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

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

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

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

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16111
Зарегистрирован: 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
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3827
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

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

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

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16111
Зарегистрирован: 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
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3827
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

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

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

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

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

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

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

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


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList