たけうちのGBA開発記
2004.04.22(木)

 昨日買ってきたフラッシュROMにソフトを書き込む。VisualBoyAdvanceだと、通信対戦のチェックが出来ない(知らないだけかも)ので、いちいち実機で確認。2個焼かないとならないから結構面倒くさいなぁ…。で、通信対戦だとタイマー割り込みを1個使うので足りない!仕方なく、サウンドドライバの割り込みをタイマー3から垂直同期割り込みに。垂直同期だと分解能が良くないんだけど、そういう曲を作ることで解決しようか。N天の純正サウンドドライバも垂直同期で動いているっぽいし。

 つづく。

2004.04.20(火)

 対戦のプログラムを作りたくなったので、会社の帰りに新宿のヨドバシカメラに寄る。どうせならという事で、GBA-SPファミコンカラーと対戦ケーブルをゲット。

 つづく。

2004.04.19(月)

 「The Race」をバージョンアップ。拡大縮小入れたり、煙を入れたり。見た目を結構いじったかも。画面左上のレーダーも回転するようにしました。

 つづく。

2004.04.18(日)

 「The Race」をバージョンアップ。回転を完成。チェッカーフラグっぽくなった。でも、目が回るな、これ…。しかし、行列変換は何回やっても難しい。頭の中でやるとこんがらがってしまって結局修正の重ね合わせで動くようになる。もっと、数学勉強しておけばよかった。

 つづく。

2004.04.16(金)

 「The Race」をバージョンアップ。とりあえず、回転系をいじってます。バグ取れね〜。でも、先は見えてきたので何とか、この土日で完成させたいところ。ここまで来たら3Dに走ればいいのかもしれないけど、あえてマリオカートよりもチェッカーフラグを選ぶ。

 つづく。

2004.04.11(日)

 「The Race」をバージョンアップ。バグ潰し。表示関係の改良。敵の思考ルーチンの改良。今まで、コースに引っ張られる感じだったので、早いタイムが出なかったんだけど、コースを先読みするようにしたらかなり早くなった。っつ〜か、コンピュータに勝てなくなった(笑)。久し振りに倒れるまでプログラミングした。やっぱ、好きにプログラムが組めるって楽しいなぁ。

 つづく。

2004.04.10(土)

 「The Race」をバージョンアップ。システム周り。コース追加。メニュー追加。SRAM保存など。普通なら、iアプリとGBAと交互にいじってたらゴチャゴチャになると思ったけど、GCCとJavaだからあんまり混乱しなかった。

 つづく。

2004.04.08(木)

 「The Race」をバージョンアップ。タイトル画面。ランキング表示、コンフィギュレーション、サウンドテスト、スタッフ表示など。段々ゲームっぽくなってきた。で、実は曲も鳴ってたりします。スーパーQIXだったりするけど(笑)。

 つづく。

2004.04.06(火)

 「The Race」をバージョンアップ。システム周りとか。スタートとゴールの判定。処理メーター。

 つづく。

2004.04.05(月)

 「The Race」をバージョンアップ。最初はBGでスクロールをしようと思ってたんだけど、iアプリのデータをそのまま使えるので、32x32ドットのスプライトを並べるという力技を使用。昔のラインバッファの機械じゃ考えられない事だ。ネオジオだったら当たり前の事だけれども(笑)。とりあえず、動きは完成。Java→GCCは簡単に移植が出来て楽だ。クラスを構造体とか関数に直すだけだし。ただ、V-SYNCで動かすので、速度のバランス調整に手間取った。でも、やっぱ1/60秒で動くっていいなぁ。ちなみに、iアプリは今の携帯だと320x240ドットとQVGAの画面サイズが使えるのに対して、GBAだと240x160ドットと半分になります。なので、動かしたら結構狭くて大変だった。

 つづく。

2004.03.30(火)

 しばらく放ったらかしだったGBAに手を付けてみる。久し振りにいじったから忘れているなぁ。とりあえず、iアプリで動いている「The Race」を移植してみる。まずは、テストモードなど。あっさり動いた。ついでに、スプライトのキャッシュを8x8ドットから16x16ドットに変更。

 つづく。

