LibGDX - LibGDX

libGDX
Libgdx.png
Orijinal yazar (lar)Mario Zechner
İlk sürüm20 Nisan 2014; 6 yıl önce (2014-04-20)[1]
Kararlı sürüm
1.9.11 / 22 Temmuz 2020; 4 ay önce (2020-07-22)
Depo Bunu Vikiveri'de düzenleyin
YazılmışJava, C, C ++
İşletim sistemipencereler, Linux, Mac OS X, Android, BlackBerry OS, iOS, Java Uygulaması, JavaScript /WebGL[2]
PlatformJava platformu
LisansApache Lisans 2.0[2]
İnternet sitesihttps://libgdx.com

libGDX bir ücretsiz ve açık kaynak[3] oyun geliştirme uygulama çerçevesi[2] yazılmış Java programlama dili biraz ile C ve C ++ performansa bağlı kod için bileşenler.[4] Aynı kod tabanını kullanarak masaüstü ve mobil oyunların geliştirilmesine izin verir.[5] Çapraz platformdur, destekler pencereler, Linux, Mac OS X, Android, iOS, Böğürtlen ve internet tarayıcıları ile WebGL destek.[2][6]

Tarih

2009'un ortasında libGDX'in yaratıcısı Mario Zechner yazmak istedi Android oyunlar ve bunun için AFX (Android Effects) adlı bir çerçeve geliştirmeye başladı. Masaüstünden Android cihaza yapılan değişiklikleri uygulamanın zahmetli olduğunu fark ettiğinde, AFX'i Masaüstünde de çalışacak şekilde değiştirerek programları test etmeyi kolaylaştırdı. Bu, daha sonra libGDX olarak bilinen oyun çerçevesine doğru ilk adımdı.[1]

Mart 2010'da Zechner, açık kaynaklı AFX'i barındırmaya karar verdi. Google Code altında GNU Daha Az Genel Kamu Lisansı (LGPL). Bununla birlikte, o dönemde çerçevenin öncelikli olarak Android'i hedeflemesini amaçlayarak "Yine de masaüstü oyunları oluşturmak için kullanılacak çerçevenin amacı değildir" dedi. Nisan ayında ilk katılımcısını aldı.[1][7]

Zechner bir Box2D JNI sarıcı, bu daha fazla kullanıcı ve katılımcı çekti çünkü o zamanlar fizik oyunları popülerdi.[daha iyi kaynak gerekli ] Android ile ilgili sorunların çoğu bu nedenle çözüldü.[1]

LGPL'nin Android için uygun olmaması nedeniyle birçok kullanıcı farklı bir lisansa geçmeyi önerdiğinden, libGDX lisansını şu şekilde değiştirdi: Apache Lisans 2.0 Temmuz 2010'da çerçevenin kapalı kaynaklı ticari oyunlarda kullanılmasını mümkün kıldı.[1][8] Aynı ay phpBB forum açıldı.[1][9]

Java Sesi ile ilgili sorunlar nedeniyle, sesli masaüstü uygulaması şu şekilde değiştirildi: OpenAL Ocak 2011'de.[1][10] Açık kaynağa bağlı olarak Gdx2D adlı küçük bir görüntü işleme kitaplığının geliştirilmesi de tamamlandı STB kütüphane.[1][11]

2011'in geri kalanı bir UI kitaplığı eklemekle geçti[12] ve bir 3D API'nin temelleri üzerinde çalışmak.[1]

2012'nin başında Zechner, JNI bağlamalarının geliştirilmesini kolaylaştırmak için gdx-jnigen adlı küçük bir yardımcı kitaplık oluşturdu.[1][13] Bu, gdx-audio için mümkün kıldı[14] ve gdx-freetype[15] önümüzdeki aylarda geliştirilecek uzantılar.[1]

İlham veren Google 's PlayN kullanılan çapraz platform oyun geliştirme çerçevesi Google Web Araç Seti (GWT) Java'yı derlemek için JavaScript kod, Zechner yazdı HTML / Birkaç hafta boyunca libGDX uygulamalarının herhangi bir tarayıcıda çalıştırılmasına izin veren JavaScript arka ucu WebGL destek.[1] Google, PlayN'i terk ettikten sonra, bunu ekleyen Michael Bayne tarafından sağlandı iOS ona destek. LibGDX bu çalışmanın bazı kısımlarını kendisi için kullandı MonoTouch tabanlı arka uç.[1][16][17]

