1 (21-02-2019 20:09:49 отредактировано AleksandrNK)

Тема: Симулятор велосипеда MTB Game Demo

Представляю вашему вниманию свой pet project - MTB Game Demo. Это демо версия симулятора горного велосипеда, будущее которого решится в скором времени. Это первый общедоступный релиз. Пишу я один и компьютеров у меня раз два и обчелся, я бы хотел попросить вашей помощи в тестировании. Особенно меня интересуют обладатели процессоров от AMD и видеокарт от них же (у меня нет доступа к такому железу). О процессорах мне важно узнать time step (пишется справа сверху в режиме игры), который должен быть менее 0.5. С видеокартами AMD сложнее — скорее всего сразу ничего не запустится или что-то будет рисоваться черным или вообще не рисоваться, в этом случая я бы попросил послать на почту MTBGameDemo2019@gmail.com файл «shaders_log.bin» из каталога программы с темой «shaders_log».

Теперь об игре:
Системные требования:
Операционная система семейства Windows
Оперативная память от 2 GB
Видеокарта уровня GeForce GTX 660 и новее/мощнее
Процессор i5 и лучше (у кого i3 можно проверить time step на нем и если он 0.5 или меньше — то i3 тоже хорошо) с возможностью запуска не менее 3-х параллельных потоков
Джойстик!

Обращаю внимание на то, что это симулятор и без джойстика играть не получится. Всё управление можно продублировать клавиатурой + поворот и отклонение тела вперед/назад управляется мышью с зажатой правой клавишей, но это лишь чтобы посмотреть и пройти, может, быть первые два урока. Для полноценной игры нужен джойстик.

Особенности демо версии:
1. Реализован только режим школы "MTB School" (9 последовательных уроков в одной локации)
2. Отсутствует внятное управление независимыми от велосипеда наклонами райдера (это особенность использованной упрощенной модели системы райдер-велосипед)
3. Никаких выборов велосипедов, и их настроек.
4. Не реализовано управление параметрами графики


Несмотря на то, что меню settings не содержит настроек графики, а лишь настройки управления и громкость звука, некоторые параметры графики можно настроить с помощью файла «graphic_settings.txt» в каталоге с игрой. К таким параметрам относятся: рисование травы (много ест, так как пока рисуется каждая травинка отдельно), уровни детализации деревьев (смены LOD-ов деревьев очень заметны, если раздражает, можно поставить фиксированный LOD 1,2, 3 или 4, в зависимости от того, что позволяет железо), расстояние видимости объектов, качество геометрии земли, оконный режим, разрешение экрана. На минимальных настройках игра запустится с приемлемой частотой и на видеокартах, похуже GTX 660.

Для негеймеров (геймеры это знают): чтобы все работало, в системе должны стоять новые драйверы от производителя вашей видеокарты. При наличии встроенной и дискретной видеокарты одновременно (особенно это часто бывает у ноутбуков), необходимо убедиться, что приложение запускается именно на дискретной. Обычно всякие настройки энергосбережения препятствуют использованию дискретного ускорителя, особенно для OpenGl приложений.


Ссылка для скачивания игры (ENG): http://clc.to/MTBGameDemo
Ссылка для скачивания игры (описание уроков на русском языке): http://clc.to/MTBGameDemoRus
Это самораспаковывающийся архив, игра работает в выбранном каталоге и не оставляет никаких следов в системе.
Если приложение неожиданно заканчивает свою работу - попробуйте запустить файл по ссылке ниже из каталога программы. Он запишет лог загрузки (файл application_loading_log.txt), по которому мне будет понятно где и что пошло не так: https://drive.google.com/open?id=1b5Lx- … UxBcyL2wSy

Видео с фрагментами катания из игры:
длинное: https://youtu.be/jntHCttYlYI
укороченное: https://youtu.be/nvleQ4MZphA

Почта для соображений, замечаний, предложений: MTBGameDemo2019@gmail.com

И, наконец, несколько скриншотов:
https://pp.userapi.com/c852124/v852124359/c1052/HvHUWdEBiKE.jpg
https://pp.userapi.com/c852124/v852124359/c105c/SbQzoDYSp80.jpg
https://pp.userapi.com/c852124/v852124359/c1066/6yDbGqJm25A.jpg
https://pp.userapi.com/c852124/v852124359/c1070/1wNzGyKBIns.jpg
https://pp.userapi.com/c852124/v852124359/c107a/k1i-pEEOQy8.jpg
https://pp.userapi.com/c852124/v852124359/c1084/ZLUQv040JIs.jpg

2

Re: Симулятор велосипеда MTB Game Demo

Игру не пробовал. задумка непплохая.  Но вангую на доведение до ума не хватит ни сил и ни времени.

3 (19-02-2019 00:57:57 отредактировано Агапит)

Re: Симулятор велосипеда MTB Game Demo

