LibGDX - LibGDX
tento článek příliš spoléhá na Reference na primární zdroje.Prosince 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Původní autoři | Mario Zechner |
---|---|
První vydání | 20. dubna 2014[1] |
Stabilní uvolnění | 1.9.11 / 22. července 2020 |
Úložiště | |
Napsáno | Jáva, C, C ++ |
Operační systém | Okna, Linux, Mac OS X, Android, BlackBerry OS, iOS, Java applet, JavaScript /WebGL[2] |
Plošina | Java platforma |
Licence | Licence Apache 2.0[2] |
webová stránka | https://libgdx.com |
libGDX je zdarma a open-source[3] aplikační rámec pro vývoj her[2] napsáno v Programovací jazyk Java s nějakým C a C ++ komponenty pro kód závislý na výkonu.[4] Umožňuje vývoj stolních i mobilních her pomocí stejné kódové základny.[5] Je to multiplatformní, podpůrné Okna, Linux, Mac OS X, Android, iOS, Ostružina a internetové prohlížeče s WebGL Podpěra, podpora.[2][6]
Dějiny
V polovině roku 2009 chtěl Mario Zechner, tvůrce libGDX, psát Android her a začal pro to vyvíjet framework s názvem AFX (Android Effects). Když zjistil, že nasazení změn z plochy na zařízení Android bylo těžkopádné, upravil AFX tak, aby fungoval i na ploše, což usnadnilo testování programů. To byl první krok k hernímu rámci, později známému jako libGDX.[1]
V březnu 2010 se Zechner rozhodl otevřít AFX s otevřeným zdrojovým kódem a hostovat jej Google Code pod GNU Lesser General Public License (LGPL). V té době však uvedl, že „není záměrem rámce, který by se stejně používal pro vytváření desktopových her“, přičemž záměrem rámce bylo primárně cílit na Android. V dubnu získala svého prvního přispěvatele.[1][7]
Když Zechner vytvořil Box2D JNI wrapper, toto přilákalo více uživatelů a přispěvatelů, protože fyzikální hry byly v té době populární.[je zapotřebí lepší zdroj ] Mnoho problémů s Androidem bylo kvůli tomu vyřešeno.[1]
Protože mnoho uživatelů navrhlo přechod na jinou licenci, protože LGPL není vhodný pro Android, libGDX změnil svou licenci na Licence Apache 2.0 v červenci 2010, což umožnilo použití rámce v komerčních hrách s uzavřeným zdrojem.[1][8] Ve stejném měsíci phpBB fórum bylo spuštěno.[1][9]
Kvůli problémům s Java Sound byla implementace zvukové plochy přepnuta na OpenAL v lednu 2011.[1][10] Dokončen byl také vývoj malé knihovny pro manipulaci s obrázky s názvem Gdx2D, která závisí na otevřeném zdroji STB knihovna.[1][11]
Zbytek roku 2011 byl věnován přidání knihovny uživatelského rozhraní[12] a pracovat na základech 3D API.[1]
Na začátku roku 2012 vytvořil Zechner malou pomocnou knihovnu s názvem gdx-jnigen pro usnadnění vývoje vazeb JNI.[1][13] To umožnilo gdx-audio[14] a gdx-freetype[15] rozšíření, která budou vyvinuta v následujících měsících.[1]
Inspirovaný Google je PřehrátN multiplatformní rámec pro vývoj her, který se používal Google Web Toolkit (GWT) pro kompilaci Java do JavaScript kód, Zechner napsal HTML / JavaScript v průběhu několika týdnů, který umožňoval spuštění aplikací libGDX v libovolném prohlížeči s WebGL Podpěra, podpora.[1] Poté, co Google opustil PlayN, jej udržoval Michael Bayne, který přidal iOS jeho podpora. LibGDX použil části této práce pro své vlastní MonoTouch backend na bázi.[1][16][17]
V srpnu 2012 se projekt změnil systém řízení verzí z Podvracení na Git, přechod z Google Code na GitHub. Sledovač problémů a wiki však zůstaly na Google Code další rok. Hlavní systém sestavení byl také změněn na Maven, což usnadňuje vývojářům různé IDE spolupracovat.[1][18][19]
Kvůli problémům s back-endem iOS MonoTouch napsal Niklas Thernig a RoboVM backend pro libGDX v březnu 2013, který byl do projektu integrován v září.[1][20][21] Od března do května 2013 bylo také vyvinuto nové 3D API a integrováno do knihovny.[1][22][23]
V červnu 2013 byl přepracován web projektu, který nyní obsahuje galerii, kde mohou uživatelé odesílat své hry vytvořené pomocí libGDX.[1][24] Od ledna 2016[Aktualizace] bylo odesláno více než 3000 her.[25]
Po migraci zdrojového kódu na GitHub o rok dříve, v září 2013, tam byl také přesunut tracker problémů a wiki z Google Code.[1][26] Ve stejném měsíci byl systém správy sestavení a závislostí změněn z Maven na Gradle.[1][27]
Po fázi čištění v prvních měsících roku 2014 byla verze libGDX verze 1.0 vydána 20. dubna, více než čtyři roky po zahájení projektu.[1]
V roce 2014 byl libGDX jedním z ročních Duke's Choice Award vítězů, kteří byli vybráni pro své zaměření na nezávislost na platformě.[28][29]
Z různorodého týmu nadšenců open source přichází libGDX, multiplatformní rámec pro vývoj her, který umožňuje programátorům psát, testovat a ladit hry Java na stolním počítači se systémem Windows, Linux nebo Mac OS X a nasadit stejný kód na Android „Prohlížeče podporující iOS a WebGL - něco, co právě teď není široce dostupné. Cílem libGDX, říká tvůrce Mario Zechner, „je splnit slib platformy„ write once, run anywhere “platformy Java speciálně pro vývoj her.“
— Java Magazine září / říjen 2014[30]
V dubnu 2016 bylo oznámeno, že libGDX přejde na Intel je Multi-OS Engine na backendu iOS po ukončení RoboVM.[31][32] S vydáním libGDX 1.9.3 16. května 2016 je jako alternativa poskytován Multi-OS, zatímco ve výchozím nastavení používá knihovna vlastní vidlici open source verze RoboVM.[33][34]
libGDX Jam
Od 18. prosince 2015 do 18. ledna 2016 libGDX hra jam byla organizována společně s RoboVM, svědění a Robotnost. Z původně 180 návrhů témat bylo jako hlavní téma jamu vybráno „Život ve vesmíru“ a v průběhu soutěže bylo vytvořeno 83 her.[35][36]
Vydání verze
Verze | Datum vydání |
---|---|
1.0 | 20. dubna 2014[1] |
1.1 | 23. května 2014[37] |
1.2 | 22. června 2014[38] |
1.3 | 9. srpna 2014[39] |
1.4 | 10. října 2014[40] |
1.5 | 8. prosince 2014[41] |
1.6 | 6. května 2015[42] |
1.7 | 21. září 2015[43] |
1.8 | 5. ledna 2016[44] |
1.9 | 24. ledna 2016[45] |
Legenda: | Stará verze, neudržovaná | Aktuální stabilní verze |
---|
Architektura
libGDX umožňuje vývojářům psát, testovat a ladit jejich aplikace na jejich vlastním stolním počítači a používat stejný kód pro Android. Abstrahuje rozdíly mezi běžnou aplikací pro Windows / Linux a aplikací pro Android. Obvyklý vývojový cyklus spočívá v maximálním možném setrvání na stolním počítači a při pravidelném ověřování, zda projekt stále funguje v systému Android. Jeho hlavním cílem je zajistit úplnou kompatibilitu mezi stolními a mobilními zařízeními, přičemž hlavním rozdílem je rychlost a výkon zpracování.[5]
Backendy
Knihovna transparentně používá kód specifický pro platformu prostřednictvím různých backendů pro přístup k schopnostem hostitelské platformy. Většinu času vývojář nemusí psát kód specifický pro platformu, kromě startovacích tříd (nazývaných také spouštěče), které vyžadují různé nastavení v závislosti na back-endu.[46]
- Na ploše Lehká knihovna her Java (LWJGL) se používá. K dispozici je také experimentální JGLFW backend, který již nepokračuje.[Citace je zapotřebí ][když? ] Ve verzi 1.8 nový LWJGL 3 byl představen backend, který měl nahradit starší LWJGL 2 backend.[47]
- Backend HTML5 používá Google Web Toolkit (GWT) pro kompilaci kódu Java do JavaScriptu, který se poté spouští v normálním prostředí prohlížeče. libGDX poskytuje několik implementací standardních API, které tam nejsou přímo podporovány, zejména odraz.[48][49][50]
- Backend systému Android spouští kód Java kompilovaný pro Android s Android SDK.[Citace je zapotřebí ]
- Pro iOS vlastní Vidlička z RoboVM se používá ke kompilaci Java do nativních pokynů pro iOS. Intel je Multi-OS Engine byla poskytnuta jako alternativa od ukončení používání RoboVM.[31][33]
Jiné jazyky JVM
Zatímco libGDX je napsán primárně v Jáva, zkompilovaný bytecode je nezávislý na jazyce, což umožňuje mnoho dalších JVM jazyky přímo používat knihovnu. Dokumentace konkrétně uvádí interoperabilitu s Cejlon, Clojure, Kotlin, Jython, JRuby a Scala.[51]
Rozšíření
Existuje několik oficiálních rozšíření a rozšíření třetích stran, které přidávají knihovně další funkce.
gdxAI
An umělá inteligence (AI) framework, který byl v říjnu 2014 rozdělen od hlavní knihovny s verzí 1.4.1 a přesunut do vlastního úložiště. I když byl původně vytvořen pro libGDX, lze jej použít i v jiných rámcích. Projekt se zaměřuje na AI, která je užitečná například pro hry hledání cesty, rozhodování a pohyb.[52][53]
gdx freetype
Lze použít k vykreslení FreeType písma za běhu namísto použití statických bitmapa obrázky, které se také neomezují.[54]
Box2D
Obal na Box2D knihovna fyziky byla představena v roce 2010 a přesunuta do rozšíření s vydáním 1.0.[1][55]
balení
Pomocný nástroj, který spojuje vlastní JRE s aplikací, aby koncoví uživatelé nemuseli mít nainstalovanou vlastní.[56][57]
Pozoruhodné hry
- Vniknutí
- Zabijte věž[58]
- HOPLITE
- Hluboké město
- Písek
- Unciv
- Mindustry
- Space Haven
- Delver
- Cesta
- Na půli cesty
- Riiablo
- Mirage Realms
- Raindancer
- PokeMMO
- Zombie Age 3
- Epická válka hrdinů
- Shattered Pixel Dungeon
- Hair Dash
Viz také
- Portál svobodného softwaru
- Portál počítačového programování
Reference
- ^ A b C d E F G h i j k l m n Ó str q r s t u proti Zechner, Mario (20. dubna 2014). "uvolněno libGDX 1.0". badlogicgames.com. Citováno 31. prosince 2015.
- ^ A b C d „Cíle a funkce“. libgdx.badlogicgames.com. Citováno 16. prosince 2015.
- ^ "Oficiální webové stránky". libgdx.badlogicgames.com. Citováno 2. ledna 2016.
- ^ „mobilegameengines.com/game_engines/32-libgdx“. Archivovány od originál dne 18. ledna 2015.
- ^ A b "Domů · libgdx / libdgx Wiki". github.com.
- ^ „libgdx / README.md at master“. github.com.
- ^ Zechner, Mario (6. března 2010). "Budoucnost..." badlogicgames.com. Citováno 31. prosince 2015.
- ^ Zechner, Mario (13. července 2010). "libgdx mění svoji licenci". badlogicgames.com. Citováno 31. prosince 2015.
- ^ Zechner, Mario (10. července 2010). „Fóra!“. badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (21. ledna 2011). "OpenAL a domorodci se načítají v Libgdx". badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (26. ledna 2011). „Gdx2D a Super Jumper“. badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (25. června 2011). „UI Fun on Android with libgdx“. badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (3. ledna 2012). „gdx-jnigen: hloupý nápad, který by mohl fungovat“. badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (8. ledna 2012). „gdx-audio“. badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (6. března 2012). "Vytvářejte BitmapsFonty za běhu pomocí gdx-freetype". badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (8. června 2012). „Libgdx pro iOS, dny 1–2“. badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (13. června 2012). „Libgdx pro iOS, 5. den“. badlogicgames.com. Citováno 3. ledna 2016.
- ^ Zechner, Mario (8. srpna 2012). „Git & Maven“. badlogicgames.com. Citováno 4. ledna 2016.
- ^ Zechner, Mario (10. srpna 2012). "Libgdx je nyní na Githubu (sorta)". badlogicgames.com. Citováno 4. ledna 2016.
- ^ Zechner, Mario (9. března 2013). "Počáteční fáze back-endu RoboVM libgdx". badlogicgames.com. Citováno 6. ledna 2016.
- ^ Zechner, Mario (10. září 2013). „RoboVM backend v libgdx nightlies a první údaje o výkonu!“. badlogicgames.com. Citováno 6. ledna 2016.
- ^ Zechner, Mario (28. března 2013). „Připravte se, nový příchod 3D API“. badlogicgames.com. Citováno 6. ledna 2016.
- ^ Zechner, Mario (20. května 2013). „Nové 3D API v hlavní verzi“. badlogicgames.com. Citováno 6. ledna 2016.
- ^ Zechner, Mario (29. června 2013). "Nová stránka libgdx naživo!". badlogicgames.com. Citováno 6. ledna 2016.
- ^ "Galerie". libgdx.badlogicgames.com. Citováno 6. ledna 2016.
- ^ Zechner, Mario (14. září 2013). „Skvělý nástroj pro sledování problémů libgdx a migraci Wiki Github“. badlogicgames.com. Citováno 6. ledna 2016.
- ^ Zechner, Mario (22. září 2013). „Vítejte, váš nový pán: Gradle“. badlogicgames.com. Citováno 6. ledna 2016.
- ^ Kvitkar, Caroline (28. září 2014). „Vítězové ceny Duke's Choice 2014“. blogs.oracle.com. Citováno 30. prosince 2015.
Programátoři mohou tento rámec pro vývoj her pro více platforem použít k psaní, testování a ladění her Java.
- ^ Zechner, Mario (29. září 2014). „libgdx vyhrává Duke's Choice Award“. badlogicgames.com. Citováno 30. prosince 2015.
- ^ Gill, Philip J. „2014 Duke's Choice Awards“. Časopis Java. p. 8. Citováno 31. prosince 2015.
- ^ A b Zechner, Mario (15. dubna 2016). „RoboVM už není, co teď?“. Citováno 15. dubna 2016.
- ^ Müller, Henric (15. dubna 2016). „RoboVM Winding Down“. Citováno 16. dubna 2016.
- ^ A b Zechner, Mario (16. května 2016). „uvolněno libGDX 1.9.3 - nové backendy iOS“. Citováno 17. května 2016.
- ^ „Vidlice RoboVM společnosti MobiDevelop“. Citováno 17. května 2016.
- ^ Zechner, Mario (22. listopadu 2015). „libGDX Jam je zapnutý! - 1. kolo hlasování o tématu“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (6. února 2016). „libGDX Jam - a vítěz je ...“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (23. května 2014). „uvolněno libGDX 1.1.0“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (22. června 2014). „uvolněno libGDX 1.2.0“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (9. srpna 2014). „uvolněno libGDX 1.3.0“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (10. října 2014). „uvolněno libGDX 1.4.1“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (8. prosince 2014). „uvolněno libGDX 1.5.0“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (6. května 2015). „uvolněno libGDX 1.6.0“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (21. září 2015). „uvolněno libGDX 1.7.0“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (5. ledna 2016). „uvolněno libGDX 1.8.0“. badlogicgames.com. Citováno 13. února 2016.
- ^ Zechner, Mario (24. ledna 2016). „uvolněno libGDX 1.9.0“. badlogicgames.com. Citováno 13. února 2016.
- ^ "Startovací třídy a konfigurace · libgdx / libgdx Wiki". github.com. 10. prosince 2015. Citováno 19. prosince 2015.
- ^ Zechner, Mario (5. ledna 2016). "libGDX 1.8.0". badlogicgames.com. Citováno 11. ledna 2016.
- ^ Zechner, Mario (12. března 2012). „Libgdx jde HTML5“. badlogicgames.com. Citováno 17. května 2016.
- ^ Zechner, Mario (19. ledna 2013). "Odraz v backgendu GWT libgdx". badlogicgames.com. Citováno 17. května 2016.
- ^ Zechner, Mario (17. června 2013). „Reflection API s podporou GWT!“. badlogicgames.com. Citováno 17. května 2016.
- ^ "Používání libgdx s jinými jazyky jvm". github.com. 16. prosince 2015. Citováno 30. prosince 2015.
- ^ „gdx-ai / README.md“. github.com. 12. října 2015. Citováno 16. ledna 2016.
- ^ "Umělá inteligence". github.com. 12. března 2015. Citováno 16. ledna 2016.
- ^ „Gdx freetype“. github.com. 19. prosince 2015. Citováno 23. ledna 2016.
- ^ „Box2d“. github.com. Citováno 23. ledna 2016.
- ^ "libgdx / packr: Zabalí vaše JAR, aktiva a JVM pro distribuci na Windows, Linux a Mac OS X". github.com. Citováno 6. února 2016.
- ^ Zechner, Mario (4. května 2014). „Packr - zabalte si aplikaci libGDX pro Windows, Linux, Mac OS X“. badlogicgames.com. Citováno 6. února 2016.
- ^ Couture, Joeli. „Road to the IGF: Mega Crit Games 'Slay the Spire“. www.gamasutra.com. Citováno 22. ledna 2020.