読者です 読者をやめる 読者になる 読者になる

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

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

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

購入エラーの作成

売却もつくらねば。買値の4分の1とかで。 相場が日々変わっててもおもしろい。所持数でも値段変わるとか。 あと魔法石でも買えるようにせねば~

アイテム販売の作成(ほぼショップ)

図鑑からアイテムを購入できるように開発開始しました。これでようやくコインの価値が発生しますw 来週はアイテム購入と、クエスト作成かな~。

アイテム覚醒の実装

指定個数アイテムを集めると、能力覚醒を実装中。 あ~制限の強い法人でも火だるま下請けフリーランスでもなく、そこそこ+α業界トークが通じて、雑談以外の義務的分業もなく、過干渉でも冷めてもいなくて、ちょい熱いか、わざとらしいくらい熱いプチ組織体…

アイコンと、日本語版のタイトル画面の修正

日本語版もTOPと、ついでにアイコンも修正しました。 あとはテストしたらiPhone版再審査に取り掛かろう。 しかし足の甲のガングリオン膨らんできたから、一旦整形外科かな~

海外版のタイトル仕上げ

ゲーム開発は、実際一人で全部作ってみると、やることがたくさんありますね~。 ゲームだけであらゆる要素なのに、最近はネットワーク(サーバーサイド)に加え、iPhoneもAndroidもあるので恐ろしいw ゲームクリエイターの方々には、もっとたくさん給料と裁…

アイテムのパラメータを付与

アイテムのパラメータを付与しはじめました。しかしこのゲームだと回避率(あたり判定のデカさ)くらいしか変化つけられない予感wそろそろiPhone版を久々に更新しようかな~。課金版はリジェクト祭りだから、課金の検証については、まず別のシンプルテスト…

AIRアプリでGPUモードでもフィルターを表示する方法

GPUオンのスマフォAIRでも文字に縁取り線を書くメソッド(普通は縁取りが勝手に消えてしまう。)を以前公開しましたが、下記のメソッドなら、もっと簡単にあらゆるフィルターエフェクトを実現できることにきづきました。フィルターエフェクト、見た目的には…

レアドロップ時のリッチ演出を強化

しまむら制の帽子が神々しくなりましたwあと今日は税理士と面談して、無事今年度の税金が落ち着きました。一安心~

出現アイテムに合わせてMAPを変化

コインの柱はゴールドに、宝箱の柱はレインボーにしてみました。明日は中二病でも恋がしたいの、凸守早苗ちゃんの中の人の、上坂すみれ嬢がいる大学に初めて行く予定。起きれたらw

ステージに変化を

ステージが殺風景&変化がないので、柱のリデザイン&変化をつけはじめました。今日は取引先に仕事でやってるゲームアプリの請求書を献上したら、向こうから額を2倍にしてくれました。いろいろと貢献したいな~。しかししまむらくん、世界観がなんだか有野…

図鑑の見直し

やはりゆくゆくはしまむらくんの装備品で楽しめればと思い、単なる図鑑ではなく、装備よりで改修中。アイテムを収集できるようにする→なんらかのパラメータ変化させるようにする→ゲーム中の見た目も変化させる? の段階の予定。あと釣竿みたく、10回つかうと…

本当に光ってる魔法石を、スマフォアプリで実現する関数。

本物の魔法石っぽく光る、アニメーションエフェクト設定メソッドを作ってみました。 どんなMovieClipでも、メソッド1行で、シルエット通りの魔法石になります。 魔法少女が変身中の全裸シルエットに近いかもwAIRのサンプルソース public static function s…

スマフォアプリの気の利いた暗号鍵の隠し場所

暗号化のカギは、ソースコードに書いたり、内包外部テキストに書くと、ちょっと突破されやすくなります。そこでアプリのバイナリ自体にも第2の暗号鍵を埋め込んでおくと、より強固(すくなくとも突破が相当めんどくさい)になると考えられます。AIRやFlash…