Не могу запустить прогу. W7  86
Виснет на стадии загрузки картинки, а потом выходит ошибка
Имя события проблемы:    APPCRASH
  Имя приложения:    MTBGameDemo_1.exe
  Версия приложения:    0.0.0.0
  Отметка времени приложения:    5c698db7
  Имя модуля с ошибкой:    StackHash_0a9e
  Версия модуля с ошибкой:    0.0.0.0
  Отметка времени модуля с ошибкой:    00000000
  Код исключения:    c0000005
  Смещение исключения:    00000000
  Версия ОС:    6.1.7600.2.0.0.256.1
  Код языка:    1049
  Дополнительные сведения 1:    0a9e
  Дополнительные сведения 2:    0a9e372d3b4ad19135b953a78882e789
  Дополнительные сведения 3:    0a9e
  Дополнительные сведения 4:    0a9e372d3b4ad19135b953a78882e789

https://nastroisam.ru/oshibka-appcrash/

4 (19-02-2019 18:37:43 отредактировано AleksandrNK)

Re: Симулятор велосипеда MTB Game Demo

Агапит, спасибо за попытку. К, сожалению, ничего конкретного сказать не смогу, StackHash в имени модуля говорит о том, что ошибка, образно говоря, непонятно где. Это может быть как некорректная работа драйверов, например, видеодрайвер нужно обновить, либо системы безопасности (антивирус или встроенные системы windows) не дают что-то загружать. Но есть один момент, почему в имени приложения стоит MTBGameDemo_1? Откуда там _1? Не добавлено ли каких-либо единичек к реальным именам файлов и библиотек в каталоге с программой (например файлы два раза были разархивированы в один каталог, а потом удалены их копии с исходными именами, а с измененными именами остались)? Если да, то вместо нужных библиотек из каталога могут грузиться какие-то из системы, да ещё и не той разрядности.

Я так понимаю, приложение вылетает при первом окне загрузке (т. е. до главного меню, а не после выбора урока и нажимания кнопки GO?) В любом случае, подождем ещё кого-нибудь, кто решится поставить, и если такая ошибка будет повторятся — нужно уже детально думать из-за чего это может быть (как минимум на 3-х компьютерах с 7-й все прошло гладко). Если есть какие-то проблемы с графической системой, то ещё до окна загрузки в консольке должна появиться информация, что графическая система не может быть инициализирована.

5 (19-02-2019 15:21:20 отредактировано Агапит)

Re: Симулятор велосипеда MTB Game Demo

Сначала просто распаковал, а когда не загрузилось, распаковал от имени администратора. Отсюда  _1. Тоже не помогло.
Останавливается на стадии картинки Loading...  после  кнопки GO.
Предположу, что ты пишешь прогу под слишком новый софт, а ведь живы ещё те, кто поклоняется ХРюше https://electrotransport.ru/ussr/Smileys/BigKolobok/wink.gif
Может тебе пакет драйверов отдельным архивом собрать, конкретно под эту игру?

6

Re: Симулятор велосипеда MTB Game Demo

После кнопки GO – это уже интереснее. Я добавил исполняемый файл с ведением лога (лог расширил и на загрузку уроков) в первое сообщение, сразу после ссылки на архив с игрой. Могу я попросить отправить application_loading_log.txt (появится после запуска MTBGameDemo_with_log.exe из каталога программы) и shaders_log.bin на MTBGameDemo2019@gmail.com, если выдастся свободная минутка?

Эта программа — один из редких сегодня представителей, который не требует никаких .net фреймворков и вообще, никаких фреймворков, никаких майкрософтовских библиотек. Она запускалась на XP, 7, 10 без каких либо проблем.  Все что нужно для работы — поставляется в каталоге с программой. Единственное внешнее требование — видеодрайвер, но его по понятным причинам невозможно поставлять вместе с приложением (во-первых, у меня нет такого права, во-вторых, видеокарт и драйверов к ним сотни, в-третьих, каждый из них весит за сотню мегабайт, в четвертых, их обновляют с периодичностью в несколько недель).

Пока проблема может заключаться в следующем: видеодрайвер (а на какой видеокарте была попытка запускать?), проблемы с открытием нужных файлов (например, изменились имена при распаковке, что-то удалил антивирус, что-то попало в битые секторы диска), вместо библиотек из каталога были загружены библиотеки из system32/SysWOW64 (это тоже могло случиться, если имена библиотек из каталога были изменены),  маловероятна нехватка памяти (в этом случае была бы ошибка std::bad_alloc, да и памяти под приложение нужно менее 500 мб). После логов, надеюсь, будет яснее. Спасибо за помощь!

7 (19-02-2019 22:09:31 отредактировано Агапит)

Re: Симулятор велосипеда MTB Game Demo

Graphic settings loading...
Shaders loading...
Window initialization...
  SDL video system initialization...
  Window creation...
  GLEW initialization...
  Loading screen initialization...
  SDL joysticks initialization...
  Fonts initialization...
  Game joysticks initialization...
  Application initialization...
      Achievments initialization...
      Parks meta initialization...
      Menu textures initialization...
      Noise textres loading...
      Noise textures generation...
      Base shadow map buffer initialization...
      Rider shadow map buffer initialization...
      Land shadow map buffer initialization...
      Sky initialization...
      Main menu screen creation...
Sound initialization...
  Audio sources deleting...
  Audio buffers deleting...
  Audio context closing...
  Opening audio device...
  Creating audio context...
