stringtranslate.com

libGDX


libGDX — это бесплатная среда разработки приложений с открытым исходным кодом [3] [2] , написанная на языке программирования Java с некоторыми компонентами C и C++ для кода, зависящего от производительности. [4] Это позволяет разрабатывать настольные и мобильные игры, используя одну и ту же базу кода. [5] Он кроссплатформенный, поддерживает Windows , Linux , Mac OS X , 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 года было представлено более 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 Джем

С 18 декабря 2015 по 18 января 2016 года был организован гейм-джем libGDX совместно с RoboVM , itch.io и Robotality. Из первоначально предложенных 180 тем основной темой джема была выбрана «Жизнь в космосе», за время конкурса было создано 83 игры. [35] [36]

Версии выпуска

Архитектура

libGDX позволяет разработчику писать, тестировать и отлаживать свои приложения на своем настольном ПК и использовать тот же код на Android. Он абстрагирует различия между обычным приложением Windows/Linux и приложением Android. Обычный цикл разработки состоит в том, чтобы как можно дольше оставаться на настольном ПК и периодически проверять, работает ли проект на Android. Его основная цель — обеспечить полную совместимость между настольными и мобильными устройствами, основная разница — скорость и вычислительная мощность. [5]

Серверные части

Библиотека прозрачно использует код, специфичный для платформы, через различные серверные части для доступа к возможностям хост-платформы. В большинстве случаев разработчику не нужно писать код, специфичный для платформы, за исключением стартовых классов (также называемых программами запуска), которые требуют различных настроек в зависимости от серверной части. [49]

Другие языки 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]

Известные игры

Смотрите также

