Я знаю, что это явно не так для некоторых игр, тральщиков, карточных игр и т. Д. Но как насчет любой игры, включающей моделирование среды реального мира. Очевидно, что в этих играх присутствует инженер-физик, который питает графику.
Для кого-то вроде меня, который лично не любил физику, но любит видеоигры, есть ли у меня шанс когда-либо участвовать в цикле разработки видеоигры, такой как эта, не любя физику?
Ответы:
В программировании игр есть много аспектов, и вам не нужно быть экспертом во всех из них. Если вы работаете в более крупной команде, вы, возможно, даже не занимаетесь программированием основной игры, а просто, например, сетевым общением.
Что касается программирования основных игр, я думаю, что для более глубокого понимания физики вам понадобятся сильные математические знания. Наличие сильного математического фона позволит вам выполнять такие вещи, как моделирование преобразований, вырезки, анимация ключевых кадров, трассировка лучей, обработка изображений, наложение текстур и т. Д.
Наличие сильного физического фона может помочь вам освоить новые методы компьютерной графики, но это не обязательно, если вы хотите стать программистом игры.
источник
Очень редко можно написать физический движок для игры. Обычно используется сторонняя библиотека, либо бесплатная, либо коммерческая. То же самое касается и других аспектов игровых движков. Рендеринг, звук, AI, анимация, GUI, работа в сети и т. Д. В наши дни редко кто-нибудь пишет игровой движок с нуля. Обычно люди покупают их. Если они делают их, они покупают связку промежуточного программного обеспечения для выполнения сложных задач.
Есть много мест, где можно начать изучать программирование игр. Если вы хотите просто «сделать игру», я бы предложил погрузиться в Unity . Unity - это фантастический, очень простой в использовании игровой движок, который можно использовать для создания чего угодно. Он даже предоставляет большинство функций коммерческих двигателей (особенно в следующей версии 3).
Если вы хотите узнать больше об основах игрового программирования, посмотрите PyGame или XNA. Они убирают большую часть скуки, обычно встречающейся в управлении графикой, вводом, звуком и т. Д. Они не будут делать физику для вас (они не движки, а только API), но есть много бесплатных и простых в использовании решений.
источник