後から追加ですけど、説明ビデオが遅ればせながら完成しましたので後付させて頂きました。
「ワールドサッカー:フリーキック決闘空間」開発記:その2
めでたくも昨日中にiOS, Android共にApp Store, Google Playで公開となりました。今回は本アプリの開発記のその2として次へつながる開発手法等を整理していきたいと思います。
ところで寄り道ですけれど、ワールドカップ2日目のすべての試合がものすごい熱い究極の戦いばかりだったのでちょっと驚きました。初日の5対0の試合の流れでなんか大味な試合が続くと思ったら大間違いです。強烈な激闘試合が3つ続きました。特にアジア代表のイランが素晴らしかったです。初日のサウジの残念さから、アジアはワールドカップにいないほうが良いとか考えている人たちも多くいると思いますが、その期待を打ち壊しました。更にポルトガル対スペインは引き分けでしたからイランがなんと一位です。日本の試合が近づきましたが、日本は最後のほうの組で良かったですね。ワールドカップというのはどの程度の強烈な激闘の場なのかを事前に知ることができますからね。これにより日本が試合に臨む際に、浮ついたり投げやりになったりせずに、悲壮感満載で試合に臨めるような気がします。歴史的にそうなのですけど、日本人は絶望的状況に陥ると想像を越える力を発揮する民族なのですからね。楽しみです。
余計な話2ですが、オシム元監督が日本対パラグアイの試合を見て、縦に早い攻撃が世界の現在の流れなのだけども、日本のパスサッカーは今回のワールドカップで世界を魅了するかも知れないと言われたそうです。Youtubeの文字紙芝居情報ですが、本当ならそれは嬉しいことですね。
やっておくべきだった開発アプローチ1
付けたし付けたしでアプリ開発していく進め方なので難しいのですけれど、今回のようにボールを蹴って、コース狙い、速度調整、変化球、ディフェンダー壁越え、アニメーション制御されたゴールキーパーによるキャッチ等々を創りこむ必要があったのですから、蹴られたボールのすべての要素を含む軌道計算を最初に関数化(メソッド)にしておきば良かったです。というか、今後の海戦アプリ等を作る際にも必ずそういうアプローチをすべきです。
理由は簡単で、今回のアプリで多くの機能を創る時に、必ずボールの軌道を計算する処理をどちらの機能であっても行う必要があったからです。今回はそれをすべての場所でそれぞれ少しずつ違うアプローチで同じような軌道計算処理を創ったことです。おまけにそれぞれ機能がちょっと不足している。結果として時間は大きくロスするし、アプリとしての出来栄えも機能提供も今ひとつでした。
次は戦艦大和関係の主砲標準から射撃の処理の開発が必要となることが見えていますが、その時には最初に強力な関数をひとつ創っておくことにします。
やっておくべきだった開発アプローチ2
今回のアプリでの操作系はちょっと新規チャレンジが多く含まれています。2D操作(ドラッグ、フリック、タップ他)と3D操作(3D空間内の変化球操作用のボール操作、ゴールキーパの操作)を自在に組み合わせている点です。そしてそれをmac上でのUnity Editorでの操作とiphone/Android上の操作を共通にしていることです。
あんまり大したことがないと思われると思いますが、自分的には結構これは良いことです。これまでの自分のアプリの操作系は2DでのuGUI上での操作主体で決めていましたが、2Dと3Dを有機的に関連させることでより直観的でわかりやすい操作を実現することが可能です。実際にはその裏にRaycastによる3D空間での衝突検出を自在に使えているということが大きいですが、今回のアプリ開発で得られたこれらのスキルは大変に大きいと感じます。
やっておくべきだった開発アプローチ3
というかこれは今回初めて採用した方式です。マネタイズのための広告ビデオ(Unity-Ads)で得られるボーナスポイント等を大きくする代わりに、アプリを使用しないで日数が経過するとボーナスポイントが減っていくという仕組みです。練習しないと能力が落ちるというロジックです。こうすれば戦艦ゲームでの砲弾の数とかもっと多くしても良いのでしょうかね。このアプローチは本アプリが今後どのような評価を受けていくのかを見ながら考えていくことにします。
本アプリのプロモーションについて
本アプリのプロモーションをどうするのか考えています。まあまずは何もせず、App StoreとGoogle Playのランキングを見ていきます。アスキーさんへの開発ブログ記事は送付させて頂きましたが、そこどまりでちょっと様子を見ます。想わぬバグ等が報告されないか、ユーザーの皆さんにどう評価されているか等を見て考えていく予定です。なにか面白いことがあればこのブログでも紹介させて頂きます。
最後に
3月前半までUnity活動ができなかった反動で、新作アプリ3本(冒険、音楽、サッカー)、旧作アプリ2本(潜水艦、空母)大修整と一気に連続開発しましたが、少しペースダウンする予定です。次は戦艦大修整かな。ダイナミック顔化けアプリもちょっとやりたいけど、そして本当はネットワーク対応をやりたいのだけど、概念が難しすぎていつも途中で断念。まあ考えます。
以上