2009年01月21日

Flash Liteで携帯ゲームを作りました。

君色少年携帯ゲーム

基本的に、ほぼ携帯電話に依存しない生き方をしている私には、今後のインターネットの世界において、PCのシェアをモバイルが上回るというのは到底信じられない(信じたくない)のですが、どうもそういう時代が訪れそうですね。
そういうわけで、決して無視する事のできないモバイルコンテンツの世界を、今から少しでも勉強しておこうと思って携帯ゲームを作ってみました。
100マス計算法の要領で、50問の計算問題を素早く解いていくというものですから、小さなお子様の算数のお勉強などに役に立つのではないかと思います。

以下が「君色少年の計算修行」ゲームです。
モバイル用にFlash Liteで制作していますが、PC用のFlash Playerでも問題無く動きます。
操作方法は、携帯電話のボタンの代わりに、テンキー(キーボードの右側にある数字専用キー)を使用して下さい。
ただし、その際は文字の入力モードを直接入力にして下さい。
うまく動かない場合は、画像の上をワンクリックしてから動かしてみて下さい。
それでは、全問正解目指してがんばってくださいね!




携帯電話で遊ぶ方は、以下のQRコードを読み取るか、URLを直接入力して下さい。

QRコード
http://yourcolor.up.seesaa.net/image/mathgame.swf



以下は、今回の制作で感じた事や苦労したところのメモです。

携帯ゲームを作ろうと思ったきっかけ


最初の方にも書きましたが、これからモバイルのシェアはますます拡大していきます。
もちろん世の中のインターネットサービスは、ユーザー第一主義ですから当然です。
「携帯サイトは、できる事が限られているし、作ったらそれで終わりだから開発に力を入れない。」というトンチンカンな事を堂々と言ってるWEB制作会社もありますが、数年後には置いていかれる事になるでしょうね。
そんなわけで、私も携帯サイトの魅力を探ろうと思い、あわてて行動し始めたというのが理由です。
もう一つの理由としては、君色トリオ&少年に、早く登場する場を作りたかったというのが親バカな本音です。

モバイル対応は大変?


最近の携帯電話は、Flash Lite2.0とかFlash Lite3.0とかに対応した、すでに携帯の域を超えた携帯もあるようですが、私が今回のゲーム制作にあたって選択したFlash Liteのバージョンは1.0です。
私の環境では1.1での制作も可能ですが、下位バージョンとの互換性があるので、1.0で制作しています。
これは、Flash4程度のアクションスクリプトに制限されるという事ですが、モバイルという、いろんな意味で制限されたプラットフォームにおいては、十分すぎるぐらいの機能を持っていると思います。
それよりも問題なのは、ファイルサイズ100KB以下という、モバイル対応へのひとつの大きな壁が存在している事です。

きちんと表示されるのか不安


ゲーム中の画像は全てベクターデータで作成しているので、「インタラクティブ再生」での表示サイズ変動にも柔軟に対応してくれると思うのですが、得点表示またはゲーム終了後のひと言など、デバイスフォント部分が各携帯端末によってどのように表示されるのかが非常に気になるところです。
実機ではD902iでのみ確認したところ、デバイスフォントに多少のズレがありましたが気にしません。
デバイスエミュレーターでは数機種で確認済み。

マスクレイヤーに苦労した


このflaファイルのメインタイムラインは以下のようになっていて、一番下のレイヤーにタイトル画面やゲーム本体を格納しています。
Flashファイル内タイムライン
swfファイルに直接アクセスする「インタラクティブ再生」では、Flashで設定したつもりの表示領域部分以外がチラリズムしてしまう可能性があるので、イラストのはみ出し防止策として、メインタイムラインでマスクレイヤーを使用していたのですが、なぜかムービークリップ中のダイナミックテキストに処理結果が表示されない状態になってしまいました。
ムービークリップの中にマスクレイヤーを作成すると、きちんと表示はされるのですが、レイヤーのタイトル部分の見た目がシンプルではなくなるのでやめました(おいおいっ)
結局、この問題は解決していないのですが、もともと表示領域部分以外をグレーにしたかったので、マスクレイヤーを廃止し、中マド処理に変更する事でスッキリしました。

問題数を全50問にするしかなかった


