« iAppli初挑戦! | トップページ | iアプリ Audioのループ再生 »

2006年6月19日 (月)

アプリケーションに誤りがあります

携帯電話用RPGゲームエンジンを作成しようという
ひそかな野望をもった私は、とりあえず
RPGツクールに入っている素材画像と
テトリスサンプルをお借りして
くちくちとJavaクラスを書いてみた。

Gif画像を表示して音楽をならすところまで
DoJaエミュレータで確認した段階で、
「このへんで実機で確認したいな」
と考えた。

.jar ファイルと .jam ファイルをFTPで
ホームページにあげたところで、携帯から
おもむろに、「ダウンロード」

・・

すると、なんとこんなエラーが!

「アプリケーションに誤りがあります」

えっ!


そうきたか。。
エミュレータで確認したのに・・

まず疑ったのが、音楽のファイル。
どこかのMIDIサイトからひろってきたMIDIファイルを
そのまま使ったが、わがSH901iSは対応していないのかも・・
という疑いだ。

ファイルをRPGツクールに入っている mld ファイルに交換して
もう一度テスト。

やっぱり

「アプリケーションに誤りがあります」

がでる。


こんどは、音楽再生ロジックをコメントアウトしてトライ。

⇒まだきえねぇ

なんだよなんだよぅ。。
MediaImageとかMediaSoundクラスの使い方がまずいのか?

ということで、GIFファイルを表示しているロジックもコメントアウト。

⇒それでも、無常にも「誤りがあります」のメッセージ・・


! ひょっとして、EB社の凶悪なプロテクトが
GifファイルやMldファイルにかかっている?

普通のGifにそんなものを組み込む余地はないが、
Docomoが独自拡張したりしてるかもしれない・・・

むっぅぅ・・・

と、EB社にあらぬ疑いをかけたところで、
ここで気がついたです。

「そういや携帯ってアプリサイズちっこくないと
 だめなんかなぁ・・」

ドキュメントをあさると、初期のiアプリは、10Kb
が上限とかいてある。

ぐへぇ。。 10キロってあーた。
8ビットパソコン時代みたいなこというんかいな・・

サーバサイドプログラマにとって、
かなりのカルチャーショックでしたよ!

10Kってさ、頭じゃわかるんだけど、やっぱ、
異文化・異次元だよ。。

ググると、 ファイルサイズ小さくするために、
クラスやメソッド名を短くするだとか、そんなことが書いてある・・

  いやだぁぁぁ~;;

まあいい。 

とりあえず動かそうということで、
ツクールさんからお借りした画像をresディレクトリから
サクサク消して再ビルドしたら、ちゃんとダウンロードできますたよ。。

なーるほどねぇ・・

実際のところ、SH901iSの時代までくると100KBまでは
いけるようだが、10KBが100KBになったところで、
やはり別次元。。

100KBっていうと、最近の普通のWebページの
1ページサイズぐらい?

その容量でで数時間遊べるアプリをつくるというのだから、
やっぱり、すごいもんだよ。。


ちなみに、SH901iSでダウンロードした
ドラゴンクエストやファイナルファンタジーは

アプリ: 100KB
データ: 500KB

となっていた。たぶん、画像とか音楽などを
データ領域にもっていってる気がする。


それと、半年前ぐらいに遊んでたナムコの
Tales of Breakerというソフトは
画像もきれいで、声まで出てた代わりに、

6章それぞれが1アプリにわかれていて、かつ
マップが切り替わるたびに通信してた。

そんときは、なんでマップ切り替わるたびに
パケ代かかるんや~ と思ったが、今は納得したよ。

よし、んじゃ、やることリスト!

 1.まずは、500KBのデータ領域のほうに画像と音楽を入れる仕掛けを勉強
 2.そんでから、Jarファイルの中身をいじってメソッド名を短くするツールを選定
 3.1年前に考えたXMLベースのゲームエンジンをもちょっとちゃんと設計する。
 4.最後にXMLのバイナリ化仕様決めてエンジン実装。

そんな感じかのぅ。。

まずは、3も、最初はアドベンチャーゲームやクイズゲーム対応が
限度かな。。その次にRPGに向けてバトルシーンとフィールドシーンをつくるか。

一応クラス設計としては、以下のような形に

Game
 <>
|
Scene <|-- MovieScene (タイトル画面・エンディング・途中のムービー等: フラッシュ的なつくり)
<|-- FieldScene (フィールド移動: スクロールだとか、タイルチップセットとか、そういうの)
<|-- BattleScene (敵とか、エフェクトとか、そういうの)

<>--BackgroundPicture
<>--Sound


グラフィックのことをGraphic という名前にすると Graphicsとまぎらわしい&
写真はどっちにしろつかわないので、Gifだろうと何だろうとPictureって言葉をつかうと
いいかなとおもったよ。

そいと、BGMという命名は効果音とか実装できないし、
Soundという名前でバッティングしなそうなので、これは採用かな。

それと、中間レベルAPI群として
Flashみたいにネスト・拡大縮小回転・フィルタ適用可能な
グラフィックコンテナSymbolという考え方は使おうとおもう。

あとは、EventとEventFlow 。。
名前はEventなのかなぁ。。

・・ってこんなにクラスを増やしすぎると、分かりやすくなるかもしれないが
サイズが・・

いや、まずは、わかりやすく作る。

その後、クラスをまとめたりして省リソースを目的に
リファクタリングすればいいかな。。

というか、XMLのスキーマは、わかりやすくするのを第一義にすべきなので、
こういう設計をすることが必須。

んで、最初は、スキーマと素直に1対1対応するクラス群をつくって、
そのあとでダイエットすればいい。。かな。


« iAppli初挑戦! | トップページ | iアプリ Audioのループ再生 »

JAVA」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: アプリケーションに誤りがあります:

« iAppli初挑戦! | トップページ | iアプリ Audioのループ再生 »

Haruya's Violin

2023年5月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

最近のトラックバック

無料ブログはココログ