Программирование 3D-игр в 2010 – с чего начать?

Несколько лет назад я занимался программированием игр. Я начал использовать Windows XP, C++, Ogre3d, Visual Studio и Blender. Я начал делать RTS, но потом началась настоящая жизнь.

В любом случае, я хочу вернуться к этому, и мне интересно, есть ли достойные альтернативы C++, теперь, когда Ruby, Python и C# стали популярными.

Является ли C++ по-прежнему предпочтительным языком?

Сейчас я использую Ubuntu, поэтому мне пришлось бы использовать Ubuntu C++ IDE, C++ и Ogre3d.

Кто-нибудь использовал Ogre3d и перешел на что-то другое?

Изменить

Цели: Просто хобби, основанное на программировании 3D на ПК.

  • В данный момент я использую Ubuntu, но когда-нибудь перейду на Win7.
  • Я представляю себе простую игру вроде Startopia
  • Я немного знаком с физическими движками и звуком, и раньше я соединял компоненты Ogre3d вместе.

До сих пор я видел, что Ogre3d все еще широко используется. Можно изучить python и http://www.panda3d.org/.

Ваше здоровье.


person GPQues    schedule 16.09.2010    source источник
comment
Я использовал Ogre для небольшого проекта, и мне показалось, что это лучший способ. Я считаю, что это один из лучших бесплатных графических игровых движков.   -  person Adrian Fâciu    schedule 16.09.2010
comment
Это 2010 год! Вы должны указать платформу, на которой должны работать 3D-игры — ПК, XBox, iPhone/Android, веб-браузер?   -  person Annie    schedule 16.09.2010
comment
Сейчас я отредактирую свой вопрос и добавлю некоторые конкретные детали. В основном он ориентирован на хобби и поэтому только для ПК.   -  person GPQues    schedule 16.09.2010
comment
Последнее, что я читал, Managed DirectX устарело и заменено XNA. Я бы определенно попробовал, если вам нужен высоко объектно-ориентированный 3D API.   -  person Reinderien    schedule 16.09.2010
comment
Это должно перейти на gamedev.stackexchange.com.   -  person Wernight    schedule 16.09.2010


Ответы (5)


Если вам нравится создавать игры, а не просто тратить все свое время на работу с функцией вашего игрового движка, я рекомендую вам взглянуть на Единство 3D.

Функции:

  • Игровой движок (не только движок рендеринга)
  • Скрипт на C#, или JavaScript (модифицированный), или Python, или Boo
  • Потрясающий редактор
  • Игру можно развернуть на: Linux/Windows/Mac/Android/iPhone/iPad/Xbox (и всегда расширять)
  • Веб-плеер для игр в браузере (после установки крошечного плагина)
  • Доказано отличными коммерческими играми
person Wernight    schedule 16.09.2010
comment
Javascript в Unity поначалу выглядит как Javascript, но на самом деле это не так. Он имеет классы C++:ish с наследованием и статической типизацией с выводом, но без лямбда-выражений/замыканий. - person geon; 16.09.2010

Опыта работы с ogre3d недостаточно, чтобы сделать игру вроде startopia хобби-проектом. Вы уже делали готовую игру? Вот пост, который показался мне интересным: http://greyaliengames.com/blog/the-6-steps-to-massive-game-development-success/ ИМХО, делать такие 3D-игры стоит на четвертом этапе. И еще зависит от того, инженерное ли у вас хобби или делать игры? Если инженерное дело, использование ogre3d поможет вам лучше изучить инженерные навыки. В противном случае лучше попытаться научиться использовать такой движок, как Unity 3D, Torque или UDK.

person astk    schedule 16.09.2010

Все упомянули Ogre3D, что хорошо, но вы также можете заглянуть в Irrlicht: http://irrlicht.sourceforge.net/features.html

его главное преимущество (по крайней мере, насколько мне известно) перед Ogre3D заключается в том, что он более прост в дизайне и использовании.

person Ricardo Ferreira    schedule 16.09.2010
comment
Я предпочел Ogre3d Irrlicht исключительно из соображений личного вкуса. Но я все же думаю, что на Иррлихта стоит посмотреть. Не уверен насчет более простой части вашего комментария, но я думаю, что Ogre3d очень хорошо спроектирован. - person alexr; 06.11.2010

Ogre3d — фантастический графический API, который отлично подходит, если вы не хотите вникать в какой-то дерьмовый код шейдера OpenGL или DirectX для теней, освещения, альфа-упорядочивания и т. д., но также не хотите настоящий игровой движок со звуком, сетью и т. д. ; это только графика.

Я предпочитаю Ogre3D Irrlicht структуре API, но это полностью личное предпочтение.

Меня могут осудить за это, но Java — неплохой язык, если вы программируете простой игровой движок, Java и C++ в настоящее время примерно равны по скорости. C++ дает вам много низкоуровневого доступа для небольших оптимизаций, которые, если вы достаточно опытны, могут получить хороший прирост производительности. Но оптимизация — это очень обширная тема, особенно с игровыми движками.

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

person Major Tom    schedule 12.06.2013

C++ и Ogre по-прежнему являются жизнеспособной комбинацией. С другой стороны, MICROSOFT хочет, чтобы вы использовали C# и их инфраструктуру XNA, и вы всегда хотите подчиняться MICROSOFT... о, подождите, кто-нибудь уже знает, работает ли XNA с VS 2010? Это не так, когда я смотрел.

person mjfgates    schedule 16.09.2010
comment
Понизьте голос за ненужное количество негатива, который совсем не добавляет к ответу. Если это должно было быть юмористическим, я пропустил это. - person Dykam; 16.09.2010