PhotoShopで自動でアプリの全アイコン&申請時に必要そうな画像を生成するバッチスクリプト
iPhoneとAndroid全部生成します。うかつに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版を申請しました。
「やきそばVSゴッキー」70%ぐらい開発
ゲームロジックを開発し、キャラを40体以上つくりました。キャラの説明文も作成。思いつきですぐ作れると思いきや、1日中作っても終わらず、結構かかる。時事ネタだし早く出さねばw
新規ゲームアプリ開発「やきそばVSゴッキー」
これは今作らねばと天命を受け、まさかの開発開始w
モナーシューティング開発 その6
クリア画面と、LINEツイート対応と、おにぎりの変身ロジックと、スコア計算式と、魔法石切れ購入分岐UIを実装しました。
そして一旦サスペンドして、一瞬次の開発アプリへ。。
アプリ★ゲット様に、開発したゲームアプリ「空から女の子が!」の記事が掲載されました
人様にDLして頂けるだけでありがたいですが、記事にまでして頂いたっぽいです。
気合でキャラデザまで挑戦したゲームアプリを気に留めて頂けてよかったです。
また色々挑戦してみよう。
モナーシューティング開発 その5
OPクラス、ゲームオーバーUI、会話ロジックを実装しました。
OPクラスを実装
ひとまずキャッチコピーのフェードイン・アウト
素材さえあれば、そのまま全部再生できます。
ゲームオーバーUIを実装
モナー石も作らねば。
会話UIとロジックも実装。
敵と味方の会話と、会話以外の説明に対応。ファイナルファンタジー・レコードキーパーと違って、ちゃんと一文字づつ出ますw
まずステージ冒頭の会話に対応
次にボス直前のセリフに対応
最後にクリア後のセリフに対応
ゲームアプリの広告効果測定の、計算式の書き方解説
結論だけ言えば、広告宣伝費の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)まで調べれば、サーバー使わずともアプリだけで、上記のハッキングは撲滅できそうですね。
モナーシューティング開発 その3
ザコ追加、ボム、中ボス、ボスなどを作りました。
なおキャラの見た目はすべて仮です。
先日に続いて、斜め後ろからつっこんでくるザコの動きを開発。かわしづらいです。
出てきて、弾をうって去る敵の動きを開発。
先日の赤い敵をほうふつとさせる、青い敵が出現。青い敵を倒すと、
ボムアイテムが出現
ボムアイテムは爆弾アイコンタップで発動。
通常ショットの10倍のダメージを画面全体に与えます。
中ボス1、出てきて動かずに弾を撃つタイプ
中ボス2、動きながら弾を撃つタイプ
ボス直前まで来ると、BGMがフェードアウトしてWarning
ボスの動きは実装中ですが、とりあえず戦えます。
倒すと大爆発してステージクリアー
モナーシューティング開発その2
敵の動きを10パターンほどと、敵の玉と、アイテムを少々作りました。
まずは全敵が一斉にこっちに突っ込んでくるバージョンを作って、スマフォでプレイ感触の確認。そして次の段階へ。
次に列をなしてやってくる、グラディウス冒頭の縦版みたいなデータを作りました。
次に斜めに突っ込んでくる動きデータを作りました
次にサインカーブみたいなDNA螺旋的動きデータを作りました
ついでに自機のあたり判定も
次に左右から出てくる動きデータを作りました
次にブーメランみたいに出てくる動きデータを作りました
次に自機につっこんでくる敵データを作りました
次に敵のショット攻撃と、アイテム保持敵は色違いデータを作りました
赤い敵を倒すとパワーアップアイテムが出て
例えば3wayとかになります