Lunching application loop...
GO button clicked park=data/school/skill_zone/skill_zone.geo mission=data/school/lesson_01/lesson_01.lesson
Preparing to load screen
Loading game libs
  Loading textures lib
  Loading rocks lib

shaders_log.bin отправил через ВК

8

Re: Симулятор велосипеда MTB Game Demo

Добавил в первое сообщение ссылку на игру с уроками, переведенными на русский язык. Если ваш компьютер слегка не дотягивает до требований в описании - все равно пробуйте, любой опыт очень ценен. Берите пример с Агапита!
https://sun6-3.userapi.com/c848736/v848736746/13f4db/rAT6618DI9c.jpg

9

Re: Симулятор велосипеда MTB Game Demo

Первое видео из цикла особенностей симулятора - про подвеску и ее настройку. Если кто-то совсем не знаком с настройками подвески - видео будет полезно и без симулятора, как общеобразовательное. Язык видео английский, но он очень русский, так что должен быть понятным. Если нет, есть английские и русские субтитры:
https://www.youtube.com/watch?v=UoHPcPtPq50

10

Re: Симулятор велосипеда MTB Game Demo

Мы редко задумываемся о том, как удается ехать на велосипеде прямо и не падать. А между тем это требует от нашего тела непростой и быстрой работы. Чтобы велосипед в симуляторе тоже мог ехать прямо, не падать на бок и не заваливаться в повороте - используется система автоматического поддержания равновесия. Появилось видео о работе этой системы:
https://youtu.be/vBeyDPu9Cjw

11

Re: Симулятор велосипеда MTB Game Demo

Слушай, я только сейчас увидел твой проект. У меня полностью АМД-шное железо...не очень новое, правда. На днях обязательно попробую скачать и поставить. Ты ещё не забросил его (проект)? Какова судьба? big_smile Кстати, хабр же читаешь наверняка wink про пет-проекты https://habr.com/ru/post/290902/ А там есть возможность на пару погонять с другом по сетке или ещё каким способом?

Олимпик -> Велта-Кама -> Mongoose Tyax Comp 2012 | Charge DUSTER

+7(914)-37-две четвёрки-три девятки

12

Re: Симулятор велосипеда MTB Game Demo

О, АМД, наконец-то! Раньше помню всегда было так: шейдеры без единого предупреждения компилируются и работают на NVIDIA, а AMD находит добрую кучу ошибок и отказывается работать. А то, что железо не новое - главное, чтобы карточка поддерживала OpenGL 4.0 и выше и была с более-менее новым драйвером. Этого хватит, чтобы проверить, даже если не хватит, чтобы играть.

Проект сейчас на стадии привлечения внимания. Я делаю материалы по его особенностям. Некоторые видеоролики, может пара статей будет, потихоньку делюсь этим на разных сайтах. Если в ближайший месяц удастся собрать более-менее приличную аудиторию, то проект ждет компания на кикстартере и там будет все зависеть от нее. Если ничего не выйдет — может буду что-то дописывать, когда будет время, может нет.

Возможности погонять вдвоем там пока нет и в первой полной версии не планируется. Я чувствую, что это важная и интересная многим вещь, но там не все так просто. Без организации взаимодействия с другими игроками это возможно (тогда другие игроки будет в качестве призраков). А вот как организовать взаимодействие не убив при этом производительность основного потока расчёта физики синхронизацией — это большой вопрос. В общем я думаю над этим, но есть несколько более важных вещей в расписании до этого.

13

Re: Симулятор велосипеда MTB Game Demo

дык ты не используешь движок? Может стоит. Постратить все время на отладку железа в наше быстроменяющее ся время глупо. В последнее время замечаю какие то игровые проекты на unity в большом количестве.. сдлеанные чуть ли не на коленке.

14

Re: Симулятор велосипеда MTB Game Demo

cross7 пишет:

дык ты не используешь движок? Может стоит.

Нет, я не использую движок, на что есть несколько объективных и, что более важно, одна субъективная причина:
Объективные:
1. Любой движок — это дополнительные зависимости, а следовательно дополнительные проблемы с запуском, отладкой, распространением и все такое. Любой движок за собой также тянет кучу зависимостей работая при этом над тем же OpenGL или DirectX, реализованными непосредственно драйверами производителей видеокарт. Т.е. ко всем ошибкам драйвера и моего приложения добавляются также все ошибки и проблемы движка.
2. Движки дают выигрыш в несколько лет, если то как они работают для тебя темный лес. Если же все подходы, методы и алгоритмы используемые движками тебе уже известны и, часто, уже реализованы в разных других проектах, то интеграция с движком может занять даже больше времени, чем реализация необходимого функционала самостоятельно.
3. Движок всегда ограничивает свободу. Я детально знаю что и как у меня сделано, что можно оптимизировать, что добавить и к чему это приведет. Мне не нужно подгонять мои идеи под существующие алгоритмы и придумывать костыли для случаев, когда это невозможно.
Субъективная:
1. Без движка писать значительно интереснее, а у pet project интересность и удовольствие должно быть на первом месте.