Ответ действительно зависит от того, является ли эта игра 2D или 3D.
Если ваша игра 2D, простой способ сделать то, что вы хотите, это использовать собственный API Java 2D Graphics.Хороший учебник для начала (по крайней мере, на мой взгляд) можно найти на Учебники Java .По своему опыту я обнаружил, что графический API Java прост в освоении и более эффективен, чем можно было ожидать.Основная техника состоит в том, чтобы ваш игровой код отслеживал положение всех ваших объектов, затем переводил эти координаты в координаты экрана и отображал соответствующие изображения в этих местах.Однажды я сделал (очень, очень простую) игру на Java, и этим методом я воспользовался.
Если ваша игра в 3D, OpenGL, безусловно, поможет.У меня ограниченный опыт работы с OpenGL, поэтому я не уверен, насколько легко работать с привязками Java.В общем, 3D-программирование - это серьезная тема, поэтому, если это новый проект или вы не готовы к значительным временным вложениям, я бы попытался найти хороший игровой каркас для использования или создания игры 2D.Если вы заинтересованы в OpenGL или 3D-программировании в целом, быстрый Google включил проект JOGL .Я бы порекомендовал исследовать JOGL как способ доступа к API OpenGL из Java-кода, но для реального изучения OpenGL я рекомендую OpenGL SuperBible (5-е издание) , широко известное как "Синяя книга".Все примеры кода на C ++, но для функций OpenGL это может быть просто вопрос использования библиотеки-оболочки.Например:
glDrawElements(...);
Может стать:
JavaGLWrapperObject.glDrawElements(...);
К сожалению, я не могу привести конкретные примеры, потому что я не использовал OpenGL с Java-программой, но приведенный выше пример очень грубыйПримерно, как OpenGL ES используется на платформе Android.
Что касается производительности ... API Java поставляется с нетривиальной суммой накладных расходов, но я мог видеть, что это хорошо для ваших целей.Возможно, вам придется приложить немного больше усилий, чтобы сделать ваши алгоритмы эффективными, и ваша игра может работать не так хорошо на менее мощном оборудовании.Если вы решите пойти по маршруту OpenGL, он почти наверняка будет на намного быстрее (опять же, в зависимости от того, насколько эффективны ваши алгоритмы), но, соответственно, на 1021 * намного сложнее учиться и получатьначалось с.Конечно, выполнимо, но это будет проблемой.