ログインボーナス作成中

毎日何かもらえるやつです。 いわゆるリテンションレート(継続率)向上施策。起動する理由ができるので。固定で何かもらえるより、ガチャ(1列スロット)の方がよいかなあと画策中。 やっぱ理想はスタンプかな~。順を追って開発予定です。

StageWebView起動時の残念な真っ白回避方

StageWebViewはロードとHTMLの描画で毎回数秒かかったりして残念です。 さらに常に最前面に描画されるため、ローダーの表示がでないため困り者。 ちょい裏ワザで、StageWebView用のHTMLを普通のローダーで読み込んで、loadURLではなくloadStringでHTMLを送り…

AppleStoreで初ランクインしてたっぽい

どうやらしまむらくんが、iPhone(iPad)ランキングで、264位になっていたようです。 まだ道半ばですが、評価してもらえるのはありがたや。 しかしなかなかアプリが最新版に更新されないな~

AIRスマフォアプリで、飾り文字を作る方法(作業と処理速度の両立

1.文字をテキストフィールドで書く 2.複数エフェクトをつける 3.MovieClip化 4.プロパティ>表示>レンダリング>ビットマップとして書き出し 5.数値なら複数フレーム化 6.先日公開した、動的SpriteSheet生成メソッドで表示実行時のキャプチャ。…

キラキラメソッドを公開しました

スマフォのAIRでキラキラを複数付与してアニメするメソッドです。 クリア時のスコアの回りや、キャラの変身直後とかにつけるアレ public static function showKira(p:DisplayObjectContainer, sx:Number, gx:Number, sy:Number, gy:Number, count:uint,//=10…

スマフォAIRでラインツムツムの後光を再現

Lineツムツム風クリア時の後光アニメーションメソッドを公開しました~ //BgというMovieClipに後光を生成する場合 var endGokou:Function = showGokou(Bg); function showGokou(p:MovieClip, x:Number=0, y:Number=0):Function{ //半透明グラデーションの三…

キャラデザインのブラッシュアップ

しまむらくんのアスキーアートコピペから、ペン入れ&カラーリングしました。 キノコっぽいw

背景を着色中

そろそろ殺風景度の減少に挑戦開始~

広告のインプレッション収益(RPM)を上げるには

大抵フッターバナーか、離脱直前の大バナーくらいしか考えられてないけど、もっとゲーム内に組み込めば、RPMが数倍になる予感。たとえば毎日よいものもらえるけど、時間がかかる修行や育成ページの表示時に大バナーとか、今敏のアニメ映画のOPみたく、ゲーム…

AIRアプリのパフォーマンスで、優先的になおす箇所

毎フレーム更新のテキストフィールドがヤバい。しまむらくんゲームアプリの場合は距離。少なくともフレームにするべき。ヤバさ順はおそらく、テキストフィールド>タイムラインアニメ>それの画像化>それのテクスチャシート化(BitmapData化)めんどくささ…

AIRのパフォーマンスと開発速度を上げる、ランタイムスプライトシート生成メソッド

SpriteSheet生成回りはなにかと面倒、とはいえ旧来のtimelineのフレームアニメは、作るの楽だけどスマフォだと重いうえにメモリも消費。そこでプログラム実行時に、フレームアニメのMovieClipをテクスチャアトラス化して、アニメーションするメソッドを作り…

自作カジュアルゲーム自動世界進出 1か月後

あと1週間でiPhone版リリース1カ月ですが、世界19ヶ国にしまむらくんゲームアプリが進出してました。シリコンバレーの後、ラスベガス、マカオ、ドバイ、ワシントン、上海などなど、世界中にしまむらくん感染wなお日本のパーセンテージは自分のリリース…

宝箱開封UIの作成

ひとまず宝箱の表示>取得>開封まで完成。 あとは図鑑に反映、レア度別対応、複数宝箱対応、NEW表示対応などなど。 しかし明日は複数案件MTGが~。

レア宝箱ドロップの開発

ゲーム外ガチャより、100mいったら宝箱出現の方が燃えるので、実装開始~

AIRでArray push時の謎bug解消法

下記の珍百景バグですが、pushの引数を複数指定した際に、カンマが抜けていたため発生していました。なおArrayにArray(その中身はString)をpushした際に発生。because missing array push method inner argument split commma. typecheck com.test.arraybu…

図鑑にキャラ表示

ちょい図鑑ができてきました。 図鑑に登録したキャラを、マテリア穴っぽいのに登録して、ゲーム中に特殊効果とかやってみたいな~。

AIRゲームアプリで、図鑑機能を作りはじめました。

まずガチャでキャラ取得→図鑑に文字反映、を作りました。次は実際集めてもらうアイテムの選別と、絵柄やページングの実装をせねば。図鑑(コレクション)を実装すれば、ゲーマータイプ分類法Bartle Testで言うところの、Achiever(=集めるのが好きな人≒高AR…

AIRアプリゲームの、ユーザー離脱ポイント取得方法

ゲームのどこで離脱してるのか、ないしはどこでバグってるかは、プレイを後ろで見てればわかりますが、通常は不可能です。が、これは非常に重要なので、是非知りたい!そこで下記メソッドを使い、ユーザーがどこまで到達しているか、確認できるようにしまし…

AIRアプリのWebView遷移で気を付ける2点

WebViewから外部ブラウザ(やGoogleのPlayStore)に遷移する場合、遷移中のイベントを拾って、その中でevent.preventDefault();をすれば、WebView内は切り替わらないのですが、その再に2点注意事項があります。1.preventDefaultを追加するイベント名は、LO…

AIR for AndroidのLinuxバージョンを、Androidバージョンに置換する方法。

AIRアプリのCapabilities.manufacturerで、端末のOSとバージョンなど取得できますが、なぜかAndroidではなくLinuxのバージョンになってしまいます。管理画面ではAndroidのOSバージョンを知りたいので、サーバー側PHPで、下記の置換メソッドで対応しました。 …

AIRアプリゲームのパフォーマンス向上メソッドその2

ゲームアプリは、不要なDisplayObjectが残ってれば残ってるほど、重くなります。たとえ目に見えなくても。いや目に見えない方が怖いwそこでゲーム開始時にかならずすべてのオブジェクトを一旦掃除してしまえば、かなり確実に軽くすることができます。特に自…

Flashゲーム、AIRアプリのガベージコレクション改善メソッド

ゲーム中の、ときどきカクっがなおった!下記メソッドを、rootの1フレーム目で、stopAllMC(root); したらなおりました。 CPUもメモリも、モーション再生周りが鬼門だな~。これならデザイナーさんから、芳しいAsset素材swcが来ても安心w重い処理直前のおま…

AIRアプリゲームで、ガベージコレクション多発して、コマ落ちしてた原因判明

しまむらくんアプリが、しばしばゲーム中にカクっとコマ落ちしてた原因が判明しました。まずAdobe Scout CCという、プロファイリングソフトを導入。 これはゲーム中にどこが重くなってるか、グラフで分かるソフトです。 キャプチャ上部の青い三角が何個もあ…

デバッグ時のフラグを作る

開発中にランキングデータやアナリティクスなど送ると、特に集客かける前の小規模データは乱れ過ぎてしまうので(ランキングが自分ばかりになってしまったりするので)、isDebugフラグ作って送信オンオフ制御。自前じゃないisDebugフラグ(開発環境か、本番…

AIRでハイブリッドpush通知完成

AIR for Androidでもpush通知が動くようになり、ハイブリッドpush通知が完成しました。これでゲームアプリはもちろんですが、下記がAIRのAndroidとiPhone両方で、動くようになりました~。 I realized 11 important systems for smart phone AIR app! 1. pus…

AIRでiOSとAndroidの開発環境を切り替えるとバグる理由

パッケージ名、iOSは先頭にair.を手動でつけねばならず、Androidは自動で付与されるため。 切り替え直後にそれを手動でつけたり消したりし忘れると、バグる・・!Adobe日本代表のアンディさん、なんとかしてくださいw

アプリ起動時の、新着お知らせ実装&そのフロー

更新情報などがWebViewで表示されるアレです。 合わせて起動時のAPIも作りました。 ついでに多言語対応しましたw①アプリ起動 ②起動直後APIに問い合わせ ③送るべきプレイヤー情報あれば合わせて送信 ④未送信ハイスコアあれば合わせて送信。 ⑤アプリのバージ…

AIRのAndroidアプリで、端末情報パーミッションなくても使えるユニークなID

uses-permission android:name="android.permission.READ_PHONE_STATE 使うと、インスコ時に電話内の情報許可聞かれるので、ユーザーの離脱と懸念増加に若干躊躇しますが、下記のシリアル情報ならパーミッション無くても取れた。ただし古いスマフォ(simなし…

インストール時のキャッシュクリアの違いでハマった

PC直つなぎでFlashからインストールすると、毎回キャッシュがクリアされて、初期状態からプレイされますが、apkをダウンロードした場合は、前回のキャッシュが残り、挙動が変わります。知らないと、いつまでなおしてもなおらず。。ハマってたけど復活!

スマフォAIRアプリで、アプリのバージョンを取得する方法

デスクトップ版のAIRと微妙に違う&AIR自体のバージョンと混合されやすいので、メソッド作りました。ログの分析に役立つかな~。 public static function getAppVersion():String{ // このXML変数に、バージョンどころかアプリケーションのXMLデータ全部入っ…

iPhoneとAndroidで、AIRのWebViewサイズが違う

iPhoneだとページが小さく見える。 デスクトップと同じ比率でランキングのWebViewが表示されるため。 そうなるとスマフォ上では小さくて文字が見えない。Androidは勝手にズームしてくれるから大丈夫だった。 HTML内にサイズフィットのタグが必要なので、今日…

スマフォ向けAIRを、そのままPC向けFlashにすると出るエラーの回避方法

つまりクラスが無いエラーです。 以下2パターンで解決しました。まず下準備として、Strictモードはオフにする必要があると思います。 パターン1.エラーが出てるクラス末尾に同名クラス //RemoteNotifierが無いよエラーの場合 class RemoteNotifier{} パタ…

カジュアルゲームのプレイ回数データ

空飛ぶしまむらくん、なんと数日で1000回近くプレイして頂いてる方がいることが判明!1プレイ平均30秒だとすると、なんと8時間もプレイして頂いてます。カジュアルゲームプレイヤーの方って、実はコアゲームプレイヤーよりも熱意が高いんじゃ。。

スマフォでも使える、縁取り文字生成メソッド

AIRでモバイル向けに、レンダリングモードを高速なGPUにすると、フィルター>光彩>強さ5000%とかで作る、便利な縁取り文字が作れなくなります。そんなとき下記メソッドを使ったところ、縁取り文字を出せるようになりました。まず縁取り成功したモバイルのキ…

エクセルの仕様書から、コピペだけで配列データを作る

大量のエクセル行数で渡された、ゲームパラメータやシナリオなどの情報を、配列変数化するのは意外に手間です。頑張って手動か、複雑な置換で毎回カンマやクォーテーションを打っていくか、外部データのロードとパースをする必要があります。ローダー作ると…

WebView+MovieClipの混合キャプチャに成功

キャプチャできなかった、ランキングのWebViewもキャプチャできるようになりました。 rootをキャプチャしたbmd0というBitmapDataに、WebViewから取得したbmdをdrawで上書きしたらできた! var bmd:BitmapData = new BitmapData(view.viewPort.width, view.vi…