Ağustos 2012'de proje, sürüm kontrol sistemi itibaren Yıkım -e Git, Google Code'dan GitHub. Ancak, sorun izleyici ve wiki bir yıl daha Google Code'da kaldı. Ana yapı sistemi de değiştirildi Uzman, farklı özelliklere sahip geliştiriciler için IDE'ler birlikte çalışmak.[1][18][19]

MonoTouch iOS arka ucu ile ilgili sorunlar nedeniyle Niklas Thernig, RoboVM Eylül 2013'te projeye entegre edilen libGDX için arka uç.[1][20][21] Mart'tan Mayıs 2013'e kadar yeni bir 3D API de geliştirildi ve kitaplığa entegre edildi.[1][22][23]

Haziran 2013'te projenin web sitesi yeniden düzenlendi, şimdi kullanıcıların libGDX ile oluşturdukları oyunlarını gönderebilecekleri bir galeri bulunuyor.[1][24] Ocak 2016 itibariyle 3000'den fazla oyun gönderildi.[25]

Bir yıl önce kaynak kodun GitHub'a taşınmasından sonra, Eylül 2013'te sorun izleyici ve wiki de Google Code'dan buraya taşındı.[1][26] Aynı ay, derleme ve bağımlılık yönetimi sistemi Maven'den Gradle.[1][27]

2014'ün ilk aylarındaki bir temizleme aşamasının ardından libGDX sürüm 1.0, projenin başlamasından dört yıldan fazla bir süre sonra 20 Nisan'da piyasaya sürüldü.[1]

2014 yılında libGDX, yıllık Dük'ün Seçimi Ödülü kazananlar, platform bağımsızlığına odaklandığı için seçiliyor.[28][29]

Çeşitli açık kaynak meraklılarından oluşan bir ekipten, programcıların Windows, Linux veya Mac OS X çalıştıran bir masaüstü bilgisayarda Java oyunları yazmasına, test etmesine ve hata ayıklamasına ve aynı kodu Android'e dağıtmasına olanak tanıyan bir çapraz platform oyun geliştirme çerçevesi olan libGDX geliyor. , iOS ve WebGL özellikli tarayıcılar - şu anda yaygın olarak bulunmayan bir şey. Yaratıcı Mario Zechner, libGDX'in amacının "Java platformunun özellikle oyun geliştirmeye yönelik 'bir kez yaz, her yerde çalıştır' vaadini yerine getirmek olduğunu söylüyor."

— Java Dergisi Eylül / Ekim 2014[30]

Nisan 2016'da libGDX'in Intel 's Çoklu İşletim Sistemi Motoru RoboVM'nin sonlandırılmasının ardından iOS arka ucunda.[31][32] 16 Mayıs 2016'da libGDX 1.9.3'ün piyasaya sürülmesiyle Multi-OS bir alternatif olarak sunulurken, kütüphane varsayılan olarak RoboVM'nin açık kaynak sürümünün kendi çatalını kullanır.[33][34]

libGDX Jam

18 Aralık 2015 ile 18 Ocak 2016 arasında bir libGDX Oyuna Boğmak ile birlikte organize edildi RoboVM, kaşıntı.io ve Robotiklik. Başlangıçta 180 tema önerisinden "Life in space", reçelin ana teması olarak seçildi ve yarışma süresince 83 oyun oluşturuldu.[35][36]

Yayın sürümleri

SürümYayın tarihi
Eski versiyon, artık korunmuyor: 1.020 Nisan 2014[1]
Eski versiyon, artık korunmuyor: 1.123 Mayıs 2014[37]
Eski versiyon, artık korunmuyor: 1.222 Haziran 2014[38]
Eski versiyon, artık korunmuyor: 1.39 Ağustos 2014[39]
Eski versiyon, artık korunmuyor: 1.410 Ekim 2014[40]
Eski versiyon, artık korunmuyor: 1.58 Aralık 2014[41]
Eski versiyon, artık korunmuyor: 1.66 Mayıs 2015[42]
Eski versiyon, artık korunmuyor: 1.721 Eylül 2015[43]
Eski versiyon, artık korunmuyor: 1.85 Ocak 2016[44]
Mevcut kararlı sürüm: 1.924 Ocak 2016[45]
Gösterge:Eski versiyon, korunmamışEski sürüm, hala korunuyorMevcut kararlı sürümEn son önizleme sürümüGelecek sürüm

Mimari

libGDX, geliştiricinin uygulamalarını kendi masaüstü bilgisayarlarında yazmasına, test etmesine ve hatalarını ayıklamasına ve aynı kodu Android'de kullanmasına olanak tanır. Yaygın bir Windows / Linux uygulaması ile bir Android uygulaması arasındaki farkları özetler. Olağan geliştirme döngüsü, projenin hala Android'de çalıştığını periyodik olarak doğrulayarak masaüstü bilgisayarda mümkün olduğunca uzun süre kalmayı içerir. Ana hedefi, masaüstü ve mobil cihazlar arasında tam uyumluluk sağlamaktır; temel fark hız ve işlem gücüdür.[5]

Arka uçlar

Kitaplık, ana bilgisayar platformunun yeteneklerine erişmek için çeşitli arka uçlar aracılığıyla platforma özgü kodu şeffaf bir şekilde kullanır. Arka uca bağlı olarak farklı kurulum gerektiren başlangıç ​​sınıfları (başlatıcılar olarak da adlandırılır) dışında geliştiricinin çoğu zaman platforma özel kod yazması gerekmez.[46]

Diğer JVM dilleri

LibGDX öncelikle Java, derlenmiş bayt kodu dilden bağımsızdır ve diğer birçok JVM dilleri doğrudan kitaplığı kullanmak için. Belgeler özellikle birlikte çalışabilirliği belirtir Seylan, Clojure, Kotlin, Jython, JRuby ve Scala.[51]

Uzantılar

Kitaplığa ek işlevler ekleyen birkaç resmi ve üçüncü taraf uzantı mevcuttur.

gdxAI

Bir yapay zeka Ekim 2014'te 1.4.1 sürümüyle ana kitaplıktan ayrılan ve kendi havuzuna taşınan (AI) çerçevesi. Başlangıçta libGDX için yapılmış olsa da diğer çerçevelerle de kullanılabilir. Proje, aralarında oyunlar için yararlı olan yapay zekaya odaklanıyor yol bulma, karar verme ve hareket.[52][53]

gdx freetype

Oluşturmak için kullanılabilir FreeType statik kullanmak yerine çalışma zamanında fontlar bit eşlem ölçeklenmeyen resimler.[54]

Box2D

İçin bir paketleyici Box2D fizik kütüphanesi 2010 yılında tanıtıldı ve 1.0 sürümü ile bir uzantıya taşındı.[1][55]

packr

Özel bir paket oluşturan yardımcı bir araç JRE uygulama ile son kullanıcıların kendi uygulamalarını yüklemelerine gerek kalmaz.[56][57]

Önemli oyunlar

Ayrıca bakınız

  • Ücretsiz ve açık kaynaklı yazılım logosu (2009) .svg Ücretsiz yazılım portalı
  • Octicons-terminal.svg Bilgisayar programlama portalı

