Что необохдимо изучить для написания узкоспециализиррованого движка под свою 3D игру на базе OpenGL/GLSL/OpenAL/Bullet3/Qt/boost?
Напишите мне пожалуйста дорожную карту для обучения.
К слову для начала планирую только под Windows писать,в будущем расширить под Linux/Android.
EnderGames
> для начала планирую только под Windows
Это ещё зачем?
Ты что специально будешь везде втыкать #include <windows.h>?
В то время как вся перечисленная база этого не требует.
И вообще, сам вопрос, он о чём?
Ты эту базу уже освоил, и тебе её недостаточно?
Что за игра?
Какая там узкоспециализиррованость?
Найти на гитхабе готовый движок, который ты сможешь физически собрать.
https://oxygine.org/
https://github.com/gameplay3d/gameplay
https://github.com/Hork-Engine/Hork-Source
https://github.com/RobertBeckebans/RBDOOM-3-BFG
Der FlugSimulator
Для игры с открытым миром на подобии 7 Days To Die, ну возможно ещё первых альф.Базу я только по плюсам давно освоил,сейчас 3д математику осваваю,тему матриц.Вектора и углы Эйлера с кватернионами знаю поверхностно.
Движок планирую сообственоручно создавать,о это после освоения всего инструментария.На данном этапе мне бы дорожную карту моего обучения получить бы.
Der FlugSimulator
Если более подробно насчёт игры,то воксельная 3д игра с полностью редактируемым игроком миром,в духе Minecraft + DayZ,графикой уровня 2010-ых годов,возможностью сохранять мир и загружать его,GUI на QT.
EnderGames
> игры с открытым миром на подобии 7 Days To Die ... ,тему матриц.Вектора и углы Эйлера с кватернионами знаю поверхностно.
Ну когда освоишь всё перечисленное, лет через 10, заходи.
Еще 10 лет будешь делать движок, а потом еще 10 саму игру,
Единственный вопрос нахрена...пока ты напишешь(нет) будет уже 2035 год и смысла в нём будет меньше чем 0, а потом ещё игру делать мда, лучше взять существующий и доработать под свои задачи чем писать с 0.
Стандартный совет - начни с русского языка. Поможет в дальнейшем для всего.
https://github.com/utilForever/Cubby-v1
Вот, даже из каробки работает
EnderGames
Чтоб написать свой движок, нужно знать зачем он нужен и курить исходники других движков.
1) Начни с OpenGL/GLSL. На этом этапе ты разберёшься как устроен графический конвейер, как работают шейдеры, итд
2) Далее можешь разобраться с OpenAL. Устройство его работы схоже с OpenGL, поэтому много времени это занять не должно. К уже имеющимся наработкам на OpenGL сможешь прикручивать звуки и музыку на сцену.
3) Физика. Тут излучишь свой bullet. И к своим наработкам сможешь добавлять законы физики.
4) Далее все нужно будет собрать в единую архитектуру. Qt особо не нужен, только если для создания окна. Boost тоже на твоё усмотрение. Если стандартной библиотеки хватит, то и boost не нужен.
5) Тут ты поймёшь что писать движок - дело гиблое, ремувнишь все свои наработки с гитхаба и возьмёшь готовое решение, но полученные знания и драгоценный опыт останутся с тобой навсегда ☝
jaguard
с русским у меня хорошо