Рекомендации

  1. ^ abcdefghijklmnopqrstu против Зехнера, Марио (20 апреля 2014 г.). «Выпущена libGDX 1.0». badlogicgames.com . Архивировано из оригинала 13 февраля 2021 года . Проверено 31 декабря 2015 г.
  2. ^ abcd «Цели и особенности». libgdx.badlogicgames.com . Архивировано из оригинала 6 июня 2012 года . Проверено 16 декабря 2015 г.
  3. ^ «Официальный сайт». libgdx.badlogicgames.com . Архивировано из оригинала 27 мая 2011 года . Проверено 2 января 2016 г.
  4. ^ "mobilegameengines.com/game_engines/32-libgdx" . Архивировано из оригинала 18 января 2015 года.
  5. ^ ab "Главная - libGDX". libgdx.com .
  6. ^ "libgdx/README.md в мастере" . github.com .
  7. ^ Зехнер, Марио (6 марта 2010 г.). «Будущее…» badlogicgames.com . Проверено 31 декабря 2015 г.
  8. ^ Зехнер, Марио (13 июля 2010 г.). «libgdx меняет свою лицензию». badlogicgames.com . Проверено 31 декабря 2015 г.
  9. ^ Зехнер, Марио (10 июля 2010 г.). «Форумы!». badlogicgames.com . Проверено 3 января 2016 г.
  10. ^ Зехнер, Марио (21 января 2011 г.). «Загрузка OpenAL и Natives в Libgdx». badlogicgames.com . Проверено 3 января 2016 г.
  11. ^ Зехнер, Марио (26 января 2011 г.). «Gdx2D и Супер Джампер». badlogicgames.com . Проверено 3 января 2016 г.
  12. ^ Зехнер, Марио (25 июня 2011 г.). «UI Fun на Android с libgdx». badlogicgames.com . Проверено 3 января 2016 г.
  13. ^ Зехнер, Марио (3 января 2012 г.). «gdx-jnigen: глупая идея, которая может сработать». badlogicgames.com . Проверено 3 января 2016 г.
  14. ^ Зехнер, Марио (8 января 2012 г.). «gdx-аудио». badlogicgames.com . Проверено 3 января 2016 г.
  15. ^ Зехнер, Марио (6 марта 2012 г.). «Создавайте растровые шрифты на лету с помощью gdx-freetype». badlogicgames.com . Проверено 3 января 2016 г.
  16. ^ Зехнер, Марио (8 июня 2012 г.). «Libgdx на iOS, дни 1–2». badlogicgames.com . Проверено 3 января 2016 г.
  17. ^ Зехнер, Марио (13 июня 2012 г.). «Libgdx на iOS, день 5». badlogicgames.com . Проверено 3 января 2016 г.
  18. ^ Зехнер, Марио (8 августа 2012 г.). «Гит и Мавен». badlogicgames.com . Проверено 4 января 2016 г.
  19. ^ Зехнер, Марио (10 августа 2012 г.). «Libgdx теперь находится на Github (вроде как)». badlogicgames.com . Проверено 4 января 2016 г.
  20. ^ Зехнер, Марио (9 марта 2013 г.). «Бэкэнд RoboVM libgdx на ранней стадии». badlogicgames.com . Проверено 6 января 2016 г.
  21. ^ Зехнер, Марио (10 сентября 2013 г.). «Бэкэнд RoboVM в ночных играх libgdx и первые показатели производительности!». badlogicgames.com . Проверено 6 января 2016 г.
  22. ^ Зехнер, Марио (28 марта 2013 г.). «Приготовьтесь, скоро появится новый 3D API». badlogicgames.com . Проверено 6 января 2016 г.
  23. ^ Зехнер, Марио (20 мая 2013 г.). «Новый 3D API в мастере». badlogicgames.com . Проверено 6 января 2016 г.
  24. ^ Зехнер, Марио (29 июня 2013 г.). «Новый сайт libgdx доступен!». badlogicgames.com . Проверено 6 января 2016 г.
  25. ^ "Галерея". libgdx.badlogicgames.com . Проверено 6 января 2016 г.
  26. ^ Зехнер, Марио (14 сентября 2013 г.). «Великолепный трекер проблем libgdx и миграция Wiki Github». badlogicgames.com . Проверено 6 января 2016 г.
  27. ^ Зехнер, Марио (22 сентября 2013 г.). «Добро пожаловать, ваш новый повелитель: Грейдл». badlogicgames.com . Проверено 6 января 2016 г.
  28. Квиткар, Кэролайн (28 сентября 2014 г.). «Победители премии Duke's Choice 2014». blogs.oracle.com . Проверено 30 декабря 2015 г. Программисты могут использовать эту кроссплатформенную среду разработки игр для написания, тестирования и отладки игр на Java.
  29. ^ Зехнер, Марио (29 сентября 2014 г.). «libgdx получает награду Duke's Choice Award». badlogicgames.com . Проверено 30 декабря 2015 г.
  30. ^ Гилл, Филип Дж. «Награда Duke's Choice Awards 2014». Журнал Ява . п. 8 . Проверено 31 декабря 2015 г.
  31. ^ Аб Зехнер, Марио (15 апреля 2016 г.). «RoboVM больше нет, что теперь?». Архивировано из оригинала 8 ноября 2020 года . Проверено 15 апреля 2016 г.
  32. Мюллер, Хенрик (15 апреля 2016 г.). «RoboVM завершает работу». Архивировано из оригинала 15 апреля 2016 года . Проверено 16 апреля 2016 г.
  33. ^ Аб Зехнер, Марио (16 мая 2016 г.). «Выпущена libGDX 1.9.3 — новые серверные части iOS» . Проверено 17 мая 2016 г.
  34. ^ "Вилка RoboVM MobiDevelop" . Проверено 17 мая 2016 г.
  35. ^ Зехнер, Марио (22 ноября 2015 г.). «libGDX Jam уже начался! – Тематическое голосование №1». badlogicgames.com . Проверено 13 февраля 2016 г.
  36. ^ Зехнер, Марио (6 февраля 2016 г.). «libGDX Jam – И победителем становится…». badlogicgames.com . Проверено 13 февраля 2016 г.
  37. ^ Зехнер, Марио (23 мая 2014 г.). «Выпущена libGDX 1.1.0». badlogicgames.com . Проверено 13 февраля 2016 г.
  38. ^ Зехнер, Марио (22 июня 2014 г.). «Выпущена libGDX 1.2.0». badlogicgames.com . Проверено 13 февраля 2016 г.
  39. ^ Зехнер, Марио (9 августа 2014 г.). «Выпущена libGDX 1.3.0». badlogicgames.com . Проверено 13 февраля 2016 г.
  40. ^ Зехнер, Марио (10 октября 2014 г.). «Выпущена libGDX 1.4.1». badlogicgames.com . Проверено 13 февраля 2016 г.
  41. ^ Зехнер, Марио (8 декабря 2014 г.). «Выпущена libGDX 1.5.0». badlogicgames.com . Проверено 13 февраля 2016 г.
  42. ^ Зехнер, Марио (6 мая 2015 г.). «Выпущена libGDX 1.6.0». badlogicgames.com . Проверено 13 февраля 2016 г.
  43. ^ Зехнер, Марио (21 сентября 2015 г.). «Выпущена libGDX 1.7.0». badlogicgames.com . Проверено 13 февраля 2016 г.
  44. ^ Зехнер, Марио (5 января 2016 г.). «Выпущена libGDX 1.8.0». badlogicgames.com . Проверено 13 февраля 2016 г.
  45. ^ Зехнер, Марио (24 января 2016 г.). «Выпущена libGDX 1.9.0». badlogicgames.com . Проверено 13 февраля 2016 г.
  46. Дамиос (18 апреля 2021 г.). «libGDX 1.10.0». libgdx.com . Проверено 19 апреля 2021 г.
  47. ^ Дамиос (11 мая 2022 г.). «libGDX 1.11.0». libgdx.com . Проверено 12 мая 2022 г.
  48. ^ Дамиос (2 июля 2023 г.). «libGDX 1.12.0». libgdx.com . Проверено 24 июля 2023 г.
  49. ^ «Начальные классы и конфигурация — libGDX» . libgdx.com . Проверено 18 января 2022 г.
  50. ^ Зехнер, Марио (5 января 2016 г.). «libGDX 1.8.0». badlogicgames.com . Проверено 11 января 2016 г.
  51. ^ Зехнер, Марио (12 марта 2012 г.). «Libgdx переходит на HTML5». badlogicgames.com . Проверено 17 мая 2016 г.
  52. ^ Зехнер, Марио (19 января 2013 г.). «Отражение в бэкэнде GWT libgdx». badlogicgames.com . Проверено 17 мая 2016 г.
  53. ^ Зехнер, Марио (17 июня 2013 г.). «API отражения с поддержкой GWT!». badlogicgames.com . Проверено 17 мая 2016 г.
  54. ^ «Использование libgdx с другими языками JVM». libgdx.com . Проверено 18 января 2022 г.
  55. ^ "gdx-ai/README.md". github.com . 12 октября 2015 г. Проверено 16 января 2016 г. .
  56. ^ «Искусственный интеллект». libgdx.com . Проверено 18 января 2022 г.
  57. ^ "Gdx Freetype" . libgdx.com . Проверено 18 января 2022 г.
  58. ^ "Box2d". libgdx.com . Проверено 18 января 2022 г.
  59. ^ «libgdx/packr: упаковывает ваш JAR, ресурсы и JVM для распространения в Windows, Linux и Mac OS X». github.com . Проверено 6 февраля 2016 г.
  60. ^ Зехнер, Марио (4 мая 2014 г.). «Packr – упакуйте свое приложение libGDX для Windows, Linux, Mac OS X». badlogicgames.com . Архивировано из оригинала 27 апреля 2020 года . Проверено 6 февраля 2016 г.
  61. Кутюр, Джоэл (22 января 2020 г.). «Дорога к IGF: Slay the Spire от Mega Crit Games». www.gamasutra.com . Проверено 22 января 2020 г.
  62. ^ "Примечания к обновлению - Wildermyth Wiki" . wildermyth.com . Проверено 23 августа 2022 г.

Внешние ссылки