Как начать разрабатывать игры или написать свой игровой движок?
Как начать разрабатывать игры или написать свой игровой движок?
Создайте папку в любом удобном для вас месте на компьютере с названием "мой игровой" движок, по желанию можно еще туда положить readme файлик. Готово - вы начали писать движок. Теперь нужно двигаться к его завершению. По мере движения у вас появится множество новых более конкретных вопросов, на которые уже проще будет найти конкретный ответ.

Несложно представить игровой движок для написания которого не нужно знать физику абсолютно. (движок для крестиков-ноликов, кроссвордов, судоку, текстовых квестов или уже серьезный движок для игр в стиле Diablo, Fallout (1-2-T) и т.д.). 

Сложнее представить движок без математики, как в прочем и все программирование. Однако, часто бывает достаточно классов 5-8 математики чтобы писать что-то вполне серьезное, если оно не требует этой математики. Простенький платформер или скролл шутер не потребует от вас знания тригонометрии, например.

Довольно ожидаемо, что если под своим движком вы подразумеваете продукт уровня UE, Unity или чего-то отдаленно сопоставимого, или даже простейший 3д движок написанный с нуля, то остается пожелать вам удачи.

Я бы советовал начать с практики, то есть начать его постепенно писать, понимая, что через месяц/год все придется выкинуть и (опционально) начать с нуля. А там уже сформируются конкретные вопросы и теория будет ложиться лучше на фундамент проб и ошибок.
Все здесь почему-то путают создание игры, создание библиотек и написание самого движка!

Постараюсь описать процесс создания ДВИЖКА:
1. Составляете список функционала и оборудования, которым будет управлять ваш движок.
2. Собираете в список все доступные инструменты, которые предоставляют эти устройства и операционка.
3. Пректируете архитектуру ядра.
4. Проводите тестирование логических взаимодействий блоков с различными конфигурациями.
5. Пишите hello world на этом движке, который проверит все компоненты архитектуры.

50% работы по созданию движка - готово.
Дальше - оптимизация всего и вся, и пишите либы для различных задач.