2003.11.06(木)

 背景とのヒットチェックを付けました。あと、タイム表示とLAPタイムを表示。ちょっとゲームっぽくなったかも。かなり高速で走っているので、それだけで気持ちいいかも。時間を付けるとそれだけで熱くなってしまう(笑)。

 つづく。

2003.10.30(木)

 少しだけバージョンアップ。背景が朝焼けになりました。1枚絵の車も表示しました。何故かインターグレイです(笑)。実は、背景もナイストの1面の背景だったりします。

 つづく。

2003.10.28(火)

 久し振りの更新。仕事が忙しくて、全然手が付けられませんでした。あと、仕事で三次元いじってたら楽しくてポリゴンに夢中になってたってのもあるし。って、事で、ちょっとだけ時間を作っていじってみました。今度は三次元です(笑)。所謂、Mode-7もどきってやつですか。とりあえず、描画ルーチンはほとんど出来たっぽいので、ヒットチェックとか、絵をもう少し何とかするとか、いろいろやりたい事が出てきます。

 つづく。

2003.10.13(月)

 少しだけ時間が出来たのでいろいろいじっていると不具合が…。まず、PCGキャッシュ。キャラクタの容量が大きすぎるとキャッシュ判定用のバッファが溢れてしまいました。やっぱ、32Kバイトはかなり狭いです。アルゴリズムを変更しないと駄目かも。あと、ダイレクトサウンド。Hブランク割り込み、所謂ラスター割り込みを使用するとDMAチャンネルの割り込みが遅れてしまいます。DMA1でSEを鳴らしているのですが、きちんと停止しないで、少し次の音が鳴ってしまいます。Hブランク割り込みを停止したらきちんと動作したので、多分これが原因だと思います。ラスター割り込みも使い所が重要かも。

 つづく。

2003.10.02(木)

 仕事が忙しくなっちゃって全然遊べてないんですが、ちょっとシステムを更新したので、ここのページも更新。まぁ、全然違うゲームなんだけど(笑)。そのまま移植っていうより、同じキャラを使って全然違うゲームが作れないかなぁ、と。その方が作ってて多分楽しい。

 つづく。

2003.08.15(金)

 ネタも無いのでシューティングを進めています。というより、システムを更新しているのでシューティングの様なハードなゲームの方がチェックしやすいので。システムはPCGキャッシュ、パレットキャッシュを組み込んだので、キャラクタが増える毎にGBA用のVRAM構成を考えなくても良くなりました。

 つづく。

2003.07.31(木)

 すっかり更新を怠ってます。何か、意味も無く疲れが溜まってしまって作業が滞っています。と言うより、単純にネタが無いだけなんだけど。やっぱシューターはシューティングを作ってる方が楽なのかも。とりあえず、タイトル画面にラスタースクロールを組み込んでみました。この処理もかなり懐かしいなぁ。ますますX68000をいじっている感覚になります。

 ゲーム画面。何故か、横スクロールゲームになってたりして。一応、上下にも動けます。これでスーパーマリオブラザーズのようなゲームもオッケー。いろいろ対応できるようにしたのはいいけど、ネタが無いんだよなぁ。ホント、考えれば考えるほど出てこなくなる。

 つづく。

2003.07.13(日)

 どうも、今使っているサウンドドライバーだといつも聴いているPSGよりも音が高くてキンキンしているので、あんどに聞いてみたらどうやら1オクターブ高く鳴っていたみたいなので、修正したら聴き心地のいいPSG音になった。やっぱ、音は音屋だなぁ。という事で、シューティングの方も一緒に更新。ついでに、中ボスも付けてしまいました。明日からまたコミカル系のシューティングに戻る予定。

 つづく。

2003.07.12(土)

 週末のブルーな事件もこれを完成させればきっと光が見えると勝手に希望を持ちつつ開発再開。画面を見ると硬派なシューティング画面はどこ吹く風。物凄く雰囲気が変わってしまいました。プレイヤーがどこかで見た事があるキャラクタなのは気のせいって事で(笑)。そのうち直します。と言うか、仮キャラだし。

 前にGBAのPSGって音悪いな〜。と書いたのですが、あんどにパラメータの指定が悪いと指摘されたので修正。おお!綺麗な矩形波になった。GBAさんごめんなさい。しかし、チャンネルが足りねー。やっぱ、きちんと音を演奏するには、PCM合成ドライバは必要なんかな。でも、でかくなるんだよなぁ。

 つづく。

2003.07.09(水)

 ようやっと作るものの方向性が決まってきたのに、そういう時に限って仕事が忙しくなる…。という事で、あんまり進んでいません。サウンドドライバがダイレクトサウンドに対応したくらい。これで、PSG+PCM同期演奏が可能になりました。って、GBAのPSGって音悪いな〜。指定の仕方が悪いのかな…。

 つづく。

2003.07.07(月)

 すっかりサボり気味(笑)。と、言う訳でもないんですが。ようやっとサウンドドライバの音が鳴りました。音関係はいつやっても難しいなぁ。しかも、まだ完成してないし。あと、まだ途中なので恐ろしい事に、V-SYNCで動かしています(笑)。

 つづく。

2003.07.01(火)

 もう一週間も経っちゃったよ。ほとんど出来てない。まぁ、急ぎじゃないんでコツコツやっていこう。今日の作業は敵本体と自機、敵弾と自機のヒットチェック。自機の爆発&復帰。敵弾自動方向サーチ。SIN(サイン)とかCOS(コサイン)なら何も考えないでよく使うけど、ATAN(アークタンジェント)なんて久し振りに使ったから思い出すのが大変だったよ。何とか、敵がプレイヤーに向けて弾を発射するように出来た。自前のアークタンジェントテーブルを引っ張り出してきて(笑)。あとは、BGのスクロール。地球がでかいので4画面分しか持てません(笑)。16色にすればもう少しいろいろ詰め込めるかな。キャラジェネに詰め込む作業も懐かしい作業工程だな。最近、懐古(回顧?)モード入っているなぁ。

 つづく。

2003.06.30(月)

 今日はグラフィックの追加など。X68000からMOやRS232C経由でデータを持ってくるのが結構面倒臭かったり。それよりも、最初にGBAで物を作る切っ掛けが既に無くなりそうな感じなので、メンタル面で微妙だ(笑)。まぁ、とりあえず、作りかけてしまったので完成まで持っていくけど。今日の主なプログラムは敵編隊と敵の管理。プレイヤーのショットとヒットチェック。これでちょっとはゲームっぽいかも。と言うか、ゲームとしてはこれからが問題なんだけど。

 つづく。

2003.06.29(日)

 さて、最近止まっていた更新でも。一応システムの方をいじっていて大体タスク管理は完成。サブルーチンも増えつつあります。文字列表示関連から、パレット操作関連。で、ちょっと実行チェックのためにシューティングなんかを。まぁ、まだゲームになってないけど、結構画面だけはそれっぽい(笑)。

 つづく。

2003.06.28(土)

 注文してあったFA2LinkerUSBが到着したので早速繋いでみようと思ったんだけど、実はGBA本体を持っていないので、新宿まで買いに行った。携帯ゲーム機なんて買ったの何年振りだろ。ゲームボーイを12年位前に台湾で買った以来かな。で、早速繋いでFA2Linkerを実行。ソフトも難しくないので、普通にフラッシュROMに転送して実行。電源オン!おお!動いた!やっぱ、実機で動くと断然やる気が出てくるなぁ。何を作るか決めてないけど(笑)。しかし、ゲームボーイアドバンスSPでも画面が暗いな…。ゲームボーイアドバンスよりはましなんだけど。

 つづく。

