Согласно вашему первому требованию, вы ищете структуру, а не библиотеку.
jMonkeyEngine - это фреймворк для 3D-игр (т.е. он предоставляет основной цикл, как вы просите, аналогично XNA), но он не будет хорошим выбором для 2D-игр.
Однако написать игровой цикл не сложно , и существующие библиотеки Java отвечают вашим 2-м и 3-м требованиям, поэтому я настоятельно рекомендую изучить 3D-библиотеку / движок графа сцены или любую 2D-библиотеку, в зависимости от того, делаете ли вы 2D или 3D игра.
Aviatrix3D , Ardor3D , Java3D и jMonkeyEngine мои рекомендации для графа сцены 3D движков.
Для 2D-библиотек у вас есть JGame , или вы можете использовать OpenGL для максимальной скорости и использовать LWJGL или JOGL . Вы также можете просто использовать встроенную библиотеку Java Graphics2D , которая будет особенно полезна, если вы планируете развертывать свою игру в виде апплета.
Для перехода на встроенный Graphics2D маршрут, посмотреть на исходный код на Metagun (нажмите , чтобы играть в апплет форме). Это небольшая, но очень хорошо написанная 2D Java-игра, и я думаю, что это отличный пример маленькой игры; скопируйте его структуру, и вы получите свой оптимальный игровой цикл / каркас.
Если вы хотите, чтобы один и тот же фреймворк поддерживал как 2D, так и 3D, то ближе всего я видел jPct. Это 3D, но на их форумах есть несколько настроек для 2D.
Я рекомендую вам использовать Xith3D или Java Monkey Engine для 3D. И Slick или GTGE для 2D.
Я пишу книгу о разработке Java-игр, я уже закончил главы об основах разработки 2D и 3D-Java-игр, она может дать вам отправную точку, посмотрите здесь:
http://code.google.com/p/lucu
Taksan
источник
Несмотря на то, что он не поддерживает 3D, pulpcore является хорошей игровой средой . Я лично не использовал это, но я просмотрел код, чтобы проверить это, и это выглядит хорошо.
источник
RedDwarf - игровой движок Java. Это старый проект DarkStar, который Sun использует для финансирования.
источник