Help us understand the problem. What is going on with this article?

libGDX関連情報まとめ 2014/4/19 (Androidで2Dゲーム)

More than 5 years have passed since last update.

libGDXは、マルチプラットフォーム(Andoird,iOS,Windows,OS X,Linux)対応のゲームエンジンです。
2Dゲーム制作でよく利用されています。
使用言語はJava。Eclipseで開発できます。

AndroidでJavaでゲーム開発したい。
ってときにフレームワークはなにがいいでしょうか。
C/C++で書くならマルチプラットフォームだしCocos2D-Xがよさそう。
Codos2D系は情報もおおいし日本語の書籍も多数出版されてますしね。
ただ、Cocos2D for androidはもう開発あんまり活発じゃないっぽい。

Javaで書きたいんじゃー!となると、現状では
・AndEngine
・libGDX
ってとこでしょうか。
どちらも海外ではかなり使われていて開発も活発です。
ただ日本ではあんまり情報ないですよね…。
(AndEngineは日本語書籍は1冊でてます。AndEngineでつくるAndroid 2Dゲーム

 AndEngineは、Cocos2Dっぽい感じがします。
 全レイヤーに対してサポートが手厚い感じ。

 一方libGDXは、ライブラリという感じでフレームワークとしてはそこまでガチガチじゃないかな。
 パフォーマンスや移植性に手間やノウハウがいるところはlibGDXにまかせて、ゲームロジックは自前で実装という雰囲気です。(シーンの制御とかはライブラリにありますが)

 ゲームキャラの管理などは自前で実装したいので、libGDXのほうが向いてるかなー
 また、libGDXの利点としてマルチプラットフォームです。
 Android,Windows,Linuxなどのみならず、最近ではRoboVM正式サポートでiOSアプリも開発できますよ。Javaで!

 ということで当面はlibGDXに力をいれていくことにしました。
 ここでは調べた情報をまとめていくことにします。

2014-04-15 06.04.37.png

libGDX関連情報

● 公式

http://libgdx.badlogicgames.com/

ドキュメント(Wiki)
https://github.com/libgdx/libgdx/wiki

JavaDoc
http://libgdx.badlogicgames.com/nightlies/docs/api/

● まとめ

LibGDX 開発
http://seesaawiki.jp/aksoft/d/LibGDX%20%b3%ab%c8%af
(入門)
・環境構築
・サンプル
・LibGDXの動作確認メモ その1

libgdxメモlibgdxメモ
http://doc.tir.ne.jp/devel/clan/libgdx
・ハマりどころの詳細な解説(TexttureAtlus,Font系その他)
・日本語フォント
 https://github.com/ayamada/mplus-1mn-medium-16-fnt-tir

へびのぬけがら: libGDXへびのぬけがら: libGDX
http://snakemanshow.blogspot.jp/search/label/libGDX
・情報へのリンクが充実
・NetBeansへの設定方法

ANDROIDNOTE
http://androidnote.logdown.com/tags/libgdx
・libGDXの機能、Game,Screenクラスについて(ブログの一部)

Mofumofu
http://mofumofu546.blogspot.jp/2013/10/0-libgdx.html
・libGDXを扱ったブログ
・Viewpoetについて
 http://mofumofu546.blogspot.jp/2013/10/3-libgdx-2dlibgdx-viewport.html
・Tween Engineについて

● 個別の情報

libGDXのサンプル「superjumper」を動かす
http://naosim.syoyu.net/android/libgdx%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%80%8Csuperjumper%E3%80%8D%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99
・サンプルプロジェクトのeclipseへのインポート

Parse.com Restful API in LibGDX Game
http://www.indiedb.com/games/endure/news/parsecom-restful-api-in-libgdx-game

● チュートリアル

 英語版のみだが詳細でわかりやすい。

LibGDX Tutorial series
http://www.gamefromscratch.com/page/LibGDX-Tutorial-series.aspx
・初歩からScene2D活用まで

LibGDX Zombie Bird Tutorial - (Flappy Bird Remake)
http://www.kilobolt.com/zombie-bird-tutorial-flappy-bird-remake.html
・BOX2Dを活用したチュートリアル
・サンプルゲームを作りながらのチュートリアル

LibGDX Tutorial series
http://www.gamefromscratch.com/page/LibGDX-Tutorial-series.aspx

Java Game Development (LibGDX)
https://www.youtube.com/playlist?list=PLXY8okVWvwZ0JOwHiH1TntAdq-UDPnC2L
・YouTubeでのチュートリアル動画シリーズ(#25まである)
※#8まで観た

● libGDXの感想

(Androidでミニゲームを試作。そのままのコードがWindowsでも動いた。嬉しい)

Android

2014-04-15 06.04.37.png
2014-04-15 06.08.45.png

なかなかのパフォーマンスだ!

Windows(デスクトップ)

スクリーンショット 2014-04-15 18.58.04.png

libGDXはシンプルで常識的な作りなのですぐ使い始められるけど、Viewportの設定は何でやるのが最適か?Scene2dを利用するのか?ゲームのキャラクラスは独自クラス、Sprite、Actorどれで実装するのか?…といった細かいセオリーがわからない。サンプルを参考にするか…

libGDXは互換性やパフォーマンスが重要なところは完備されていてありがたいのだけど毎回繰り返される記述量が多くなりがちなので、オレオレゲームフレームワークをこの上に実装するのがいいような気がする。シーングラフとかアクターは自前のほうが使いやすそうだ。UI系はそのままでも便利。

Updateで呼び出される周期は固定できず、deltaで経過時間がわたされる。
ゲーム内ロジックは60fps固定で動かしたいなあ。
(加速度とかかかわると単純に移動距離にdelta掛けるだけにはいかないしね)
deltaの値もを元にゲームロジックを複数回実行する方法とする。

検討した結果方針としては

UIはScene2d.uiなどを利用
ゲームのキャラクター(Actorとか)は独自実装がいいかも。
Vector2dやRectangelクラスはゲームでも使いやすいので利用する。
※サンプルによってはActorを継承したクラスをゲームキャラにつかっているものもあるな

ここはもうちょっと感覚がつかめてきたら追記する

fslasht
Androidでゲーム作ってます。 https://play.google.com/store/apps/details?id=com.dokokano.shotchange&hl=ja 今年はlibGDX+RoboVMでAndroid/iOSマルチのゲーム作りたいですね。
http://d.hatena.ne.jp/fslasht/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした