Android用語集
AndroidはJava言語ですので、Java用の各種物理エンジンをそのまま使えます。 物理エンジンを使うと、リアルな動きが可能です。 また衝突判定もありますので、ゲームを作るのにも便利です。
ただし、Android 1.1ではAndroid専用にチューニング(Object作らないなど)されていなければ、どれもGCが頻発して一時停止しますが (AndroidではGCが起きると場合によっては200msぐらい、すべての処理が止まります。FPS 20でも 1フレーム 50ms以内で処理しないといけないので、GCが起きると4フレームぐらい止まります。アクションゲームでは問題です)
物理エンジンは、大きく分けると2Dエンジンと3Dエンジンとがあります。 (3Dエンジンは対応していれば2Dエンジンとしても使えるみたいです)
http://www.jbox2d.org/ 速度もそこそこ、サンプルも豊富なので一番使いやすかった。
最近、NDKを使いBox2dを直接呼び出すコードが出回ってきた。 http://groups.google.com/group/android-ndk/browse_thread/thread/10f2e02c5d6857cb
NDK版を使えば、iphone 3Gと同等の速度で動くだろう。
http://www.cokeandcode.com/phys2d/ 動きはリアルだけど、Androidでは動きが遅い。
http://code.google.com/p/simpull/ この中では一番シンプル、パーティクル用としては最適 作者がMLに投稿していたし一番最初にAndroidチューニングされるかも
http://www.cove.org/ape/ Java版はどうも古いみたいです。 awtのクラスとか使っているのでそのままでは動きません。 精度はSimpullに近いです。 動作速度はPhys2D並に遅かったです。 ただコードはシンプルなのとライセンスから勉強用にいいかも
http://jbullet.advel.cz/ 本家のBulletに比べると、バージョン少し古め。本家の最新版では2Dエンジンにも対応予定 未検証
Developerのポスト(英語) http://groups.google.com/group/android-developers/browse_thread/thread/d06f9e739790ee1f/b14f7478412b6196 Developerのポストについて http://blog.akaiho.com/archives/455