Lightweight Java Game Library (LWJGL) — открытая графическая библиотека, основной целью которой является предоставление простого и легковесного программного интерфейса для создателей компьютерных игр на языке Java.
LWJGL является высокопроизводительной кроссплатформенной библиотекой, широко используемой в разработке компьютерных игр и мультимедийных приложениях. Она предоставляет доступ к OpenGL, OpenAL, OpenCL и обеспечивает платформонезависимый доступ к различным манипуляторам, таким как геймпады, рули и джойстики.
Основной целью проекта является создание технологии, которая позволяла бы Java-разработчикам получить доступ к ресурсам, доступ к которым в настоящее время затруднён или вовсе отсутствует из Java-платформы.
LWJGL доступна под BSD-лицензией. Будучи открытой и бесплатной, является основой многих игровых движков и библиотек.
> Но многие говорят, что для написания движка лучший выбор — С++. Почему? Java вообще для этих целей не подходит? Или как 🙂
Просто статистика — 99% AAA написано на C/C++.
Из очень популярных игр на Java был только minecraft,
но недавно MS объявил что все перепишет на C++, вернее уже использует
написанный вариант на C++ под все платформы.
Но если не собираетесь заниматься разработкой ААА игр,
то просто изучите один из движков — Unity/C# или unreal engine/C++ и вперед.
Java к сожалению в списке нет.
Все это конечно в контексте коммерческой разработки игр.
Для себя или свой собственный инди проект пишите на любимом языке
и от этого возможно и игра будет лучше.
Java к сожалению в списке нет.
Если вы не пишете свой Unreal Engine, Java хватит на очень многое. Но если надо выжать все соки из железа, то берут C++.
libgdx (который юзает ljwgl как бэкенд на десктопах, если я правильно понял) довольно-таки на слуху, то есть народ делает на нем игры и не очень разочаровывается.
Если у вас цель сделать игру — берите Unity3d или Unreal Engine или 100500 других движков и делайте игру.
Если цель «изучить Java путем написания игры», то берите учебник по джаве и libgdx.
А учить ЯП, чтобы с нуля написать движок в 2017 году — контрпродуктивно.
Java-код исполняется внутри виртуальной Java-машины.
C++-код компилируется в байт-код для прямого исполнения процессором.
Спецификации байт-кода и исполняющих его виртуальных машин могут сильно различаться для разных языков: часто байт-код состоит из инструкций для стековой виртуальной машины, однако могут использоваться и регистровые машины. Тем не менее, большинство инструкций байт-кода обычно эквивалентны одной или нескольким командам ассемблера.
———-
Источник: Википедия
Итог: лишняя прослойка замедляет исполнение логики в Java-приложении по сравнению с C++, но готовое Java-приложение возможно запустить на большинстве устройств и операционных систем без дополнительной перекомпиляции и оптимизации под конкретную платформу.
Ни для кого не секрет, что игры создаются на различных движках. Все зависит от того, каким языком программирования вы пользуетесь. Например, со знанием C++ для вас возможно программирование при поддержке таких движков, как CRYENGINE или Frostbite, на C# и JavaScript’е вы можете программировать в движке Unity3D.
А в каком движке нужно работать, чтобы создавать игры на Java?
Содержание
- Закрыт по причине того, что необходимо переформулировать вопрос так, чтобы можно было дать объективно верный ответ участниками insolor, 0xdb, Andrew Goroshko, mkkik, br3t 6 сен в 14:39 .
- 2 ответа 2
- 3D Движки
- 2D Движки
Закрыт по причине того, что необходимо переформулировать вопрос так, чтобы можно было дать объективно верный ответ участниками insolor, 0xdb, Andrew Goroshko, mkkik, br3t 6 сен в 14:39 .
Вопрос порождает бесконечные прения и дискуссии, основанные не на знаниях, а на мнениях. Для получения ответа перефразируйте ваш вопрос так, чтобы на него можно было дать однозначно правильный ответ, либо удалите вопрос вовсе. Если вопрос можно переформулировать согласно правилам, изложенным в справке, отредактируйте его.
2 ответа 2
Все движки, рассмотренные здесь, распространяются бесплатно
3D Движки
jMonkey Engine. Отличная производительность, кроссплатформенность, свой SDK+редакторы, дружелюбное сообщество (вот только англоязычное). Частые обновления и отличная поддержка со стороны разрабов самого движка не может не радовать. Есть модификация версии от 2009 года, её авторы гордо именуют свой мод отдельным движком — Ardor3D (но вот только проект загнулся, какая досада). Даже официальный сайт модификации уже не работает, а перенаравляет на личный блог разработчиков. «Под капотом» стоит LWJGL (Light-Weight JavaGL), поддержка OpenGL v2+ и шейдеров. Плюшки — поддержка всякой лабуды типа Oculus Rift; возможна разработка Android-приложений.
Мой вывод: если готовы приступить к более-чем-любительской разработке серьёзных проектов, то jME — ваш выбор.
Bonzai Engine. Великолепные утилиты для разработки, но нет как и документации, так и сообщества. Немного отойду от темы и проведу небольшое сравнение сообществ движков jME и Bonzai Engine: в одном только Твиттере у jMonkey Engine 1725 подписчиков, а у Bonzai Engine всего 12. Продолжу: кроссплатформенность (Windows/Linux/Android), OpenGL v2+. Плюшки: редакторы есть даже на Android. Также движок обещает поддержку большого количества форматов моделей.
Апдейт: документация внезапно появилась (просто я полтора года назад изучал этот движок, но документации не было вообще). Достойных (да и просто) проектов на этом движке я пока не встречал.
Мой вывод: обёртка классная, а начинка оставляет желать лучшего.
Приложения на Bonzai Engine: .
jPCT. Врядли библиотеку размером в 300 кб можно назвать движком, но всё же это лёгкий инструмент для создания простейших приложений. Есть неофициальный редактор, куча подробной документации и довольно большое дружелюбное(!) сообщество (был случай, что на форуме мне помогал сам создатель движка). Также есть поддержка Android (версия jPCT-AE). За «плечами» движка имеется куча приложений, созданных пользователями (лично я сам залипаю в одну игрушку). Прошу учесть, что такой «движок» не даст такую великолепную картинку, как, например, jME и Bonzai Engine, но тут FPS держится выше и стабильнее. Плюшки: поддержка скелетной анимации.
Мой вывод: «дёшево и сердито».
2D Движки
Slick2D. Хороший производительный движок с открытым исходным кодом (лицензия BSD). Кроссплатформенность (Windows/Linux/Mac), поддержка OpenGL v2+. Плюшки: модуль физики jBox2D; легко делается GUI.
Golden T Game Engine. Движок уже стар (2004), но всё же имеет право на существование. По аналогии с jPCT сгодится для простейших приложений. Поддержка OpenGL v1+. Несмотря на то, что движку уже 11й год, его форумы и поддержка всё ещё работают.
PulpCore. Open-source движок с неплохой производительностью. Как я понял, работает только в плагинах, но планируется сделать этот движок рабочим и на десктопах. Плюшки: тонна туториалов; движок заточен для работы с анимацией.
Источник: