libGDX
![]() | |
Оригинальный автор(ы) | Марио Зехнер |
---|---|
Первоначальный выпуск | 20 апреля 2014 г [1] |
Стабильная версия | 1.12.1
/ 2 ноября 2023 г |
Репозиторий | |
Написано в | Ява , С , С++ |
Операционная система | Windows , Linux , macOS , Android , BlackBerry OS , iOS , Java-апплет , JavaScript / WebGL [2] |
Платформа | Java-платформа |
Лицензия | Лицензия Апач 2.0 [2] |
Веб-сайт | https://libgdx.com |
libGDX — бесплатная программа с открытым исходным кодом. [3] платформа приложений для разработки игр [2] написанный на языке программирования Java с некоторыми компонентами C и C++ для кода, зависящего от производительности. [4] Это позволяет разрабатывать настольные и мобильные игры, используя одну и ту же базу кода. [5] Он кроссплатформенный, поддерживает Windows , Linux , macOS , Android , iOS , BlackBerry и веб-браузеры с поддержкой WebGL . [2] [6]
История
[ редактировать ]В середине 2009 года Марио Зехнер, создатель libGDX, захотел писать игры для Android и начал разрабатывать для этого фреймворк под названием AFX (Android Effects). Когда он обнаружил, что развертывание изменений с настольного компьютера на устройство Android было затруднительным, он модифицировал AFX для работы и на настольном компьютере, что упростило тестирование программ. Это был первый шаг к игровой платформе, позже известной как libGDX. [1]
В марте 2010 года Цехнер решил открыть исходный код AFX, разместив его в Google Code под лицензией GNU Lesser General Public License (LGPL). Однако тогда он заявил, что «в любом случае фреймворк не предназначен для создания настольных игр», намереваясь, что фреймворк в первую очередь ориентирован на Android. В апреле у него появился первый вкладчик. [1] [7]
Когда Зехнер создал оболочку Box2D JNI , это привлекло больше пользователей и участников, поскольку в то время были популярны игры с физикой. [ нужен лучший источник ] Благодаря этому многие проблемы с Android были решены. [1]
Поскольку многие пользователи предлагали перейти на другую лицензию из-за того, что LGPL не подходит для Android, в июле 2010 года libGDX изменила свою лицензию на Apache License 2.0 , что позволило использовать эту платформу в коммерческих играх с закрытым исходным кодом. [1] [8] В том же месяце был запущен форум phpBB . [1] [9]
Из-за проблем с Java Sound реализация звукового рабочего стола перешла на OpenAL в январе 2011 года. [1] [10] Также была завершена разработка небольшой библиотеки манипуляции изображениями под названием Gdx2D, которая зависит от библиотеки STB с открытым исходным кодом . [1] [11]
Остаток 2011 года был потрачен на добавление библиотеки пользовательского интерфейса. [12] и работаем над основами 3D API. [1]
В начале 2012 года Цехнер создал небольшую вспомогательную библиотеку под названием gdx-jnigen для облегчения разработки привязок JNI. [1] [13] Это сделало возможным использование gdx-audio [14] и gdx-freetype [15] расширения будут разработаны в течение следующих месяцев. [1]
Вдохновленный Google от PlayN кроссплатформенной средой разработки игр , которая использовала Google Web Toolkit (GWT) для компиляции Java в код JavaScript , Цекнер в течение нескольких недель написал серверную часть HTML /JavaScript, которая позволяла запускать приложения libGDX в любой среде. браузер с поддержкой WebGL . [1] После того, как Google отказался от PlayN, его поддерживал Майкл Бейн, который добавил iOS в него поддержку . libGDX использовала части этой работы для своего собственного бэкенда на основе MonoTouch . [1] [16] [17]
В августе 2012 года проект переключил свою систему контроля версий с Subversion на Git , перейдя с Google Code на GitHub . Однако трекер проблем и вики оставались в Google Code еще на год. Основная система сборки также была изменена на Maven , что облегчило разработчиков с разными IDE . совместную работу [1] [18] [19]
Из-за проблем с бэкэндом MonoTouch iOS Никлас Терниг в марте 2013 года написал бэкэнд RoboVM для libGDX, который был интегрирован в проект в сентябре. [1] [20] [21] С марта по май 2013 года был разработан и интегрирован в библиотеку новый 3D API. [1] [22] [23]
В июне 2013 года веб-сайт проекта был переделан, и теперь на нем есть галерея, где пользователи могут размещать свои игры, созданные с помощью libGDX. [1] [24] По состоянию на январь 2016 г. [update] было представлено более 3000 игр. [25]
После миграции исходного кода на GitHub годом ранее, в сентябре 2013 года, трекер проблем и вики также были перенесены туда из Google Code. [1] [26] В том же месяце система управления сборкой и зависимостями была переведена с Maven на Gradle . [1] [27]
После этапа очистки в первые месяцы 2014 года версия libGDX 1.0 была выпущена 20 апреля, более чем через четыре года после запуска проекта. [1]
В 2014 году libGDX стала одним из лауреатов ежегодной премии Duke's Choice Award за упор на независимость от платформ. [28] [29]
От разнообразной команды энтузиастов с открытым исходным кодом появилась libGDX, кроссплатформенная среда разработки игр, которая позволяет программистам писать, тестировать и отлаживать Java-игры на настольном ПК под управлением Windows, Linux или Mac OS X и развертывать тот же код на Android. , iOS и браузеры с поддержкой WebGL — что-то, что сейчас не так широко распространено. Цель libGDX, по словам создателя Марио Зехнера, «выполнить обещание платформы Java «напиши один раз, работай где угодно» специально для разработки игр».
— Журнал Java, сентябрь/октябрь 2014 г. [30]
В апреле 2016 года было объявлено, что libGDX перейдет на Intel на Multi-OS Engine серверной части iOS после прекращения поддержки RoboVM. [31] [32] С выпуском libGDX 1.9.3 16 мая 2016 г. в качестве альтернативы предоставляется Multi-OS, хотя по умолчанию библиотека использует собственную вилку версии RoboVM с открытым исходным кодом. [33] [34]
libGDX Джем
[ редактировать ]libGDX гейм-джем С 18 декабря 2015 по 18 января 2016 года был организован совместно с RoboVM , itch.io и Robotality . Из первоначально предложенных 180 тем главной темой джема была выбрана «Жизнь в космосе», за время конкурса было создано 83 игры. [35] [36]
Версии выпуска
[ редактировать ]Версия | Дата выпуска |
---|---|
1.0. | 20 апреля 2014 г. [1] |
1.1. | 23 мая 2014 г. [37] |
1.2. | 22 июня 2014 г. [38] |
1.3. | 9 августа 2014 г. [39] |
1.4. | 10 октября 2014 г. [40] |
1.5. | 8 декабря 2014 г. [41] |
1.6. | 6 мая 2015 г. [42] |
1.7. | 21 сентября 2015 г. [43] |
1.8. | 5 января 2016 г. [44] |
1.9. | 24 января 2016 г. [45] |
1.10. | 18 апреля 2021 г. [46] |
1.11. | 11 мая 2022 г. [47] |
1.12. | 2 июля 2023 г. [48] |
Легенда: | Старая версия, не поддерживается | Текущая стабильная версия |
---|
Архитектура
[ редактировать ]libGDX позволяет разработчику писать, тестировать и отлаживать свои приложения на своем настольном ПК и использовать тот же код на Android. Он абстрагирует различия между обычным приложением Windows/Linux и приложением Android. Обычный цикл разработки состоит в том, чтобы как можно дольше оставаться на настольном ПК и периодически проверять, работает ли проект на Android. Его основная цель — обеспечить полную совместимость между настольными и мобильными устройствами, основная разница — скорость и вычислительная мощность. [5]
Серверные части
[ редактировать ]Библиотека прозрачно использует код, специфичный для платформы, через различные серверные части для доступа к возможностям хост-платформы. В большинстве случаев разработчику не нужно писать код, специфичный для платформы, за исключением стартовых классов (также называемых программами запуска), которые требуют различных настроек в зависимости от серверной части. [49]
- На рабочем столе облегченная библиотека игр Java используется (LWJGL). Существует также экспериментальный бэкэнд JGLFW , который больше не поддерживается. [ нужна ссылка ] [ когда? ] В версии 1.8 был представлен новый бэкэнд LWJGL 3 , призванный заменить старый бэкэнд LWJGL 2 . [50]
- Серверная часть HTML5 использует Google Web Toolkit (GWT) для компиляции кода Java в JavaScript, который затем запускается в обычной среде браузера. libGDX предоставляет несколько реализаций стандартных API, которые там не поддерживаются напрямую, в первую очередь рефлексию . [51] [52] [53]
- Серверная часть Android запускает код Java, скомпилированный для Android с помощью Android SDK . [ нужна ссылка ]
- специальная вилка RoboVM для компиляции Java Для iOS используется в соответствии с собственными инструкциями iOS. Intel Multi -OS Engine был предоставлен в качестве альтернативы после прекращения выпуска RoboVM. [31] [33]
Другие языки JVM
[ редактировать ]Хотя libGDX написан в основном на Java , скомпилированный байт-код не зависит от языка, что позволяет многим другим языкам JVM напрямую использовать библиотеку. В документации конкретно указывается совместимость с Ceylon , Clojure , Kotlin , Jython , JRuby и Scala . [54]
Расширения
[ редактировать ]Существует несколько официальных и сторонних расширений, которые добавляют в библиотеку дополнительные функции.
gdxAI
[ редактировать ]Платформа искусственного интеллекта (ИИ), которая была отделена от основной библиотеки с версией 1.4.1 в октябре 2014 года и перемещена в собственный репозиторий. Хотя изначально он был создан для libGDX, его можно использовать и с другими платформами. Проект фокусируется на искусственном интеллекте, полезном для игр, в том числе на поиске пути , принятии решений и движении. [55] [56]
GDX свободный тип
[ редактировать ]Может использоваться для рендеринга шрифтов FreeType во время выполнения вместо использования статических растровых изображений, которые также не масштабируются. [57]
Коробка2D
[ редактировать ]Обертка для физической библиотеки Box2D была представлена в 2010 году и перенесена в расширение с версией 1.0. [1] [58]
упаковщик
[ редактировать ]Вспомогательный инструмент, который связывает пользовательскую JRE с приложением, поэтому конечным пользователям не нужно устанавливать свою собственную. [59] [60]
Известные игры
[ редактировать ]- Ingress (до перезапуска как Ingress Prime )
- Убить Шпиль [61]
- Делвер
- Промышленность
- Разрушенное пиксельное подземелье
- Уайлдермит [62]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v Зехнер, Марио (20 апреля 2014 г.). «Выпущена libGDX 1.0» . badlogicgames.com . Архивировано из оригинала 13 февраля 2021 года . Проверено 31 декабря 2015 г.
- ^ Jump up to: а б с д «Цели и особенности» . libgdx.badlogicgames.com . Архивировано из оригинала 6 июня 2012 года . Проверено 16 декабря 2015 г.
- ^ «Официальный сайт» . libgdx.badlogicgames.com . Архивировано из оригинала 27 мая 2011 года . Проверено 2 января 2016 г.
- ^ «mobilegameengines.com/game_engines/32-libgdx» . Архивировано из оригинала 18 января 2015 года.
- ^ Jump up to: а б «Главная — libGDX» . libgdx.com .
- ^ «libgdx/README.md в мастере» . github.com .
- ^ Зехнер, Марио (6 марта 2010 г.). «Будущее…» badlogicgames.com . Проверено 31 декабря 2015 г.
- ^ Зехнер, Марио (13 июля 2010 г.). «libgdx меняет свою лицензию» . badlogicgames.com . Проверено 31 декабря 2015 г.
- ^ Зехнер, Марио (10 июля 2010 г.). "Форумы!" . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (21 января 2011 г.). «Загрузка OpenAL и Natives в Libgdx» . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (26 января 2011 г.). «Gdx2D и Супер Джампер» . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (25 июня 2011 г.). «Развлечение пользовательского интерфейса на Android с помощью libgdx» . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (3 января 2012 г.). «gdx-jnigen: глупая идея, которая может сработать» . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (8 января 2012 г.). "gdx-аудио" . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (6 марта 2012 г.). «Создавайте растровые шрифты на лету с помощью gdx-freetype» . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (8 июня 2012 г.). «Libgdx на iOS, дни 1–2» . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (13 июня 2012 г.). «Libgdx на iOS, день 5» . badlogicgames.com . Проверено 3 января 2016 г.
- ^ Зехнер, Марио (8 августа 2012 г.). «Гит и Мавен» . badlogicgames.com . Проверено 4 января 2016 г.
- ^ Зехнер, Марио (10 августа 2012 г.). «Libgdx теперь находится на Github (вроде как)» . badlogicgames.com . Проверено 4 января 2016 г.
- ^ Зехнер, Марио (9 марта 2013 г.). «Бэкэнд RoboVM libgdx на ранней стадии» . badlogicgames.com . Проверено 6 января 2016 г.
- ^ Зехнер, Марио (10 сентября 2013 г.). «Бэкэнд RoboVM в ночных версиях libgdx и первые показатели производительности!» . badlogicgames.com . Проверено 6 января 2016 г.
- ^ Зехнер, Марио (28 марта 2013 г.). «Приготовьтесь, скоро появится новый 3D API» . badlogicgames.com . Проверено 6 января 2016 г.
- ^ Зехнер, Марио (20 мая 2013 г.). «Новый 3D API в мастере» . badlogicgames.com . Проверено 6 января 2016 г.
- ^ Зехнер, Марио (29 июня 2013 г.). «Новый сайт libgdx запущен!» . badlogicgames.com . Проверено 6 января 2016 г.
- ^ «Галерея» . libgdx.badlogicgames.com . Проверено 6 января 2016 г.
- ^ Зехнер, Марио (14 сентября 2013 г.). «Великолепный трекер проблем libgdx и миграция Wiki Github» . badlogicgames.com . Проверено 6 января 2016 г.
- ^ Зехнер, Марио (22 сентября 2013 г.). «Добро пожаловать, ваш новый повелитель: Грейдл» . badlogicgames.com . Проверено 6 января 2016 г.
- ^ Квиткар, Кэролайн (28 сентября 2014 г.). «Победители премии Duke's Choice 2014» . blogs.oracle.com . Проверено 30 декабря 2015 г.
Программисты могут использовать эту кроссплатформенную среду разработки игр для написания, тестирования и отладки игр на Java.
- ^ Зехнер, Марио (29 сентября 2014 г.). «libgdx получает награду Duke's Choice Award» . badlogicgames.com . Проверено 30 декабря 2015 г.
- ^ Гилл, Филип Дж . «Награда Duke's Choice Awards 2014» . Журнал Ява . п. 8 . Проверено 31 декабря 2015 г.
- ^ Jump up to: а б Зехнер, Марио (15 апреля 2016 г.). «RoboVM больше нет, что теперь?» . Архивировано из оригинала 8 ноября 2020 года . Проверено 15 апреля 2016 г.
- ^ Мюллер, Хенрик (15 апреля 2016 г.). «Свертывание RoboVM» . Архивировано из оригинала 15 апреля 2016 года . Проверено 16 апреля 2016 г.
- ^ Jump up to: а б Зехнер, Марио (16 мая 2016 г.). «Выпущена libGDX 1.9.3 — новые серверные части iOS» . Проверено 17 мая 2016 г.
- ^ «Вилка RoboVM от MobiDevelop» . Проверено 17 мая 2016 г.
- ^ Зехнер, Марио (22 ноября 2015 г.). «libGDX Jam начался! – Тематическое голосование №1» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (6 февраля 2016 г.). «libGDX Jam – И победителем становится…» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (23 мая 2014 г.). «Выпущена libGDX 1.1.0» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (22 июня 2014 г.). «Выпущена libGDX 1.2.0» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (9 августа 2014 г.). «Выпущена libGDX 1.3.0» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (10 октября 2014 г.). «Выпущена libGDX 1.4.1» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (8 декабря 2014 г.). «Выпущена libGDX 1.5.0» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (6 мая 2015 г.). «Выпущена libGDX 1.6.0» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (21 сентября 2015 г.). «Выпущена libGDX 1.7.0» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (5 января 2016 г.). «Выпущена libGDX 1.8.0» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Зехнер, Марио (24 января 2016 г.). «Выпущена libGDX 1.9.0» . badlogicgames.com . Проверено 13 февраля 2016 г.
- ^ Дамиос (18 апреля 2021 г.). «libGDX 1.10.0» . libgdx.com . Проверено 19 апреля 2021 г.
- ^ Дамиос (11 мая 2022 г.). «libGDX 1.11.0» . libgdx.com . Проверено 12 мая 2022 г.
- ^ Дамиос (2 июля 2023 г.). «libGDX 1.12.0» . libgdx.com . Проверено 24 июля 2023 г.
- ^ «Начальные классы и конфигурация — libGDX» . libgdx.com . Проверено 18 января 2022 г.
- ^ Зехнер, Марио (5 января 2016 г.). «libGDX 1.8.0» . badlogicgames.com . Получено 11 января.
- ^ Зехнер, Марио (12 марта 2012 г.). «Libgdx переходит на HTML5» . badlogicgames.com . Проверено 17 мая 2016 г.
- ^ Зехнер, Марио (19 января 2013 г.). «Отражение в бэкэнде GWT libgdx» . badlogicgames.com . Проверено 17 мая 2016 г.
- ^ Зехнер, Марио (17 июня 2013 г.). «API отражения с поддержкой GWT!» . badlogicgames.com . Проверено 17 мая 2016 г.
- ^ «Использование libgdx с другими языками JVM» . libgdx.com . Проверено 18 января 2022 г.
- ^ "gdx-ai/README.md" . github.com . 12 октября 2015 г. Проверено 16 января 2016 г. .
- ^ "Искусственный интеллект" . libgdx.com . Проверено 18 января 2022 г.
- ^ «Gdx свободный тип» . libgdx.com . Проверено 18 января 2022 г.
- ^ «Бокс2д» . libgdx.com . Проверено 18 января 2022 г.
- ^ «libgdx/packr: упаковывает ваш JAR, ресурсы и JVM для распространения в Windows, Linux и Mac OS X» . github.com . Проверено 6 февраля 2016 г.
- ^ Зехнер, Марио (4 мая 2014 г.). «Packr – упакуйте свое приложение libGDX для Windows, Linux, Mac OS X» . badlogicgames.com . Архивировано из оригинала 27 апреля 2020 года . Проверено 6 февраля 2016 г.
- ^ Кутюр, Джоэл (22 января 2020 г.). «Дорога к IGF: Slay the Spire от Mega Crit Games» . www.gamasutra.com . Проверено 22 января 2020 г.
- ^ «Примечания к патчу — Wildermyth Wiki» . wildermyth.com . Проверено 23 августа 2022 г.
Внешние ссылки
[ редактировать ]- Аудио библиотеки
- Кроссплатформенное бесплатное программное обеспечение
- Бесплатное программное обеспечение для 3D-графики
- Бесплатные компьютерные библиотеки
- Бесплатные игровые движки
- Бесплатное графическое программное обеспечение
- Бесплатное программное обеспечение, написанное на Java (языке программирования).
- Графические библиотеки
- API-интерфейсы Java
- Библиотеки Java (язык программирования)
- OpenGL
- Программное обеспечение, использующее лицензию Apache
- Программное обеспечение для разработки видеоигр
- Программное обеспечение для разработки видеоигр для Linux
- Движки видеоигр