Я изучаю программирование игр на Java, чтобы увидеть, возможно ли это. При поиске в Google я нахожу несколько старых ссылок на Java2D, Project Darkstar (MMO-сервер Sun) и несколько книг по программированию игр на Java. Но большая часть информации, похоже, датирована несколькими годами ранее.
Итак, вопрос, который я задаю, создает ли кто-нибудь игры на Java SE 1.5 или выше?
Если да, то какие фреймворки используются и доступны ли передовые методы или библиотеки?




есть отличный 3D-движок с открытым исходным кодом под названием jMonkey (http://www.jmonkeyengine.com), который используется для нескольких коммерческих проектов, а также для разработчиков-любителей ... на более низком уровне также есть библиотека lwjgl, на которой построен jmonkeyengine, которая представляет собой набор API-интерфейсов для обертывания opengl, а также предоставляет другие библиотеки для конкретных игр ...
Два оригинальных разработчика из JMonkeyEngine вышли из проекта, чтобы создать Ardor3D (ardor3d.com). Он основан на jMonkeyEngine, но с улучшенной структурой.
У меня вопрос: захочу ли я изучить LWJGL перед запуском jMonkey? Будет ли у меня больше времени на обучение, если я попытаюсь сразу перейти к jMonkey?
Я непосредственно не занимался программированием игр, но кодировал некоторые демонстрационные сцены и обнаружил, что JOGL - действительно неплохой фреймворк для работы. Это Java OpenGL, поэтому он имеет богатую трехмерную функциональность, и я верю, что для него также созданы некоторые графические движки с открытым исходным кодом.
GTGE (www.goldenstudios.or.id) - отличная библиотека 2D-игр Java с обучающими материалами и обширным API. В последней версии он стал открытым, и исходный код можно загрузить, просмотреть и т. д. На gtge.googlecode.com.
Несмотря на странное название (почти наверняка он говорит о безалкогольном напитке ...), на этом сайте есть множество ресурсов и примеров игр как в 2D, так и в 3D. Кокс и код
http://www.javagaming.org/ - хороший источник актуальной информации.
Другой фреймворк, который еще не упоминался, - Xith3D
Также проверьте Ядро пульпы - решает наиболее распространенные проблемы, с которыми сталкиваются Java-игры.
Ссылка была мертва. Я обновил для вас ;-)
В качестве обновления пара ребят из JMonkeyEngine разделила этот проект, чтобы создать Ardor3d, новая версия которого была недавно выпущена, поэтому он все еще находится в активной разработке. Проект Darkstar также все еще активно развивается. Действительно, DarkMMO, пример игры Darkstar с открытым исходным кодом, в настоящее время реорганизованный использует последнюю версию как Darkstar, так и Ardor3d.
Мне тоже нравится Ardor3D, вроде JMonkeyEngine ++ :)
Я сделал список кучи руководств, который должен помочь
Как уже упоминалось всеми другими в этом разделе, существует множество отличных библиотек / движков для создания игр на Java.
Программирование игр на Java определенно возможно. Однако имейте в виду, что, как и в случае с любым другим языком, получение производительности в реальном времени всегда требует определенных усилий. Я написал небольшую статью о своем опыте использования Java для нашей трехмерной игры «Caromble!». В основном речь идет о шагах, которые мы должны были предпринять, чтобы наша игра работала гладко.
В свободное время я люблю кодировать игры. Я использую библиотеку slick2d, которая значительно упрощает программирование серверной части. Например, вы можете скопировать / вставить пример «основного» файла класса из Slick2d Wiki, и у вас будет игровой цикл, а также методы Update () и Render (), готовые к работе.
Slick 2d основан на LWGJL и использует его для загрузки изображений и других интересных вещей с OpenGL. Также есть куча полезных тем: http://www.java-gaming.org/
Приведены ли примеры на сайте игры или они перечислены на веб-странице. Мне нравится делать графику JAVA, и я подумал, что могу перейти к простой игровой графике. Я сделал кое-что в 2D, но не в 3D.
lwjgl поощряет более эффективное использование OpenGL, отдавая предпочтение некоторым более эффективным функциям. Таким образом, если вы не являетесь экспертом в OpenGL, ваш код, вероятно, будет быстрее, чем если бы вы использовали JOGL, который дает вам полный доступ к OpenGL.