「ふにゃgba」に関する日記

投稿掲示板にて

「ふにゃgba」は、任天堂が特許を取ってエミュレータがどうのこうのとややこしいことになっているため、開発を中止することにしました。
エミュレータを使わずGBA実機に転送して遊べば問題なしなのですが、いろいろと大変なのでもうやめます。
ん?待てよ、GBA用のJavaVMを作って、動作テストはWebブラウザのJavaアプレットで行って、完成したらVMごとGBAに転送してみるとか?
要は、GBAのエミュレータをパソコンで動かすのではなく、パソコンのエミュレータをGBAで動かすということです。

「ふにゃふにゃ」用のステージをアップしました。
本当はステージ内部に潜り込めるバグがあったのですが、ほったらかしでアップしてみました。
本当はゲーム本体を改良してステージももっとよいものにしようと思っていたのですが、そのままでアップしました。
どこに?あの場所に。

「アクセス解析」で、結果表示中に途中で中断する機能を入れてみました。
ループ中にDoEventsを入れたのですけど、元々の処理が非効率的で非常識なほどに遅かったので、DoEventsを入れても以前に比べての遅さはほとんど気になりませんでした。

プレイステーション2用のメモリーカードを買いました。
これでドラクエ5が勧められそうです。
その前にドラクエ7をクリアしなければなりませんが…
ちなみに、ドラクエ7は、いつでもラスボス戦に行けるようになっていて、今は天地雷鳴師を目指して修行中です。

海外にて(ただしネット上)

ちょっと海外のゲームサイトを見てきました。
いくつか思っていたのと英語の綴りの違うキャラクターがいてあせりました。
"http://www.yoshisstory.com/"は見もの。
"GO TO GAMESITE"をクリックすると同じ場所が別ウィンドウで開きます。
あとはカービィのページで"Kirby's Dream Course"と"Kirby's Dreamland 3"を間違えているところなんか。
NOAはところどころ変な間違いをしていて面白いです。

「ふにゃgba」のスクロールの部分の構想がいくらか出来上がってきました。
(スクロール位置)=(キャラクターの位置)-(画面の大きさ)/2+(速度)*(定数)
視点ボタン(BかSelectにするつもり)押してるときは
(スクロール位置)=(キャラクターの位置)-(画面の大きさ)/2+(ボタン)*(定数)

学校で宿題として英語で物語を考えてこいとのことでしたが、とんでもなくくだらないストーリーでその場をしのぎました。

広大なマップも表示できますです

「devkitAdvance IDE」で、ウィンドウのリサイズの際うまくツリービューが動かなかったのを修正しました。
まだ機能はありませんが、オプションウィンドウをを枠組みだけ作りました。
エミュレータのファイル名を指定できたり、インクルードパスの設定などができたりします。

「ふにゃgba」のマップ管理クラスの表示部分が一応できました。
昨日書いた部分にたった2行の命令を書き加えただけですが、それだけでも5時間ほど考え込みました(その半分以上がゲームをやりながらだったことは内緒です)。
マップのシフト移動の機能を追加して、テストが済めばマップ管理クラスは完成です。

夏までには作り上げてしまいたい

「ふにゃgba」のマップ管理クラスが、もう一息で表示できるところまでいけそうです。
それとは関係なしに、タイトルの背景部分を表示できるようにしました。
思ったより単調になってしまってちょっと不満です。
その単調さは、スクリーンショットを見ていただければ分かると思います。

IDEの方も少し改良しました。
終了時のウィンドウの状態を保存しておき、次回起動時にその状態を再現します。
作業内容ではなく、ウィンドウの状態を、です。

ゲーム自体(「バナナあつめ」のほう)は、画面が狭いので、うまくスクロールを使っていけたら、と思います。
しゃがんでいる間は下が見えたり、上ボタンで上のほうが見られたり、キャラクターの向きによって見える範囲を変えたり・・・
LRボタンはヒントボタンとして使うつもりです。
そしてゲーム自体は十字キーとAボタンだけでできるようにします。
Bボタンはセーブに使おうと思っています。
それと、パレットの変更で気軽に色を変えられるので、それも使ってみようと思います。

カウンター!

「ふにゃgba」のマップ管理クラスを作りました。
例によってまだできていません。
大きなサイズのマップを扱うことができ、タイル1個の大きさを設定できたりもします。
マップデータのシフト移動(全部まとめて位置をずらすこと)もできるようにしたいと思っています。
本当ならこのクラスを今日中に作ってしまって、スクリーンショットを上げてみようと思ったんですが、できませんでした。

シールドブレイカー!

そろそろ更新しないといけないようだったので、「ByValとByRef」を更新しました。
各関数の速度の実測値があるので参考にしていただければ、と思います。
構造体とかクラスはByValでは渡せません。
ちなみに、String型がByValで遅くなる原因は、私は、文字列をいったんコピーしてからそれを参照渡ししているからだと思っています。

「ふにゃgba」のタイトルの模様の元を一通りそろえました。
その画像の下には、通常のステージ用のタイルデータを入れるつもりです。
ちょっとしたこだわりなんですが、「ふにゃgba」の色には、無彩色を除き、灰色を混ぜないようにしています。

ドルフィンスラッシュ!

ある掲示板が荒らされていたので自体が沈静化するように努力してみました。
不謹慎ですが、掲示板は時として「荒らし」という共通の困難が現れることでみんな張り切って書き込むようになるみたいです。
そうそう、ここを荒らそうとしたってすぐ削除されるだけなので意味ないですよ。
まあ、数が少なければちょっと変な書き込みとしてレスさせていただきますが。

「ふにゃgba」のマップチップを少し描きました。
今回はタイトル画面に現れる不思議な模様の元を描きました。

情報リテラシーだったからじゃないぞ

「ふにゃgba」のタイトル画像を作ってみました。
「ふにゃ」の文字だけですが。

朝、行きの電車の中で気分が悪くなって、学校を休んでしまおうかと思ったのですが、いってみれば何とかなると思って無理をしていって見ました。
そしたら今度はバスの中で急激な眠気に襲われてついウトウト…
授業を1時間受けていたら直りました。

自己紹介をちょっと更新しました

IDEを改良しました。
レジストリに記録されるウィンドウのサイズを通常のウィンドウのときのサイズにしました。

「ふにゃgba」のキー入力クラスができました。
ただ、その辺の処理が普通のWindowsプログラミングの感覚に反する仕様になっているため、もっと考えて作れよ任天堂って思ったりもしたのですが、うまくクラスでその辺の違いを隠蔽することができました。

我叫・・・

先生が日本語の名前をうまく読めなかったと言う理由で、全員に中国語名が与えられました。
私は、"ジョンダオチェンシェン"になりました。
そんなときその中国語名を使って出席を取っていて、先生が気になる一言。
先生「B君(プライバシー保護のため本名は伏せます)は何人(なにじん)?」
はて、偶然にも中学校の、変わった名前の友達と同じ名前だなぁ。
B君「在日です」
そういえば父は名前を見てあいつのことを在日じゃないかって言ってたっけな。
バスの中でB君似の人を見かけたけどきっと人違いだったんだろうな。
そう思いながら、名簿を見ると、正真正銘、中学生の頃の私の数少ない友達であったB君ではないですか。

地理の教科書を受け取って、大学で使う教科書はひとまず揃いました。

学校でWebデザインに関する本を少し立ち読みしました。
私はデザインにこだわらないシンプルなページを作っていたので関係ないと思っていたのですが、シンプルなデザインにはシンプルなデザインで役に立つことがあったので、参考になりました。
結局それを買わなかったのはお金がなかったからです。

帰宅途中、電車で降りる駅を間違え、父と同じ電車に乗って帰ることになってしまいました。
まあ、別にいいんですが。

「devkitAdvance IDE」の「全て保存」メニューを作りました。
「ふにゃgba」の開発もそろそろ本格的に始められそうです。
手始めにキー入力クラスを作り始めました(キー入力はそのままでは使いづらい)。

父に頼まれて、仕事用のソフトを作ることになりました。

ふにゃgbaですが

「devkitAdvance IDE」で、ビルドと実行ができるようになりました。
で、サンプルなどからファイルを取ってきて、掲示板の書き込みを参考にして色々makefileの設定をして、ようやくgbaファイルを作ることができました。
白い画面が出るだけです。
一応ここまでできるようになったので、IDEの開発も進めつつ「ふにゃgba」も作っていこうと思っています。
「バナナあつめ」と「ふわふわふにゃ」の2本立てになる予定です。
「バナナあつめ」は「ふにゃ」とほぼ同じルール。
ただし面クリア型ではなく広大な一つのマップ中にあるバナナを全部取り尽くすことが目的です。
「ふわふわふにゃ」もオリジナル版とほぼ同じです。
オリジナル版とは違って、画面の左右端が繋がっておらず、無限に広いステージがスクロールしていきます。
プログラム上、オリジナル版には組み込めなかったシステムです。

GBAプログラミング始めました

ゲームボーイアドバンスのエミュレータをダウンロードしてきて、コンパイラもダウンロードしてきて、いろいろ設定とかやって、"funyagba"フォルダを新しく作って、そこに適当にファイルを入れて、「ふにゃGBA(仮)」でも作ってみることにしました。
エミュレータに関しては著作権か何かがどうも微妙なような気がしますが、すでに本体を2台も買っているのできっと任天堂も許してくれるでしょう。
とりあえずコンパイラは、C++を使える「DevkitAdvance」を使うことにしました。
1個につき1万円もかかるそうなので実機での提供は困難ですが、ROMだけならできれば公開しようと思っています。
その際はそちらでエミュレータを用意していただくか、実機に書き込む環境が必要です。