Referanslar

  1. ^ a b c d e f g h ben j k l m n Ö p q r s t sen v Zechner, Mario (20 Nisan 2014). "libGDX 1.0 yayınlandı". badlogicgames.com. Alındı 31 Aralık 2015.
  2. ^ a b c d "Hedefler ve Özellikler". libgdx.badlogicgames.com. Alındı 16 Aralık 2015.
  3. ^ "Resmi internet sitesi". libgdx.badlogicgames.com. Alındı 2 Ocak 2016.
  4. ^ "mobilegameengines.com/game_engines/32-libgdx". Arşivlenen orijinal 18 Ocak 2015.
  5. ^ a b "Ana Sayfa · libgdx / libdgx Wiki". github.com.
  6. ^ "libgdx / README.md yöneticisinde". github.com.
  7. ^ Zechner, Mario (6 Mart 2010). "Gelecek..." badlogicgames.com. Alındı 31 Aralık 2015.
  8. ^ Zechner, Mario (13 Temmuz 2010). "libgdx lisansını değiştirir". badlogicgames.com. Alındı 31 Aralık 2015.
  9. ^ Zechner, Mario (10 Temmuz 2010). "Forumlar!". badlogicgames.com. Alındı 3 Ocak 2016.
  10. ^ Zechner, Mario (21 Ocak 2011). "OpenAL ve Yerliler Libgdx'e Yükleniyor". badlogicgames.com. Alındı 3 Ocak 2016.
  11. ^ Zechner, Mario (26 Ocak 2011). "Gdx2D ve Süper Jumper". badlogicgames.com. Alındı 3 Ocak 2016.
  12. ^ Zechner, Mario (25 Haziran 2011). "Libgdx ile Android'de UI Eğlencesi". badlogicgames.com. Alındı 3 Ocak 2016.
  13. ^ Zechner, Mario (3 Ocak 2012). "gdx-jnigen: işe yarayabilecek aptalca bir fikir". badlogicgames.com. Alındı 3 Ocak 2016.
  14. ^ Zechner, Mario (8 Ocak 2012). "gdx-audio". badlogicgames.com. Alındı 3 Ocak 2016.
  15. ^ Zechner, Mario (6 Mart 2012). "Gdx-freetype ile anında BitmapFonts oluşturun". badlogicgames.com. Alındı 3 Ocak 2016.
  16. ^ Zechner, Mario (8 Haziran 2012). "İOS'ta Libgdx, 1-2. Günler". badlogicgames.com. Alındı 3 Ocak 2016.
  17. ^ Zechner, Mario (13 Haziran 2012). "İOS'ta Libgdx, 5. gün". badlogicgames.com. Alındı 3 Ocak 2016.
  18. ^ Zechner, Mario (8 Ağustos 2012). "Git ve Maven". badlogicgames.com. Alındı 4 Ocak 2016.
  19. ^ Zechner, Mario (10 Ağustos 2012). "Libgdx artık Github'da (sorta)". badlogicgames.com. Alındı 4 Ocak 2016.
  20. ^ Zechner, Mario (9 Mart 2013). "Erken aşama RoboVM libgdx arka ucu". badlogicgames.com. Alındı 6 Ocak 2016.
  21. ^ Zechner, Mario (10 Eylül 2013). "Libgdx gecelerinde RoboVM arka ucu ve ilk performans figürleri!". badlogicgames.com. Alındı 6 Ocak 2016.
  22. ^ Zechner, Mario (28 Mart 2013). "Kendinizi hazırlayın, yeni 3D API geliyor". badlogicgames.com. Alındı 6 Ocak 2016.
  23. ^ Zechner, Mario (20 Mayıs 2013). "Master'da yeni 3D API". badlogicgames.com. Alındı 6 Ocak 2016.
  24. ^ Zechner, Mario (29 Haziran 2013). "Yeni libgdx sitesi yayında!". badlogicgames.com. Alındı 6 Ocak 2016.
  25. ^ "Galeri". libgdx.badlogicgames.com. Alındı 6 Ocak 2016.
  26. ^ Zechner, Mario (14 Eylül 2013). "Büyük libgdx Sorun İzleyici ve Wiki Github Geçişi". badlogicgames.com. Alındı 6 Ocak 2016.
  27. ^ Zechner, Mario (22 Eylül 2013). "Yeni derebeyinize hoş geldiniz: Gradle". badlogicgames.com. Alındı 6 Ocak 2016.
  28. ^ Kvitkar, Caroline (28 Eylül 2014). "2014 Duke's Choice Ödülü Kazananları". blogs.oracle.com. Alındı 30 Aralık 2015. Programcılar, Java oyunları yazmak, test etmek ve hata ayıklamak için bu platformlar arası oyun geliştirme çerçevesini kullanabilir.
  29. ^ Zechner, Mario (29 Eylül 2014). "libgdx, Duke'un Seçimi Ödülü'nü kazandı". badlogicgames.com. Alındı 30 Aralık 2015.
  30. ^ Gill, Philip J. "2014 Duke's Choice Ödülleri". Java Dergisi. s. 8. Alındı 31 Aralık 2015.
  31. ^ a b Zechner, Mario (15 Nisan 2016). "RoboVM artık yok, şimdi ne olacak?". Alındı 15 Nisan 2016.
  32. ^ Müller, Henric (15 Nisan 2016). "RoboVM Sarılıyor". Alındı 16 Nisan 2016.
  33. ^ a b Zechner, Mario (16 Mayıs 2016). "libGDX 1.9.3 yayınlandı - Yeni iOS arka uçları". Alındı 17 Mayıs 2016.
  34. ^ "MobiDevelop'un RoboVM çatalı". Alındı 17 Mayıs 2016.
  35. ^ Zechner, Mario (22 Kasım 2015). "libGDX Jam başladı! - Tema 1 Numaralı Oylama Turu". badlogicgames.com. Alındı 13 Şubat 2016.
  36. ^ Zechner, Mario (6 Şubat 2016). "libGDX Jam - Ve kazanan ...". badlogicgames.com. Alındı 13 Şubat 2016.
  37. ^ Zechner, Mario (23 Mayıs 2014). "libGDX 1.1.0 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  38. ^ Zechner, Mario (22 Haziran 2014). "libGDX 1.2.0 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  39. ^ Zechner, Mario (9 Ağustos 2014). "libGDX 1.3.0 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  40. ^ Zechner, Mario (10 Ekim 2014). "libGDX 1.4.1 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  41. ^ Zechner, Mario (8 Aralık 2014). "libGDX 1.5.0 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  42. ^ Zechner, Mario (6 Mayıs 2015). "libGDX 1.6.0 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  43. ^ Zechner, Mario (21 Eylül 2015). "libGDX 1.7.0 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  44. ^ Zechner, Mario (5 Ocak 2016). "libGDX 1.8.0 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  45. ^ Zechner, Mario (24 Ocak 2016). "libGDX 1.9.0 yayınlandı". badlogicgames.com. Alındı 13 Şubat 2016.
  46. ^ "Başlangıç ​​sınıfları ve yapılandırması · libgdx / libgdx Wiki". github.com. 10 Aralık 2015. Alındı 19 Aralık 2015.
  47. ^ Zechner, Mario (5 Ocak 2016). "libGDX 1.8.0". badlogicgames.com. Alındı 11 Ocak 2016.
  48. ^ Zechner, Mario (12 Mart 2012). "Libgdx HTML5'e geçiyor". badlogicgames.com. Alındı 17 Mayıs 2016.
  49. ^ Zechner, Mario (19 Ocak 2013). "Libgdx'in GWT arka ucundaki yansıma". badlogicgames.com. Alındı 17 Mayıs 2016.
  50. ^ Zechner, Mario (17 Haziran 2013). "GWT destekli Reflection API!". badlogicgames.com. Alındı 17 Mayıs 2016.
  51. ^ "Libgdx'i diğer jvm dilleriyle kullanma". github.com. 16 Aralık 2015. Alındı 30 Aralık 2015.
  52. ^ "gdx-ai / README.md". github.com. 12 Ekim 2015. Alındı 16 Ocak 2016.
  53. ^ "Yapay zeka". github.com. 12 Mart 2015. Alındı 16 Ocak 2016.
  54. ^ "Gdx serbest türü". github.com. 19 Aralık 2015. Alındı 23 Ocak 2016.
  55. ^ "Box2d". github.com. Alındı 23 Ocak 2016.
  56. ^ "libgdx / packr: Windows, Linux ve Mac OS X'te dağıtım için JAR'ınızı, varlıklarınızı ve bir JVM'yi paketler". github.com. Alındı 6 Şubat 2016.
  57. ^ Zechner, Mario (4 Mayıs 2014). "Packr - libGDX uygulamanızı Windows, Linux, Mac OS X için paketleyin". badlogicgames.com. Alındı 6 Şubat 2016.
  58. ^ Haute couture, Joel. "IGF'ye Giden Yol: Mega Crit Games'in Spire'ı Öldür". www.gamasutra.com. Alındı 22 Ocak 2020.

Dış bağlantılar