RetroWeb ~iPhoneとAndroidでハイブリッドゲームアプリ開発~

AIR for iOS+AndroidでSmartPhone Game ハイブリッドアプリ開発

最近作ったアプリ
100億本の抜け毛 100億匹のモナー DQ3闘技場アプリ モナーペット(進化)

PhotoShopで自動でアプリの全アイコン&申請時に必要そうな画像を生成するバッチスクリプト

iPhoneAndroid全部生成します。うかつにscript書いたらpngが圧縮されてなかったので、圧縮もするようになってます。

PhotoShopがインストールされてる環境で、hoge.jsxみたいに好きなファイル名つけてダブルクリックしてください。

//1024.pngというファイル名のアイコン画像をこのスクリプトファイルのディレクトリにおいて実行する

//設置ディレクトリパス
var dirName = "/Users/hoge/Desktop/flash/hogehoge_app/icon/";

var time=new Date().getTime();
var size;

new Folder(dirName+"android").create();

var iosPixcels = [29,57,114,512,48,72,50,58,100,144,1024];
var androidPixcels = [192,144,96,72,48,36];


for(var i=0; i<iosPixcels.length; i++){ saveImg(iosPixcels[i], ""); }
for(var i=0; i<androidPixcels.length; i++){ saveImg(androidPixcels[i], "android/"); }


function saveImg(px, parentName){
	fileObj0 = new File(dirName+"1024.png");
	open(fileObj0);
	tougouAll();
	preferences.rulerUnits = Units.PIXELS;
	activeDocument.resizeImage(px,px);
	fileObj = new File(dirName+parentName+px+".png");
	pngOpt = new PNGSaveOptions();
	pngOpt.compression=9  // (level of compression 0 .. 9       0 - without compression
	pngOpt.interlaced = false;
	activeDocument.saveAs(fileObj, pngOpt, true, Extension.LOWERCASE);
	activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

function tougouAll(){
	var docObj = documents;
	for (var i=0; i<docObj.length; i++){
		activeDocument = docObj[i];
		if (docObj[i].artLayers.length > 1){
			docObj[i].mergeVisibleLayers();
		}
	}
}

function saveAndroid1024x500Img(){
	fileObj0 = new File(dirName+"1024.png");
	open(fileObj0);
	tougouAll();
	preferences.rulerUnits = Units.PIXELS;

	//画像解像度
	activeDocument.resizeImage(500,500);
	//カンバスサイズ
	activeDocument.resizeCanvas(1024,500);

	//新規レイヤー&一番下に&黒か白で塗りつぶし
	layObj = activeDocument.artLayers.add();
	layObj.move(activeDocument.layers[1],ElementPlacement.PLACEAFTER);// ElementPlacement.PLACEATEND);
	//移動基点,位置指定オブジェクト)
	activeDocument.selection.selectAll();
	RGBColor = new SolidColor();
	RGBColor.red = //255;
	RGBColor.green = //255;
	RGBColor.blue = 255;//●ここで背景の色指定可能
	//selReg = [[0,0],[200,0],[200,100],[0,100]];
	//activeDocument.selection.select(selReg);
	activeDocument.selection.fill(RGBColor,ColorBlendMode.NORMAL, 100, false);

	fileObj = new File(dirName+"android/1024_500.png");
	pngOpt = new PNGSaveOptions();
	pngOpt.compression=9  // (level of compression 0 .. 9       0 - without compression
	pngOpt.interlaced = false;
	activeDocument.saveAs(fileObj, pngOpt, true, Extension.LOWERCASE);
	activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

saveAndroid1024x500Img();//Android用の申請画像も生成

alert("Finish! "+((new Date().getTime()) - time)/1000+"秒");

ゲームアプリ「焼きそばvsゴッキー」完成&Android版を申請しました。

実働3日くらいですが、結構フル稼働でしたw ゴッキーの動きをフルーツ忍者風にすれどいまいちだったため、全部作り直して、ゴッキーっぽい動きにしました。ボスゴッキーも出現します。

f:id:hisashi_vc:20141208180808p:plain

今日中にはAndroid版公開されると思います。iPhone版も作らねば~

焼きそばVSゴッキー

申請時に使用した説明キャプチャ

f:id:hisashi_vc:20141208172820j:plain
f:id:hisashi_vc:20141208172825j:plain
f:id:hisashi_vc:20141208172830j:plain
f:id:hisashi_vc:20141208172834j:plain
f:id:hisashi_vc:20141208172839j:plain

池袋で劇場アニメ「楽園追放」を見てきました

くぎゅ評判だけで見に行ったんですが、よかったです。釘宮ボイスのアンジェラちゃんが、エロ可愛さといい、表情の豊かさといい、アングルといい、最高でした。もうセルアニメも3Dで作る時代に突入したようです。
話も見事にまとまってて、ロボアクションもSFストーリーもGOOD
無理やり例えるなら、攻殻機動隊とカウボーイ・ビバップオネアミスを、人情味ある萌えアクションにした感じw
f:id:hisashi_vc:20141207020406j:plain
f:id:hisashi_vc:20141207020432j:plain
f:id:hisashi_vc:20141207020452j:plain

「やきそばVSゴッキー」70%ぐらい開発

ゲームロジックを開発し、キャラを40体以上つくりました。キャラの説明文も作成。思いつきですぐ作れると思いきや、1日中作っても終わらず、結構かかる。時事ネタだし早く出さねばw

f:id:hisashi_vc:20141206124637j:plain
f:id:hisashi_vc:20141206124647j:plain
f:id:hisashi_vc:20141206124651j:plain
f:id:hisashi_vc:20141206124658j:plain

モナーシューティング開発 その6

クリア画面と、LINEツイート対応と、おにぎりの変身ロジックと、スコア計算式と、魔法石切れ購入分岐UIを実装しました。
そして一旦サスペンドして、一瞬次の開発アプリへ。。

f:id:hisashi_vc:20141205012914j:plain
f:id:hisashi_vc:20141205012940j:plain

アプリ★ゲット様に、開発したゲームアプリ「空から女の子が!」の記事が掲載されました

人様にDLして頂けるだけでありがたいですが、記事にまでして頂いたっぽいです。
気合でキャラデザまで挑戦したゲームアプリを気に留めて頂けてよかったです。
また色々挑戦してみよう。


空から女の子が! - スマホゲームならアプリゲット

モナーシューティング開発 その5

OPクラス、ゲームオーバーUI、会話ロジックを実装しました。

OPクラスを実装
ひとまずキャッチコピーのフェードイン・アウト
素材さえあれば、そのまま全部再生できます。
f:id:hisashi_vc:20141204012550j:plain

ゲームオーバーUIを実装
モナー石も作らねば。
f:id:hisashi_vc:20141204012629j:plain

会話UIとロジックも実装。
敵と味方の会話と、会話以外の説明に対応。ファイナルファンタジー・レコードキーパーと違って、ちゃんと一文字づつ出ますw
まずステージ冒頭の会話に対応
f:id:hisashi_vc:20141204012821j:plain

次にボス直前のセリフに対応
f:id:hisashi_vc:20141204012840j:plain

最後にクリア後のセリフに対応
f:id:hisashi_vc:20141204012847j:plain

ゲームアプリの広告効果測定の、計算式の書き方解説

結論だけ言えば、広告宣伝費の2倍の収益になります(もちろん企画書段階の話)。

例えば100万円広告予算があって、
1DL100円なら、リワード広告数時間で1万DL獲得できます。
そこから8割くらいアクティベート(アプリ立ち上げ)します。
=8000人
さらにランキングがあがって+2000人くらい自然流入で後日来るから、結局1万人
ゲームによりますが、その40~10%ぐらいが翌日までのこります。
25%なら2500人
その60%ぐらいが数週間定着=約1500人
その1割ぐらいが課金=150人
月額平均課金額(ARPU)が5000円なら月75万
2~3か月積み上げて200万円
1億円広告打てば、2億円になる・・・かもw

なお1DL当たりの広告費が100円以下なら、そのぶん利益率があがります。
ARPUはもうちょい低いかもしれないから、結局同じくらいかな。

ゲームの出来がよければ、当然その後のグラフはそのまま上昇し、そうでなければ下降します。

こんな感じの説明能力と結論を集めておけば、フェルミ推定属性を得られますw

iPhoneアプリ内課金ハッキングの検知方法と、アプリ側だけで対処する方法

アプリ内課金でハッキングを受けた経験から、対処方法を書こうと思います。

サーバー連動してれば幾らか防げますが、それでも完全ではないっぽいし、アプリ開発者としてはアプリだけで完結すればありがたいですね。ユーザーとしてもサーバー待たなくてすみます。

アプリだけでハッキングはすぐ検知できます。レシートがあからさまにおかしいです。

なぜなら自分がリリースしてないアプリIDと、売ってもいないアイテムIDになるから。有名なハッキングツールだと、レシートの一部がこんな感じになります。

"bid":"com.zeptolab.ctrexperiments", "product_id":"com.zeptolab.ctrbonus.superpower1"

なので、レシートが返ってきたら、その値が正しいか比較すれば、すぐに検知&対処&成敗できます。
さらに他の値(日付、トランザクションID、アイテムID)まで調べれば、サーバー使わずともアプリだけで、上記のハッキングは撲滅できそうですね。

モナーシューティング開発 その4

マップとステージ開始確認UIを作りました。今回はステージが複数あるので、データも複数ステージに対応できるようにしました。

あとぜんぜん関係ないですが仕事で作ってるAIRアプリゲームが、Apple Storeのカテゴリ別で国内1位にランクインしました。個人でもそのうちランクインしたいなあ。

f:id:hisashi_vc:20141203010956j:plain

f:id:hisashi_vc:20141203011002j:plain

ane使わずに、AIR for iOS だけでLINEにつぶやき投稿サンプルソース

ane使わずに、AIR for iOS のAS3だけでLINEに投稿してみました。画像もUIPasteboardに保存&フルパス取得できれば行けそうだけど、そんなことできるのかな~

navigateToURL(new URLRequest("line://msg/text/"+flash.utils.escapeMultiByte("あいうえお")));

モナーシューティング開発 その3

ザコ追加、ボム、中ボス、ボスなどを作りました。
なおキャラの見た目はすべて仮です。

先日に続いて、斜め後ろからつっこんでくるザコの動きを開発。かわしづらいです。
f:id:hisashi_vc:20141201161924j:plain

出てきて、弾をうって去る敵の動きを開発。
f:id:hisashi_vc:20141201161957j:plain

先日の赤い敵をほうふつとさせる、青い敵が出現。青い敵を倒すと、
f:id:hisashi_vc:20141201162140j:plain

ボムアイテムが出現
f:id:hisashi_vc:20141201162200j:plain

ボムアイテムは爆弾アイコンタップで発動。
通常ショットの10倍のダメージを画面全体に与えます。
f:id:hisashi_vc:20141201162229j:plain

中ボス1、出てきて動かずに弾を撃つタイプ
f:id:hisashi_vc:20141201162250j:plain

中ボス2、動きながら弾を撃つタイプ
f:id:hisashi_vc:20141201162310j:plain

ボス直前まで来ると、BGMがフェードアウトしてWarning
f:id:hisashi_vc:20141201162348j:plain

ボスの動きは実装中ですが、とりあえず戦えます。
f:id:hisashi_vc:20141201162424j:plain

倒すと大爆発してステージクリアー
f:id:hisashi_vc:20141201162440j:plain

ファンタジーの剣の力で、300万円集める方法

オリハルコンヒヒイロカネ)の原石が取れる場所が、日本の釜石市橋野にあるそうです。これを原石にして日本刀オーダーメイドするからクラウドファンディングとかやったら、普通に300万以上資金調達できそうですね。

リアルロトのつるぎも作れてしまう。元ジパングの刀鍛冶+オリハルコン+6万ゴールドだったし。1ゴールド100円レートと考えれば、本物のロトのつるぎは600万円か。ルビスのご加護は出雲大社でとみせかけて、秋葉原神田明神でとみせかけて、秋葉の巫女喫茶のお払いとかでw

オリハルコン採取した人のブログ


日本のオリハルコン(ヒヒイロカネ)の材料を探す - 知識の塵の中に蟄居していても宇宙の秘密を知悉することはできない

モナーシューティング開発その2

敵の動きを10パターンほどと、敵の玉と、アイテムを少々作りました。

まずは全敵が一斉にこっちに突っ込んでくるバージョンを作って、スマフォでプレイ感触の確認。そして次の段階へ。

f:id:hisashi_vc:20141130153812j:plain

次に列をなしてやってくる、グラディウス冒頭の縦版みたいなデータを作りました。

f:id:hisashi_vc:20141130153820j:plain


次に斜めに突っ込んでくる動きデータを作りました

f:id:hisashi_vc:20141130153826j:plain


次にサインカーブみたいなDNA螺旋的動きデータを作りました
ついでに自機のあたり判定も

f:id:hisashi_vc:20141130153833j:plain


次に左右から出てくる動きデータを作りました

f:id:hisashi_vc:20141130153844j:plain


次にブーメランみたいに出てくる動きデータを作りました

f:id:hisashi_vc:20141130153853j:plain


次に自機につっこんでくる敵データを作りました

f:id:hisashi_vc:20141130153901j:plain

次に敵のショット攻撃と、アイテム保持敵は色違いデータを作りました

f:id:hisashi_vc:20141130153908j:plain

赤い敵を倒すとパワーアップアイテムが出て

f:id:hisashi_vc:20141130153916j:plain

例えば3wayとかになります

f:id:hisashi_vc:20141130153922j:plain