Hello, my name is pornanime.

現況

ゲーム中に登場するオブジェクト(プレイヤー、敵、自弾、敵弾)に関わるルーチンが全て実装できた、ということで動きはほぼ完成品と同等。

あとは文字表示とか細かい所が終わったら、いよいよサウンドドライバの組み込み。しばらく触ってなかったからリハビリが必要かも。まあそんな大規模なものではないが……

SHENZHEN I/O

話題のあのゲーム


ということで購入して一通り終えたので、無事に深圳工作を退職することができた。パズル性を高めるために現実のMCU(CPU)ではちょっとあり得ないような仕様になっている部分があって、教育用ソフトとしてはどうかな……と思った。

f:id:gyuque:20161106214213p:plain

現況

f:id:gyuque:20161031192445p:plain

猫4匹を同時に動かす負荷のテスト。スーパーファミコンのプログラムを書く場合、テレビ画面の走査線が一巡する時間を基準に処理負荷を考える。前提知識として、SFCのプログラムは以下のようなサイクルで動いている。

  • 走査線の位置がY=224(画面の下端)に達するとVBLANK割り込みが呼ばれる
  • 224から、255に達するまでの間は画面上に走査線が無く、CPUからVRAMにアクセスして描画処理が可能になる。逆にこれ以外のタイミングではPPU(今で言うGPUのようなもの)がVRAMを占有しておりアクセスに失敗する。
  • 255の次は0に戻って、画面の上端から走査が始まり、再び224に達すると最初に戻る

<注>

  • ここで言う「描画処理」は現代のPCとは違って「描画処理に使う設定情報の更新」と言った方が正確。実際の1ピクセル単位の描画はPPUが行う(だから超低性能のCPUでもゲームを動かすことができる)
  • 本物のテレビはインターレース・スキャンだけど、プログラムを書く上ではプログレッシブ・スキャンのイメージで大丈夫

ということで、つまり走査線の位置が次に224に達するまでの間に当たり判定などの処理が終わらないと描画処理に入れなくなり「処理落ち」の状態になってしまう。SFCではプログラムから走査線の位置を取得できるので、これを見ればどれくらい処理に余裕があるかベンチマークを取ることができる。

f:id:gyuque:20161031192240p:plain

猫4匹が走っている+自弾を撃っている状態で3Ah(58)ということでかなり余裕があり、猫3匹で処理落ちしていた以前のプログラムより随分進歩した。自弾と敵の衝突判定などもこれから入ってくるが、この様子だと大丈夫かな、多分。

スーファミ進捗

f:id:gyuque:20161016150140p:plain

Windows上で作ったプロトタイプをスーファミに移植していく。
一番面倒な衝突判定のコアが意外と早く移植できたので、それなりのデモとして動く感じになった。


スーファミ実機でテスト中の様子

f:id:gyuque:20161016150425p:plain
↑ こんな感じでCのソースを見ながらアセンブリに写経していく。アルゴリズムはC版を作った時点で固めてあるので、この時点ではもう何も考えることがなくなっており、効率が良い。急がば回れということ。

ニンテンドークラシックミニ ファミリーコンピュータ

f:id:gyuque:20161016151304j:plain
ボーっとしてたら一瞬で完売していた。年末までに復活してほしいが……
ハードの中身を一切変えずにスーファミ版が出来ると思うんだけど、食い合うような製品を同時に出すわけはないね。来年かなあ。せめて半年で、なんとか。

近況

SFC

背景グラフィックをプロトタイプ版からSFC版に移植する作業。
実は厳密に制限を考えながら描いていなかったので不安だったけど、ギリギリ16色×7パレットに収まった。ハードの仕様上、BGは8パレットまで使えるが、1つはテキスト表示に使うので、背景の絵は7パレットで描く必要がある。ただし、スプライトはこれらと別にパレットを持つのでさらに表示色数を増やせる。スーファミ凄い。

f:id:gyuque:20160929011109p:plain

似たような色が重複していてあまり上手い使い方ではないんだけど、技が極まるのを待ってると人生終わりそうなんで、これで行きます。

その他

実際問題、いまさらメガドラ新作ソフトを作れるのか?セガにぶっちゃけ聞いてみた!【いまさらメガドラソフト開発計画】

実はさ、任天堂じゃこの手の話は絶望的なのでメガドラで作ればよかったかな?とちょっと思ってたんですよ。でもセガもダメか、残念。日本のセガがダメでも欧州とかアメリカに持っていけば、みたいな話にはならないんだろうか。

ところでブラジルではメガドライブがまだ現役なんでしょ?という有名な話があるが、正規販売元(Tectoy)のサイトを見たらメガドライブが消えて8bit機のマスターシステムだけになっていた。なんで退化しとんねん。

f:id:gyuque:20160928200211p:plain:w243

近況

DORANEKO SLAYER

f:id:gyuque:20160922214650p:plain f:id:gyuque:20160922214658p:plain
f:id:gyuque:20160922214705p:plain f:id:gyuque:20160922214711p:plain

タイトル → メイン(本編) → エンディング までが一通り揃った形に。来週余裕があれば本番実装(SFC版)に入れるかな、というところ。
PAのロゴはコナミコンパイルのつもりで作ったんだけど「データイーストみたい」と言われてしまった。
f:id:gyuque:20160922235324g:plain
ロゴがメタリックならデータイーストか?

Humble Bundle の NeoGeo Classics Pack 4 を買った

f:id:gyuque:20160922235419j:plain
はい。殺すはよくない。

別に格闘ゲームは得意じゃないんだけど、真サムは出た当時ベーマガが(どう考えてもライターの趣味で)プッシュしまくっていたので、ゲームセンターなんて一切行かないのに内容はよく知っていた。そういえば闘技場のタイトルも「真」になってたっけ。今から考えると「BASIC」マガジンに延々とサムスピの話が載っているのは完全に意味が分からないけど、皆さんいつかこういうプログラムが作れるようになるといいね、という目標として載せていたのかもしれない。まあ趣味だろうけど……

ドット絵を描いた

絵自体は猛暑の頃からダラダラ描き溜めてたんだけど、気付いたら最終回の時期になっていたのでモーションを2日集中でガッと付けた。おかげで寝不足になったので本業圧迫で怒られないように頑張って平静を装っている。

状況

Windows上で動くプロトタイプが8割ぐらい完成状態

そろそろ本番(SFC版)の実装に行っても……と勇み足をするとグダグダになりそうなので、99%ぐらいまで作り込んで素材を全部揃えてからにしようかと思う。

グラフィックも実機と同じ構成(背景BG2面+テキスト用BG1面+スプライト)で作ってあるのでそのまま再現できると思うんだけど、スプライトの横並び制限に引っかかったら優先順位のローテーションを入れる必要がある。

はい

今月、作曲のninoさんがお忙しいということで、その間にゲーム本体のほうを見直していた。

具体的に言うと、ラン系ゲームならプログラムが極限まで単純になるかなと思ったら意外とややこしくなってしまったし、その割に大して面白くねえなと思ってゲームデザインからやり直すことにした。

エターナってないか、元気でいるか、街には慣れたか。
まあとりあえずアイデアはまとまりました。

f:id:gyuque:20160820010041g:plain f:id:gyuque:20160821010207g:plain

こんな感じで魚を盗みに来る猫を退治するゲームに。
尚、これはスーファミで動くプログラムではなくて、Windows向けにCで書いたプロトタイプ。ただし、グラフィックやプログラムのロジック等、スーファミ実機で実現できる見込みのものしか使わないという縛りを入れてあるので、スッと移植できる……筈。多分。ただ、猫4匹を同時に動かして処理落ちしないかどうかは微妙なラインではある。(以前の2匹で限界だったプログラムに比べるとだいぶロジックが簡略化されてはいる)