Программирование видеоигр обычно связано с физикой?

11

Я знаю, что это явно не так для некоторых игр, тральщиков, карточных игр и т. Д. Но как насчет любой игры, включающей моделирование среды реального мира. Очевидно, что в этих играх присутствует инженер-физик, который питает графику.

Для кого-то вроде меня, который лично не любил физику, но любит видеоигры, есть ли у меня шанс когда-либо участвовать в цикле разработки видеоигры, такой как эта, не любя физику?

Крис
источник
2
Вы смотрели на gamedev.stackexchange.com ?
Двинн
3
Я любил игры, но не любил математику и не преуспел в физике. Я, однако, хороший программист, и преуспел с математикой в ​​моей степени информатики (включая предмет по компьютерной 3D-графике). Зачем? Потому что в средней школе математику / физику преподают без контекста . Я не мог убедить свой мозг, что стоило бы сохранить все эти вещи, когда я не мог представить, для чего они могли бы быть использованы . В реальном мире это не проблема, потому что вы используете математику / физику для решения реальной проблемы, поэтому это не будет так сложно (если вы похожи на меня).
MGOwen
1
@MGOwen, я здесь с тобой, то же самое случилось со мной тоже :)
legends2k
Математика должна быть легкой (это просто средняя школа математики , который необходим для программирования игр), посмотрите @ эту gamedev.stackexchange.com/questions/12299/...
legends2k

Ответы:

12

В программировании игр есть много аспектов, и вам не нужно быть экспертом во всех из них. Если вы работаете в более крупной команде, вы, возможно, даже не занимаетесь программированием основной игры, а просто, например, сетевым общением.

Что касается программирования основных игр, я думаю, что для более глубокого понимания физики вам понадобятся сильные математические знания. Наличие сильного математического фона позволит вам выполнять такие вещи, как моделирование преобразований, вырезки, анимация ключевых кадров, трассировка лучей, обработка изображений, наложение текстур и т. Д.

Наличие сильного физического фона может помочь вам освоить новые методы компьютерной графики, но это не обязательно, если вы хотите стать программистом игры.

Брайан Р. Бонди
источник
4

Очень редко можно написать физический движок для игры. Обычно используется сторонняя библиотека, либо бесплатная, либо коммерческая. То же самое касается и других аспектов игровых движков. Рендеринг, звук, AI, анимация, GUI, работа в сети и т. Д. В наши дни редко кто-нибудь пишет игровой движок с нуля. Обычно люди покупают их. Если они делают их, они покупают связку промежуточного программного обеспечения для выполнения сложных задач.

Есть много мест, где можно начать изучать программирование игр. Если вы хотите просто «сделать игру», я бы предложил погрузиться в Unity . Unity - это фантастический, очень простой в использовании игровой движок, который можно использовать для создания чего угодно. Он даже предоставляет большинство функций коммерческих двигателей (особенно в следующей версии 3).

Если вы хотите узнать больше об основах игрового программирования, посмотрите PyGame или XNA. Они убирают большую часть скуки, обычно встречающейся в управлении графикой, вводом, звуком и т. Д. Они не будут делать физику для вас (они не движки, а только API), но есть много бесплатных и простых в использовании решений.

Мэтт Оленик
источник