Игровой движок или графическая библиотека? - PullRequest
2 голосов
/ 29 сентября 2010

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

Кроме того, я должен выбрать Xith3D или JMonkeyEngine? Или, если я собираюсь пойти с графической библиотекой, я должен пойти с JOGL, LWJGL или новым JOgre?

Java отлично подходит для создания игр, если бы я захотел перейти на c ++, я бы не стал спрашивать.

Ответы [ 3 ]

7 голосов
/ 29 сентября 2010

На самом деле есть 2 вопроса, чтобы задать себе вопрос:

  1. Хотите сделать игру в кратчайшие сроки или узнать больше о технической сторона игрового программирования?
  2. Является ли игра вариантом известного / устоявшегося жанра или она структурно отличается ?

Если вы ответили:

  • 1 == game && 2 == genre : используйте игровой движок.Выберите тот, который был использован для целевого жанра.Просто сделайте игру с помощью этого инструмента как можно быстрее.
  • 1 == game && 2 == Different : так как структура вашей игры будет другой, трудно будетсделать что-то, что соответствует вашей игровой структуре с полным движком.Возможно, будет лучше использовать фреймворк (состоящий из нескольких отдельных библиотек).В любом случае, это будет не очень быстро сделать, но по крайней мере с фреймворком вам не придется создавать код нижнего уровня и проверять совместимость всех библиотек.
  • 1 == technical && 2== жанр : Ну, в этом случае вы можете изучить двигатель или сделать свой собственный.Если это ваша первая игра или ваше первое 3D-приложение, я рекомендую использовать DirectX или OpenGL один раз, а затем перейти к движку, например Ogre.В любом случае, попытайтесь исправить свои приемы.
  • 1 == технические && 2 == разные : найдите время, чтобы выбрать несколько библиотек для каждой стороны вашей игры, затемработайте над тем, чтобы собрать вещи, чтобы они работали в вашем конкретном случае.Это может быть самый интересный случай, но он также самый трудоемкий.Во всяком случае, использовать библиотеки.Используйте ogre для графики и т. Д.

Теперь, при выборе вашей библиотеки / движка, все еще остается вопрос, который нужно задать себе, какой бы ни был предыдущий выбор: ваша игра должна быть кроссплатформенной?

Убедитесь, что ваш инструмент / движок соответствует вашему ответу на этот вопрос.

Кстати, если вы хотите попасть в отрасль ИЛИ получить техническую подготовку, вам придется поговорить саппаратное обеспечение (по крайней мере, если вы хотите узнать о графическом программировании), поэтому используйте C ++ (или C) вместо Java.Это пойдет на вашем пути.

2 голосов
/ 29 сентября 2010

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

Простой набор графических библиотек с некоторыми классными утилитами для создания простых игр будет openGL + GLUT.Я уже использовал его для маленьких игр ...

1 голос
/ 29 сентября 2010

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

Дело в том, что вы спрашиваете о производительности, не сталкиваясь с проблемами производительности. Ваш вопрос кажется преждевременным.

Ради выбора начните сборку с JMonkeyEngine . Кажется, это довольно продвинутый 3D-движок в Java. Начиная с движка, вы можете больше сконцентрироваться на дизайне игры, вместо того, чтобы настраивать все самостоятельно.

Потратьте время, чтобы завершить игру, со всеми последними штрихами, такими как меню, параметры игрока, все, что завершает игру. Готовые проекты научат вас многому в игровом дизайне и хорошо смотрятся в вашем портфолио.

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

С этого момента ваш путь обучения переключается. Вместо того, чтобы изучать общее программирование игр (в котором к этому моменту у вас должен быть достаточный опыт), вы начинаете углубляться во взаимодействие с оборудованием и низкоуровневую оптимизацию.

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

...