はじめは、問題数は30問にしたかったのです。
問題を解いていて、集中力の続くちょうどいい数のような気がしたからです。
ところが、制作工程の最後の部分で壁にぶつかりました。
それは、ゲーム最後に正解率を表示させているのですが、この仕組みを単純な計算式によって導き出したかったからです。
全30問の場合だと、正解数に3.33をかけるのが一番近いのですが、これでは正確ではない上に、全問正解しても、正解率が99.9パーセントになってしまいます。
もし私がユーザーの立場なら、全問正解したところに正解率99.9パーセントとか出されたら、ちょっとだけイラッとします。
それならば全20問にしたらどうだろうと思いました。
これなら
par=good*5;
(parはパーセントの事でダイナミックテキストの変数、goodは正解数だよ)
だけで解決できるし、いいかなーと思ったのですが、今度は20問は少なすぎる気がしてきました。
実際プレイしてみても、比較的すぐに終わるし、簡単に全問正解できました。
これでは、集中力を磨く訓練にもならんなーとか矛盾した事を考えたわけです。
よし、それならば50問にすればいいじゃん!
par=good*2;
で解決じゃんじゃん!という事で、全50問になるべくしてなってしまったのです。

アニメーションを増やした


ファイルサイズ100KB以下が大きな壁と書きましたが、実際のところ、このゲームはイラストなども含め、最初は35KBで完成しました。
まだまだ余裕があるなーと思って、何か他の機能を付け加えようと思ったのですが、これは「蛇足」になってしまう黄金パターンだと思いやめました。
そのかわり、「君色トリオ」と「少年」のアニメーションを増やしました。
これにより、現在のファイルサイズは36KBになりました。
Flash内でアニメーションさせても、リアルタイムでレンダリングしているようなものなので、ほとんどファイルサイズに影響はありませんね。
実は100KBまでには、まだまだ十分余裕があります。

私は携帯で遊べない


私はスマートフォンを使用しているので、実際にはオンラインで遊ばず、ローカルで起動させています。
ActiveSynkでスマートフォン側の適当なフォルダにswfファイルを格納し、Operaブラウザ等のアドレス入力欄に直接swfファイルへのパスを入力すれば再生されます。
同じくローカル再生させようと思っている人は、パソコン内のTenporary Internet filesから「mathgame.swf」をどうにかして手に入れて下さい。

デザイナーでもなんとかいけそう


最近のFlash(PC版)は、オブジェクト指向色が強くなったとかヘチマだとかで、デザイナー寄りの人間には非常に頭の痛い傾向です。
もともとFlashなんて、デザイナーやイラストレーターの専売特許なソフトウェアだったのに、ActionScriptの発展と共にじわじわとプログラマー人口が増えてきたように思います。
デザイナーやイラストレーターの頭の中は、プログラミングを理解できるつくりにはなっていないので、純粋にActionScriptだけでは、プログラマーに歯が立たないのは当然です。
ところが、Flash Liteの場合は、まだまだデザイナーにも希望がありそうです。(Flash Lite3.0は別ですが)
というのも、簡単なアクションスクリプト+フレーム(タイムライン)での開発がメインになり、そこにイラストなどの要素が加われば、発想次第では魅力的なコンテンツが作れるはずです。
これも、現在のところはFlash Liteに多くの制限があってくれるからなんですけどね。

モバイルコンテンツを作るのは結構楽しい


以前の、制限する事で、発揮できる力。というエントリーでも書きましたが、機能が制限されると妙に燃えます。
これは製作者の立場から見れば、携帯サイトを作る上での1つの魅力だと思います。
上記のトンチンカンな会社の場合は、PCとモバイルを混同しているので、あのような発言が出てしまうのでしょう。
テレビ、ラジオ、紙、PC、モバイルというように、1つの異なるメディアとして考えれば、十分魅力的な世界ですよ。
タグ:Flash ゲーム
この記事へのコメント
携帯FLASHもやってたんですね。なんとなくふらっとページを見てました、笑

あげあし取りみたいなので指摘しようかどうか迷ったのですが、一応書く事にしました。

アップされているゲームのファイルサイズが20Kを超えているならLite1.1用だと思いますよー。Lite1.0はフィルサイズが20Kという恐ろしい制限があるので…、笑

まあLite1.1もASはFlash4レベルなのでコードとしてはほとんど差がないんですけどね。2.0だとAS2なみにレベルアップしますが、これだと使える機種が限られてくる感じですね。(最近の機種はほとんど対応してるけど)

という感じでした。ではでは。
Posted by たか at 2009年12月09日 04:21
たかさん、コメントありがとうございます。
なるほど・・・
この携帯ゲームの場合は、Flash Lite1.0環境で制作しているにもかかわらず、ファイルサイズが36kbなので、実際にはFlash Lite1.1以上に対応している機種でのみ再生されているというわけですね。
まぁ、現在のほとんどの機種がこれに対応しているとは思うのですが、実際にはFlash Lite1.0のユーザーも存在しているかもしれない事を考えると、ファイルサイズ20kb以内という厳しい制限は、かなり重くのしかかってきますねー。
残念ながら、特別な場合を除いて、今後は1.0への対応は切り捨てなければならないようです・・・
Posted by a2me at 2009年12月19日 07:06
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック