現況
ゲーム中に登場するオブジェクト(プレイヤー、敵、自弾、敵弾)に関わるルーチンが全て実装できた、ということで動きはほぼ完成品と同等。
あとは文字表示とか細かい所が終わったら、いよいよサウンドドライバの組み込み。しばらく触ってなかったからリハビリが必要かも。まあそんな大規模なものではないが……
SHENZHEN I/O
話題のあのゲーム
Shenzhen I/O はまじでやったほうがいいですよ
— ラ・バンダ (@ssig33) 2016年10月24日
@pornanime 中国へようこそ!!
— ラ・バンダ (@ssig33) 2016年10月24日
ということで購入して一通り終えたので、無事に深圳工作を退職することができた。パズル性を高めるために現実のMCU(CPU)ではちょっとあり得ないような仕様になっている部分があって、教育用ソフトとしてはどうかな……と思った。
現況
猫4匹を同時に動かす負荷のテスト。スーパーファミコンのプログラムを書く場合、テレビ画面の走査線が一巡する時間を基準に処理負荷を考える。前提知識として、SFCのプログラムは以下のようなサイクルで動いている。
- 走査線の位置がY=224(画面の下端)に達するとVBLANK割り込みが呼ばれる
- 224から、255に達するまでの間は画面上に走査線が無く、CPUからVRAMにアクセスして描画処理が可能になる。逆にこれ以外のタイミングではPPU(今で言うGPUのようなもの)がVRAMを占有しておりアクセスに失敗する。
- 255の次は0に戻って、画面の上端から走査が始まり、再び224に達すると最初に戻る
<注>
- ここで言う「描画処理」は現代のPCとは違って「描画処理に使う設定情報の更新」と言った方が正確。実際の1ピクセル単位の描画はPPUが行う(だから超低性能のCPUでもゲームを動かすことができる)
- 本物のテレビはインターレース・スキャンだけど、プログラムを書く上ではプログレッシブ・スキャンのイメージで大丈夫
ということで、つまり走査線の位置が次に224に達するまでの間に当たり判定などの処理が終わらないと描画処理に入れなくなり「処理落ち」の状態になってしまう。SFCではプログラムから走査線の位置を取得できるので、これを見ればどれくらい処理に余裕があるかベンチマークを取ることができる。
猫4匹が走っている+自弾を撃っている状態で3Ah(58)ということでかなり余裕があり、猫3匹で処理落ちしていた以前のプログラムより随分進歩した。自弾と敵の衝突判定などもこれから入ってくるが、この様子だと大丈夫かな、多分。
スーファミ進捗
Windows上で作ったプロトタイプをスーファミに移植していく。
一番面倒な衝突判定のコアが意外と早く移植できたので、それなりのデモとして動く感じになった。
↑ スーファミ実機でテスト中の様子
↑ こんな感じでCのソースを見ながらアセンブリに写経していく。アルゴリズムはC版を作った時点で固めてあるので、この時点ではもう何も考えることがなくなっており、効率が良い。急がば回れということ。
ニンテンドークラシックミニ ファミリーコンピュータ
ボーっとしてたら一瞬で完売していた。年末までに復活してほしいが……
ハードの中身を一切変えずにスーファミ版が出来ると思うんだけど、食い合うような製品を同時に出すわけはないね。来年かなあ。せめて半年で、なんとか。
近況
DORANEKO SLAYER
タイトル → メイン(本編) → エンディング までが一通り揃った形に。来週余裕があれば本番実装(SFC版)に入れるかな、というところ。
PAのロゴはコナミ+コンパイルのつもりで作ったんだけど「データイーストみたい」と言われてしまった。
ロゴがメタリックならデータイーストか?
Humble Bundle の NeoGeo Classics Pack 4 を買った
はい。殺すはよくない。
別に格闘ゲームは得意じゃないんだけど、真サムは出た当時ベーマガが(どう考えてもライターの趣味で)プッシュしまくっていたので、ゲームセンターなんて一切行かないのに内容はよく知っていた。そういえば闘技場のタイトルも「真」になってたっけ。今から考えると「BASIC」マガジンに延々とサムスピの話が載っているのは完全に意味が分からないけど、皆さんいつかこういうプログラムが作れるようになるといいね、という目標として載せていたのかもしれない。まあ趣味だろうけど……
ドット絵を描いた
NEW GAME! 最終回記念にドット絵を作ったのでどんどん承認してください
— 涼風青葉は私たちに微笑みかける死体 (@pornanime) 2016年9月20日
(劣化無し) https://t.co/QR93wwTfQl pic.twitter.com/UctRq3EjYU
絵自体は猛暑の頃からダラダラ描き溜めてたんだけど、気付いたら最終回の時期になっていたのでモーションを2日集中でガッと付けた。おかげで寝不足になったので本業圧迫で怒られないように頑張って平静を装っている。
はい
今月、作曲のninoさんがお忙しいということで、その間にゲーム本体のほうを見直していた。
具体的に言うと、ラン系ゲームならプログラムが極限まで単純になるかなと思ったら意外とややこしくなってしまったし、その割に大して面白くねえなと思ってゲームデザインからやり直すことにした。
エターナってないか、元気でいるか、街には慣れたか。
まあとりあえずアイデアはまとまりました。
こんな感じで魚を盗みに来る猫を退治するゲームに。
尚、これはスーファミで動くプログラムではなくて、Windows向けにCで書いたプロトタイプ。ただし、グラフィックやプログラムのロジック等、スーファミ実機で実現できる見込みのものしか使わないという縛りを入れてあるので、スッと移植できる……筈。多分。ただ、猫4匹を同時に動かして処理落ちしないかどうかは微妙なラインではある。(以前の2匹で限界だったプログラムに比べるとだいぶロジックが簡略化されてはいる)