2003.06.25(水)

 今日はタスク管理とテストモード。基本設計なので慎重に組まないと後であれ付ければ良かったとか、変更が多いと困るので難しい。まぁ、何でも出来るタスクは楽だけど、処理が重くなる。で、テストモード。クロスハッチ→カラーバー→入力テスト。メニューから選べるようにしようとも考えたけど、そもそもコンシューマなので、このモードも使うかすら謎だからな。っつ〜か、最近、仕事で一番最後にこの仕事やらされた時には( ゚д゚)ポカーンだったけど。しかし、グラデーションが4色は流石に今の時代では少ないな。

 と、入力テスト。旧タイトー仕様って所で(笑)。しかし、懐かしい画面だ。ちょっと画面が狭いのできついけど。使ってないボタンもあるので、その内にGBA仕様に変更しよう。ボタンが、FIREとWARPだし(笑)。第一、LがオンでHがオフなんて今のゲーム屋さんに理解できるのか?(笑)

 さて、システムも完成しつつあるので、そろそろどんなゲームを作るか考えとかないとな。え?地図?(笑)

 つづく。

2003.06.24(火)

 今日は文字列を表示する部分を作成。Cを忘れかけてたので、ちょっと時間が掛かってしまった。あと乱数処理も。しかし、「TINY GAME SYSTEM」なんて、懐かしい文字列だな(笑)。で、何だか、「ADVANCE」を付けなくちゃならないような気がしてきたので、追加(笑)。今日は仕事が無闇に忙しかったので、帰りも遅くてほとんど何も出来なかった。明日はテストモードでもやりたい。

 つづく。

2003.06.23(月)

 しばらくは手を付けないだろうと思っていた、GBA(ゲームボーイアドバンス)開発に手を付けてみた。切っ掛けは、まぁ、いろいろあるんだけど、とある人がGBAのゲームを買ったのが一番の切っ掛けとしておこう(謎)。

 まずは、ツール類を手に入れる事から。運良く、あんどが先駆者となってくれていたお陰でツールのダウンロードから開発環境設定まで難なく手に入れる事が出来た。持つべきものはいい後輩である(笑)。

 で、早速サンプルプログラムを落としてきて勉強。取り敢えずは、やる気を起こさせるために、例によって「水野あおいちゃん」の写真を出力する事にした。これは、どのゲーム開発でもやってる事で、「Hello World!」何かよりもよっぽど習得が早くなる道である(笑)。今となっては別の写真でも入れたいところだけど、写真を持ってないとか、あおいちゃんの写真の方が公開にあたって問題も無いかなと。まぁ、前置きはこれくらいにして。

 と言っても、サンプルのデータを差し替えただけなので、何の問題も無く動作完了。動作確認用のエミュレータとして、VisualBoyAdvance を選んだ。これは難しい設定も無く、簡単に動作するので素晴らしい。日本語パッチも公開されているので便利。

 さて。

 ちょっとはやる気が出た所で、今度はゲームのシステムを構築していく事から。GBAは普通のコンシューマ機の様にスプライト(OBJ)とタイル(BG)があって、それぞれ独立して表示、移動が出来る(らしい)。まずは、スプライトとタイルの表示を実験してみよう。

 何が面倒臭いって、キャラクタのデータをGBAの仕様に合わせてグラフィックを作るのが一番最初にやらなければならない事。まぁ、これもツールがかなり揃っているので、多少の英語と技術があれば比較的楽にデータを作れた。いちいちROMを焼かなくてもいいので、NEOGEOとかをやってた頃とは雲泥の効率の差だ。と言う事で昔取った杵柄。X68000の時に溜めてあったフォントデータのストックやらを持ってきたり。

 で、たったこれだけなんだけど、何だかワクワクして来たぞ(笑)。という事で、今日はたった数時間しかいじれなかったけど、終わり。



(C)2003 Hisanori Takeuchi. All rights reserved.
当ホームページに掲載されているあらゆる内容の無許可転載、転用を禁止します。
すべての内容は日本の著作権法及び国際条約によって保護を受けています。