Будучи человеком, обладающим знаниями о 3D-моделировании, анимации и программировании, вот мой ответ.
Сначала вам нужно решить, какую часть разработки игры вы собираетесь делать. Будет ли это включать моделирование и анимацию персонажей, предметов и т. Д., Или это будет программирование и управление игровым миром? Вы можете грубо изучить оба аспекта, если хотите, чтобы все было в состоянии.
Вы можете начать с изучения модели, а затем анимации 3D-объектов с помощью программного обеспечения, такого как 3ds max, майя или блендер (бесплатно). Посмотрите несколько видеоуроков, попробуйте сами, прочитайте книгу или два.
Затем вы можете перейти к аспекту программирования. Существует множество бесплатных 3D-движков с открытым исходным кодом. Причина, по которой я рекомендую использовать движок, заключается в том, что он абстрагирует вас от изучения программирования на низком уровне с помощью openGL или DirectX (directX используется Microsoft для окон и Xbox, все остальное в значительной степени использует openGl, такие как устройства iOS и Mac OS X). У двигателя уже есть много функций, встроенных для вас, таких как графики сцены, и если вам повезет, у него может быть встроенный физический движок.
Вы можете выбрать один вариант в зависимости от языков, которые вы знаете или желаете учиться. Java имеет отличный движок с открытым исходным кодом под названием jmonkey3D. Для C++ один из самых популярных движков с открытым исходным кодом - ogre3D (я считаю, что вы также можете использовать его для разработки iPhone и iPad). Я пошел с java и jmonkey3d, и все, что я могу сказать, это то, что для моих ожиданий это отличный движок.
Независимо от того, какой движок вы выбираете ...Многие из них структурированы несколько аналогичным образом, и навыки будут перенесены на любой другой движок, который вы решите использовать, и это даст вам представление о том, как сделать свой собственный с нуля (стиль Джона Кармака).
Теперь вы можете комбинировать оба своих навыка в 3d моделировании/анимации и программировании. Вы можете создавать модели для игры, затем импортировать геометрию в двигатель, применять к ней текстуры, манипулировать ими в 3d системе координат и т. Д. Вы можете запрограммировать определенные события для запуска анимации на объектах и т. Д.
Это очень много работы, поэтому будьте готовы посвятить этому время. Сделать перерыв и получить вдохновение является ключевым в этом процессе!
Это вопрос для http://gamedev.stackexchange.com/ – rcdmk