Flex、AIR、Java、Androidなど

Posts Tagged ‘Xperia

AndEngineでつくるAndroid 2Dゲーム
posted at 2012.12.10

立花 翔翔泳社 (2012-12-14)売り上げランキング: 236147

Amazon.co.jp で詳細を見る

表題の通り、12/13日に著書「AndEngineでつくる Android2Dゲーム」が翔泳社様より発売されます。
Android用の2Dゲームフレームワークを利用して、カジュアルゲームをサクサク作れるようになろうという内容です。
iOSの方はcocos2dという絶対的な2Dゲームのフレームワークがありましたが、Androidにはまだ決定的なものも無く、今年の夏くらいまでは端末のスペック的にも「簡単に」ゲームをつくることはあまり容易ではありませんでした。
私自身が最初にAndEngineに触ったのは2011年の1月と古いのですが、まだ初代XperiaやDesireなどが主流の時代でしたのでシンプルなゲームでもカクカクでゲーム作りは保留していました。
それから2年近く経ち、端末のスペックも上がったことで、スペックを意識しなくてもカジュアルゲームならサクサク動くものが簡単に作れるようになったこともあり、執筆を始めました。
ざっくり言うと、以下のような内容になっています。(Amazonから抜粋)
600万ダウンロードを達成した著者が贈るゲームづくりの基礎とウケる秘訣! スマートフォンの普及により、すきま時間にシンプルなゲームを楽しむ人が増えています。
ゲームはアプリの中で最も人気のあるカテゴリであり、ヒットすれば無料アプリでも広告による収入が見込めます。ゲームづくりはハードルが高いと思われがちですが、シンプルなゲームであれば、経験が浅くても、個人であっても簡単につくることができます。真にアイデアで勝負できる魅力的なジャンルといえるでしょう。
本書では、AndEngineというフリーのゲームエンジンを使った開発を解説します。これにより開発のハードルが大幅に下がり、初心者でもアイデアを形にすることが容易になります。
また、ゲーム開発未経験から始めて、一人で企画・開発・デザインを行いながら数々のヒットアプリを生み続ける著者による、実体験に基づいたヒットのコツを随所に散りばめました。ゲームアプリを作ってみたい人、ゲームづくりで挫折した人、自分のアプリで稼ぎたい人にお勧めの1冊です。
目次は以下のようになっています。
1章 開発環境を構築する
2章 ゲームの雛形を作る
3章 投げ系ゲームを作る
4章 横スクロールゲームを作る
5章 加速度センサーを利用したゲームを作る
6章 外部サービスと連携する
付録 逆引きAndEngine
ヒットの秘訣(1)〜(10)
本書では3つのカジュアルゲームを作りながらゲームの作り方を学んでいきますが、それらの中でカジュアルゲームに必要なテクニックや実装をひと通り詰め込みました。
1ゲーム当たり80ページ程ですので、通して組んでみて下さい。その後はアイディアを思いついてそれをゲームに落としこむところまでできる方なら、2、3日もあればリリースまで持っていけるようになると思います。
本書で作るゲームは実際にPlayストアにリリースされています。
興味のある方は落としてみて下さい。

以前執筆した書籍「コピペではじめるiPhoneゲームプログラミング」では、読者の方がiPhoneのゲーム総合ランキングで1位を取りました。
著者としては、こんなにうれしいことはありませんでした。(→紹介記事)
今回も同じように、読者のかたからランキング上位獲得者が現れることを祈っています。
本書を読んでいて、ご不明な点等ありましたらTwitterでご連絡下さい。
もうアプリでは儲かりません!いち早くiPhoneのカジュアルゲームに目をつけた個人開発者は数百万〜数千万設けています。この流れはAndroidにも必ず来ます。是非ともいち早く本書を手にとって、カジュアルゲーム戦国時代の勝者になって下さい!

1/27 20:02 ソース、zipファイル修正。
1/28 12:10 ソース、sipファイル修正。詳しくはzipファイル内のreadme.txtに記載。

