| 原作者 | マリオ・ゼクナー |
|---|---|
| 初回リリース | 2014年4月20日[1] |
| 安定版リリース | 1.13.0 / 2024年10月17日 |
| リポジトリ |
|
| 書かれた | Java、C、C++ |
| オペレーティング·システム | Windows、Linux、macOS、Android、BlackBerry OS、iOS、Javaアプレット、JavaScript / WebGL [2] |
| プラットフォーム | Javaプラットフォーム |
| ライセンス | Apacheライセンス2.0 [2] |
| Webサイト | 出典: |
libGDXは、Javaプログラミング言語で書かれた、無料のオープンソース[3]ゲーム開発アプリケーションフレームワーク[2]で、パフォーマンスに依存するコード用のCおよびC ++コンポーネントが含まれています。[4]同じコードベースを使用して、デスクトップゲームとモバイルゲームの開発を可能にします。[5]クロスプラットフォームで、Windows、Linux、macOS、Android、iOS、BlackBerry、WebGLをサポートするWebブラウザーをサポートしています。[2] [6]
歴史
2009 年半ば、libGDX の作者 Mario Zechner はAndroidゲームの作成を希望し、このために AFX (Android Effects) と呼ばれるフレームワークの開発を開始しました。デスクトップから Android デバイスへの変更の展開が面倒であることに気づいた彼は、AFX をデスクトップでも動作するように修正し、プログラムのテストを容易にしました。これが、後に libGDX として知られるゲーム フレームワークへの第一歩でした。[1]
2010年3月、ゼクナーはAFXをオープンソース化し、GNU Lesser General Public License (LGPL)の下でGoogle Codeでホストすることを決定した。しかし、当時彼は「いずれにせよ、このフレームワークはデスクトップゲームの作成に使用することを意図したものではない」と述べ、このフレームワークは主にAndroidをターゲットにすることを意図していた。4月には、最初の貢献者が参加した。[1] [7]
Zechner がBox2D JNIラッパーを作成すると、当時は物理ゲームが人気だったため、より多くのユーザーと貢献者が集まりました。[より良いソースが必要]これにより、Android の問題の多くが解決されました。[1]
LGPLはAndroidには適していないため、多くのユーザーが別のライセンスへの切り替えを提案したため、libGDXは2010年7月にライセンスをApache License 2.0に変更し、クローズドソースの商用ゲームでフレームワークを使用できるようになりました。[1] [8]同月、phpBBフォーラムが立ち上げられました。[1] [9]
Java Soundの問題により、オーディオデスクトップの実装は2011年1月にOpenALに切り替わりました。 [1] [10]オープンソースのSTBライブラリに依存するGdx2Dと呼ばれる小さな画像操作ライブラリの開発も完了しました。[1] [11]
2011年の残りはUIライブラリ[12]の追加と3D APIの基礎の作業に費やされました。[1]
2012年の初めに、ZechnerはJNIバインディングの開発を容易にするためにgdx-jnigenと呼ばれる小さなヘルパーライブラリを作成しました。[1] [13]これにより、その後数か月にわたってgdx-audio [14]とgdx-freetype [15]の拡張機能が開発されるようになりました。 [1]
Google Web Toolkit (GWT) を使用して Java をJavaScriptコードにコンパイルするGoogleのPlayNクロスプラットフォーム ゲーム開発フレームワークに触発され、Zechner は数週間かけてHTML / JavaScript バックエンドを作成し、libGDX アプリケーションをWebGL をサポートする任意のブラウザーで実行できるようにしました。[1] Google が PlayN を放棄した後、Michael Bayne がメンテナンスを行い、iOSサポートを追加しました。libGDX は、この作業の一部を独自のMonoTouchベースのバックエンドに使用しました。 [1] [16] [17]
2012年8月、プロジェクトはバージョン管理システムをSubversionからGitに切り替え、Google CodeからGitHubに移行しました。ただし、問題追跡システムとwikiはその後1年間Google Codeに残りました。メインのビルドシステムもMavenに変更され、異なるIDEを使用する開発者が協力しやすくなりました。 [1] [18] [19]
MonoTouch iOSバックエンドの問題のため、Niklas Thernigは2013年3月にlibGDX用のRoboVMバックエンドを作成し、9月にプロジェクトに統合しました。[1] [20] [21] 2013年3月から5月にかけて、新しい3D APIも開発され、ライブラリに統合されました。[1] [22] [23]
2013年6月にプロジェクトのウェブサイトがリニューアルされ、ユーザーがlibGDXで作成したゲームを投稿できるギャラリーが設けられました。[1] [24] 2016年1月現在、[アップデート]3000以上のゲームが投稿されています。[25]
前年にソースコードがGitHubに移行した後、2013年9月に問題追跡システムとwikiもGoogle CodeからGitHubに移行されました。[1] [26]同月、ビルドおよび依存関係管理システムがMavenからGradleに切り替えられました。[1] [27]
2014年の最初の数か月間のクリーンアップフェーズの後、libGDXバージョン1.0はプロジェクト開始から4年以上経った4月20日にリリースされました。[1]
2014年、libGDXはプラットフォーム非依存に重点を置いていることが評価され、毎年恒例のDuke's Choice Awardを受賞しました。[28] [29]
オープンソース愛好家の多様なチームから生まれた libGDX は、クロスプラットフォームのゲーム開発フレームワークです。これにより、プログラマーは Windows、Linux、または Mac OS X を実行しているデスクトップ PC で Java ゲームを記述、テスト、デバッグし、同じコードを Android、iOS、WebGL 対応ブラウザーに展開できます。これは、現時点では広く利用できないものです。libGDX の目標は、作成者の Mario Zechner 氏によると、「ゲーム開発に特化した Java プラットフォームの『一度記述すればどこでも実行できる』という約束を果たすことです」。
— Java Magazine 2014年9月/10月号[30]
2016年4月、 RoboVMの廃止後、libGDXはiOSバックエンドでIntelのマルチOSエンジンに切り替えると発表されました。 [31] [32] 2016年5月16日のlibGDX 1.9.3のリリースにより、マルチOSが代替として提供されるようになりましたが、デフォルトではライブラリはRoboVMのオープンソースバージョンの独自のフォークを使用します。[33] [34]
libGDXジャム
2015年12月18日から2016年1月18日まで、 RoboVM、itch.io 、Robotalityと共同でlibGDXゲームジャムが開催された。当初180のテーマ提案の中から「宇宙での生活」がジャムのメインテーマとして選ばれ、競技会の期間中に83のゲームが作成された。[35] [36]
リリースバージョン
建築
libGDX を使用すると、開発者は自分のデスクトップ PC でアプリケーションを記述、テスト、デバッグし、同じコードを Android で使用できます。これにより、一般的な Windows/Linux アプリケーションと Android アプリケーションの違いが抽象化されます。通常の開発サイクルは、可能な限りデスクトップ PC 上で作業しながら、プロジェクトが Android でも動作することを定期的に確認することです。その主な目的は、デスクトップとモバイル デバイス間の完全な互換性を提供することであり、主な違いは速度と処理能力です。[5]
バックエンド
ライブラリは、さまざまなバックエンドを介してプラットフォーム固有のコードを透過的に使用して、ホストプラットフォームの機能にアクセスします。ほとんどの場合、開発者は、バックエンドに応じて異なる設定を必要とするスタータークラス(ランチャーとも呼ばれる)を除いて、プラットフォーム固有のコードを記述する必要はありません。[50]
- デスクトップでは軽量Javaゲームライブラリ(LWJGL)が使用されています。また、実験的なJGLFWバックエンドもありますが、現在は継続されていません。[要出典] [いつ? ]バージョン1.8では、古いLWJGL 2バックエンドを置き換えることを目的として、新しいLWJGL 3バックエンドが導入されました。[51]
- HTML5バックエンドは、Google Web Toolkit(GWT)を使用してJavaをJavaScriptコードにコンパイルし、通常のブラウザ環境で実行します。libGDXは、直接サポートされていない標準APIの実装をいくつか提供しており、最も顕著なのはリフレクションです。[52] [53] [54]
- Android バックエンドは、Android SDKを使用して Android 用にコンパイルされた Java コードを実行します。[引用が必要]
- iOSでは、JavaをネイティブiOS命令にコンパイルするためにRoboVMのカスタムフォークが使用されています。RoboVMが廃止されて以来、 IntelのマルチOSエンジンが代替として提供されています。[31] [33]
その他の JVM 言語
libGDXは主にJavaで書かれていますが、コンパイルされたバイトコードは言語に依存しないため、他の多くのJVM言語でライブラリを直接使用できます。ドキュメントには、 Ceylon、Clojure、Kotlin、Jython、JRuby、Scalaとの相互運用性が明記されています。[55]
拡張機能
ライブラリに追加機能を追加する公式およびサードパーティの拡張機能がいくつかあります。
gdxAI
2014年10月にバージョン1.4.1でメインライブラリから分離され、独自のリポジトリに移動された人工知能(AI)フレームワーク。当初はlibGDX用に作成されましたが、他のフレームワークでも使用できます。このプロジェクトは、パスファインディング、意思決定、移動など、ゲームに役立つAIに重点を置いています。[56] [57]
gdx フリータイプ
スケーリングがうまくいかない静的なビットマップ画像を使用する代わりに、実行時にFreeTypeフォントをレンダリングするために使用できます。 [58]
ボックス2D
Box2D物理ライブラリのラッパーは2010年に導入され、1.0リリースで拡張機能に移行しました。[1] [59]
パック
アプリケーションにカスタムJREをバンドルするヘルパーツール。これにより、エンドユーザーは独自のJREをインストールする必要がなくなります。[60] [61]
注目のゲーム
- Ingress ( Ingress Primeとしてリニューアルされる前)
- スレイ・ザ・スパイア[62]
- デルバー
- マインドストリー
- シャッタードピクセルダンジョン
- ウィルダーミス[63]
参照
参考文献
- ^ abcdefghijklmnopqrstu v Zechner, Mario (2014年4月20日). 「libGDX 1.0 リリース」. badlogicgames.com . 2021年2月13日時点のオリジナルよりアーカイブ。2015年12月31日閲覧。
- ^ abcd 「目標と機能」。libgdx.badlogicgames.com 。 2012年6月6日時点のオリジナルよりアーカイブ。2015年12月16日閲覧。
- ^ 「公式サイト」libgdx.badlogicgames.com。 2011年5月27日時点のオリジナルよりアーカイブ。2016年1月2日閲覧。
- ^ "mobilegameengines.com/game_engines/32-libgdx". 2015年1月18日時点のオリジナルよりアーカイブ。
- ^ ab "ホーム - libGDX". libgdx.com .
- ^ 「libgdx/README.md at master」. github.com .
- ^ Zechner, Mario (2010年3月6日). 「The Future...」badlogicgames.com . 2016年3月14日時点のオリジナルよりアーカイブ。2015年12月31日閲覧。
- ^ Zechner, Mario (2010年7月13日). 「libgdx のライセンス変更」badlogicgames.com . 2016年1月14日時点のオリジナルよりアーカイブ。2015年12月31日閲覧。
- ^ Zechner, Mario (2010年7月10日). 「フォーラム!」. badlogicgames.com . 2016年3月4日時点のオリジナルよりアーカイブ。2016年1月3日閲覧。
- ^ Zechner, Mario (2011年1月21日). 「OpenAL & Natives Loading in Libgdx」. badlogicgames.com . 2016年3月4日時点のオリジナルよりアーカイブ。2016年1月3日閲覧。
- ^ Zechner, Mario (2011年1月26日). 「Gdx2D and Super Jumper」. badlogicgames.com . 2016年3月14日時点のオリジナルよりアーカイブ。 2016年1月3日閲覧。
- ^ Zechner, Mario (2011年6月25日). 「UI Fun on Android with libgdx」. badlogicgames.com . 2016年3月4日時点のオリジナルよりアーカイブ。 2016年1月3日閲覧。
- ^ Zechner, Mario (2012年1月3日). 「gdx-jnigen: うまくいくかもしれない愚かなアイデア」. badlogicgames.com . 2016年3月14日時点のオリジナルよりアーカイブ。2016年1月3日閲覧。
- ^ Zechner, Mario (2012年1月8日). 「gdx-audio」. badlogicgames.com . 2016年3月14日時点のオリジナルよりアーカイブ。 2016年1月3日閲覧。
- ^ Zechner, Mario (2012年3月6日). 「Create BitmapsFonts on the fly with gdx-freetype」. badlogicgames.com . 2016年1月21日時点のオリジナルよりアーカイブ。 2016年1月3日閲覧。
- ^ Zechner, Mario (2012年6月8日). 「Libgdx on iOS, days 1–2」. badlogicgames.com . 2016年3月14日時点のオリジナルよりアーカイブ。2016年1月3日閲覧。
- ^ Zechner, Mario (2012年6月13日). 「Libgdx on iOS, day 5」. badlogicgames.com . 2016年1月12日時点のオリジナルよりアーカイブ。2016年1月3日閲覧。
- ^ Zechner, Mario (2012年8月8日). 「Git & Maven」. badlogicgames.com . 2016年3月4日時点のオリジナルよりアーカイブ。 2016年1月4日閲覧。
- ^ Zechner, Mario (2012年8月10日). 「Libgdx is now on Github (sorta)」. badlogicgames.com . 2016年3月4日時点のオリジナルよりアーカイブ。 2016年1月4日閲覧。
- ^ Zechner, Mario (2013年3月9日). 「Early stage RoboVM libgdx backend」. badlogicgames.com . 2016年3月13日時点のオリジナルよりアーカイブ。 2016年1月6日閲覧。
- ^ Zechner, Mario (2013年9月10日). 「RoboVMバックエンドがlibgdxナイトリーに登場、初のパフォーマンス数値が判明!」badlogicgames.com。2016年3月4日時点のオリジナルよりアーカイブ。 2016年1月6日閲覧。
- ^ Zechner, Mario (2013年3月28日). 「Brace yourselfs, new 3D API incoming」. badlogicgames.com . 2016年2月24日時点のオリジナルよりアーカイブ。2016年1月6日閲覧。
- ^ Zechner, Mario (2013年5月20日). 「マスター版の新しい3D API」. badlogicgames.com . 2016年3月4日時点のオリジナルよりアーカイブ。2016年1月6日閲覧。
- ^ Zechner, Mario (2013年6月29日). 「新しいlibgdxサイトが公開されました!」badlogicgames.com。 2016年3月4日時点のオリジナルよりアーカイブ。 2016年1月6日閲覧。
- ^ “ギャラリー”. libgdx.badlogicgames.com . 2016年1月19日時点のオリジナルよりアーカイブ。2016年1月6日閲覧。
- ^ Zechner, Mario (2013年9月14日). 「The great libgdx Issue Tracker & Wiki Github Migration」. badlogicgames.com . 2016年3月4日時点のオリジナルよりアーカイブ。 2016年1月6日閲覧。
- ^ Zechner, Mario (2013年9月22日). 「Welcome your new overlord: Gradle」. badlogicgames.com . 2016年3月4日時点のオリジナルよりアーカイブ。 2016年1月6日閲覧。
- ^ Kvitkar, Caroline (2014 年 9 月 28 日)。「2014 Duke's Choice Award Winners」。blogs.oracle.com。2015年12 月 30 日閲覧。
プログラマーは、このクロスプラットフォーム ゲーム開発フレームワークを使用して、Java ゲームの作成、テスト、デバッグを行うことができます。
- ^ Zechner, Mario (2014年9月29日). 「libgdxがDuke's Choice Awardを受賞」. badlogicgames.com . 2016年3月1日時点のオリジナルよりアーカイブ。2015年12月30日閲覧。
- ^ Gill, Philip J. 「2014 Duke's Choice Awards」Java Magazine 8 ページ。2015 年12 月 31 日閲覧。
- ^ ab Zechner, Mario (2016年4月15日). “RoboVMはもうありません、これからどうする?”. 2020年11月8日時点のオリジナルよりアーカイブ。2016年4月15日閲覧。
- ^ Müller, Henric (2016年4月15日). 「RoboVM Winding Down」。2016年4月15日時点のオリジナルよりアーカイブ。2016年4月16日閲覧。
- ^ ab Zechner, Mario (2016年5月16日). 「libGDX 1.9.3 リリース – 新しい iOS バックエンド」。2016年5月18日時点のオリジナルよりアーカイブ。2016年5月17日閲覧。
- ^ 「MobiDevelop の RoboVM フォーク」 。2016年5 月 17 日閲覧。
- ^ Zechner, Mario (2015年11月22日). 「libGDX Jam is on! – Theme Voting Round #1」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2016年2月6日). 「libGDX Jam – And the winner is…」badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2014年5月23日). 「libGDX 1.1.0 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2014年6月22日). 「libGDX 1.2.0 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2014年8月9日). 「libGDX 1.3.0 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2014年10月10日). 「libGDX 1.4.1 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2014年12月8日). 「libGDX 1.5.0 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2015年5月6日). 「libGDX 1.6.0 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2015年9月21日). 「libGDX 1.7.0 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2016年1月5日). 「libGDX 1.8.0 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ Zechner, Mario (2016年1月24日). 「libGDX 1.9.0 リリース」. badlogicgames.com . 2016年2月16日時点のオリジナルよりアーカイブ。2016年2月13日閲覧。
- ^ damios (2021年4月18日). 「libGDX 1.10.0」. libgdx.com . 2021年4月19日閲覧。
- ^ damios (2022年5月11日). 「libGDX 1.11.0」. libgdx.com . 2022年5月12日閲覧。
- ^ damios (2023年7月2日). 「libGDX 1.12.0」. libgdx.com . 2023年7月24日閲覧。
- ^ damios (2024年10月17日). 「libGDX 1.13.0」. libgdx.com . 2024年10月21日閲覧。
- ^ 「スタータークラスと構成 - libGDX」。libgdx.com 。 2022年1月18日閲覧。
- ^ Zechner, Mario (2016年1月5日). 「libGDX 1.8.0」. badlogicgames.com . 2016年1月12日時点のオリジナルよりアーカイブ。 2016年1月11日閲覧。
- ^ Zechner, Mario (2012年3月12日). 「Libgdx goes HTML5」. badlogicgames.com . 2016年3月29日時点のオリジナルよりアーカイブ。 2016年5月17日閲覧。
- ^ Zechner, Mario (2013年1月19日). 「libgdxのGWTバックエンドにおけるリフレクション」badlogicgames.com . 2016年6月10日時点のオリジナルよりアーカイブ。2016年5月17日閲覧。
- ^ Zechner, Mario (2013 年 6 月 17 日). 「GWT をサポートする Reflection API!」. badlogicgames.com . 2016 年 6 月 10 日時点のオリジナルよりアーカイブ。2016年5 月 17 日閲覧。
- ^ 「libgdx を他の JVM 言語と共に使用する」libgdx.com . 2022 年1 月 18 日閲覧。
- ^ "gdx-ai/README.md". github.com . 2015年10月12日. 2016年1月16日閲覧。
- ^ 「人工知能」. libgdx.com . 2022年1月18日閲覧。
- ^ “Gdx freetype”. libgdx.com . 2022年1月18日閲覧。
- ^ “Box2d”. libgdx.com . 2022年1月18日閲覧。
- ^ 「libgdx/packr: Windows、Linux、Mac OS X で配布するために JAR、アセット、JVM をパッケージ化します」。github.com。2016年2月 6 日閲覧。
- ^ Zechner, Mario (2014年5月4日). 「Packr – pack your libGDX app for Windows, Linux, Mac OS X」. badlogicgames.com . 2020年4月27日時点のオリジナルよりアーカイブ。 2016年2月6日閲覧。
- ^ Couture, Joel (2020年1月22日). 「Road to the IGF: Mega Crit Games' Slay the Spire」www.gamasutra.com . 2020年1月22日閲覧。
- ^ 「パッチノート - Wildermyth Wiki」. wildermyth.com . 2022年8月23日閲覧。
外部リンク
- 公式サイト