Nexus Sが届きましたのでとりあえずざっと作ってみました。強制終了したりもあると思いますが多目にみて下さい。w
連絡くれたら自分の手持ちの端末で再現するかどうかやってみて、できれば直します。うちのNexus Sだと動いてるんですが・・・。

とりあえず実機がある方は上のQRコードかここからアプリ落として動かしてみてください。apk置いといてもいいのですがエミュレーターではメイン画面すら開けないほど重いのでやめときます。
動いてますか?瀬戸デ部な方々に手伝ってもらってFPSのチェックをしたのですが、IS03だと遊べないレベルかもしれません。Xperiaでギリ、Desireとやや遅くらいかも。まあパフォーマンスのことは私に聞かれてもわかんないのでこれで進めますね。
サンプルになるほど出来は良くないですが、とりあえずソースまるごと公開します。
まず、AndEngineとOpenFeintを前回の記事を見ながら使えるようにして下さい。ソースのZIPも公開しますが、OpenFeintのIDがないと強制終了すると思うんで実際に動かしてみたい方はID取って下さい。無料ですぐもらえます。
あとはガリガリ書いていくだけ。なるべく分かりやすいように変数や関数は名前付けてます。落とす前に見たいという方の為に貼っときます。長いですし横が入りきらないんでお手持ちのテキストエディタにでも貼りつけてみて下さい。
とりあえず何点かポイント?を。

とりあえず画面は下層からEngine、Scene、Layerで構成されている。Layerはシーン上に複数置くこともできるし、一枚だけでも良い。Scene、LayerへはどこからでもgetScene().getTopLayer()とかでアクセス可能。
Layer上に画像から生成したオブジェクト(Sprite)やテキスト等を置くときには準備が必要。画像の場合はTextureRegionを作ってそれをTextureに配置、それからEngineのTextureManagerにTextureを登録。こっちにもちょっと書いてます。
毎フレーム毎の処理を登録するのはscene.registerUpdateHandler(IUpdateHandler updateHandler)で。
アニメーション処理は〇〇Modifierが担当。AndEngineに同梱のドキュメント読むべし。
Sprite生成時に同時にListenerを登録してnewできるが、getEngine().getScene().getTopLayer().registerTouchArea(Sprite);しないと反応しないので注意。
画像はできるだけ軽く。8bitで書きだす
処理入れるごとにFPSチェックする。すぐ重たなるので。パーティクルとか大丈夫なん?
女の子に100万DLの自作アプリ見せる → はて (・_・”)?、 3日で作ったてきとーゲーム → +.d(・∀・*)♪゚+.゚。、はおおげさでもとりあえず話ふくらます出発点くらいにはなる!モバゲーとかみんなやってるしね。

Javaのソースファイルは3つだけです。
InitialActivityFrame.java
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361package biz.stachibana.android.Hige;

import java.io.IOException;

import org.anddev.andengine.audio.music.Music;
import org.anddev.andengine.audio.music.MusicFactory;
import org.anddev.andengine.audio.sound.Sound;
import org.anddev.andengine.audio.sound.SoundFactory;
import org.anddev.andengine.engine.Engine;
import org.anddev.andengine.engine.camera.Camera;
import org.anddev.andengine.engine.options.EngineOptions;
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.anddev.andengine.entity.scene.Scene;
import org.anddev.andengine.entity.shape.IShape;
import org.anddev.andengine.entity.shape.modifier.AlphaModifier;
import org.anddev.andengine.entity.shape.modifier.FadeInModifier;
import org.anddev.andengine.entity.shape.modifier.LoopShapeModifier;
import org.anddev.andengine.entity.shape.modifier.SequenceShapeModifier;
import org.anddev.andengine.entity.shape.modifier.IShapeModifier.IShapeModifierListener;
import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.input.touch.TouchEvent;
import org.anddev.andengine.opengl.texture.Texture;
import org.anddev.andengine.opengl.texture.TextureOptions;
import org.anddev.andengine.opengl.texture.region.TextureRegion;
import org.anddev.andengine.opengl.texture.region.TextureRegionFactory;
import org.anddev.andengine.ui.activity.LayoutGameActivity;
import org.anddev.andengine.util.Debug;
import org.anddev.andengine.util.modifier.IModifier;

import android.content.Intent;
import android.net.Uri;

import com.openfeint.api.OpenFeint;
import com.openfeint.api.OpenFeintDelegate;
import com.openfeint.api.OpenFeintSettings;
import com.openfeint.api.ui.Dashboard;

public class InitialActivityFrame extends LayoutGameActivity {

    private static [...]

およそ3ヶ月ぶりの新アプリリリース。
今回はAndroid Application Award (A3,エーキューブ) 2010 Springに応募するために作っていたアプリを一般向けにもリリースする形です。
残念ながら現在はレイアウトを一部決めうちしていますのでXperiaでしか動かないと思うのですが(N1、Desire等でも画面が切れるとは思いますが大丈夫かもしれません)、需要があるようでしたらHT-03A等にも対応させます。
A3開催に当たってとりあえず何かは出そうと思っていたのですがもうAndroidアプリも相当数世に出ており、全く誰もやっていないことを探すのは大変でした。アイディアがかぶってしまうと私のように技術力で勝負できない人間は敵いませんので色々考えていたのですが、ターゲットを変えてみようということで膨らませ、ターゲットを子供に絞りました。
そうこうしているうちに親戚の子供がトミカが好きなのをちらっと聞いて、そこから膨らませて車の画像から車種を当てるクイズを思いつきました。
その子はまだ3歳なのですがトミカを並べてこれはハマー、これはランボルギーニ、とか言っていますので3歳〜小学校低学年の子くらいが一番やっていて楽しいかもしれませんね。
その位の子供がこのアプリを通じて文字・アルファベットを学習し、車への理解を深めてくれるようなきっかけになれればうれしいです。また、当然シンプルに中古車を検索する機能も付いておりますので大人の方でも普通にご利用頂けます。若い頃に乗っておられた車の話とか、楽しいですよね。
私も若い時は車が好きだったので車種の3択を作るときに役立ちました(笑)
以下、機能を箇条書きしておきます。大きく分けて4つのセクションがありますのでそれぞれ記載しておきます。

■ 中古車検索
・県別、車種別、ブランド別での中古車の検索
・検索結果から公式の見積もり・詳細ページへのリンク

■ 車種当てクイズ
・国産車をランダムに検索し、外観が似ている車種名3択の中から正解を選ぶクイズ
・問題となる車種の画像が最大5枚表示されるので、その写真をもとに車種名を解答します。
・問題となる車種はランダムに並べ替えされるので同じ問題が再度でることは少ないです。
・その為、問題のバリエーションが豊富で飽きが来ませんし、同じ車種でも年式の違い等で問題のバリエーションは豊富です。
・問題に解答するごとにポイントがたまります。連続正解するとさらにたくさんのポイントがたまります。
■ クイズの成績記録
・クイズの成績を記録できます。総解答数、誤解答数、最高連続正解数。
・最新の正解率を表示し、推移をグラフに表示させることができます。
・たまったポイントを確認できます。100ポイント毎にトミカを一台買ってあげる等すればモチベーションを持続させてくれるのではないでしょうか?
・間違えた問題を記録し、それをもとにWikipediaで検索したり、中古車を検索することができます。

■ トミカ検索
・楽天市場から車種名でのトミカの検索
・購入ページへのリンク
例によって今後もご意見等頂ければ色々な機能を加えていきたいと思っていますのでお気軽にご連絡下さい。ブログよりTwitterの方がリプライは早いと思います(^^) Twitterは右サイドバーに表示されていますので。
インストールはAndroid Marketからお願いします。
Androlib:中古車検索+車種当てクイズ v1.0 Application for Android | Entertainment
Cyrket:中古車検索+車種当てクイズ – Cyrket

コメントは受け付けていません。

Categories

 

2017年8月
« 4月    
 123456
78910111213
14151617181920
21222324252627
28293031  

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here