タグ

ブックマーク / gyuque.hatenablog.com (5)

  • スーファミサウンドの裏で何が行われているか - ポルノアニメ

    qSPCの開発も山場を越えた感があるのでたまには進捗報告以外の話を…… 多分、普段は宇宙語が書いてあるブログだと思って見てない人が多いと思うので前提知識を手短に書いておくと: スーパーファミコンにはメインのCPUと別にサウンド用のCPUが乗っている オーディオデバイスにはサウンドCPUからしか触れない サウンドCPUはメイン側とは独立したメモリを抱えている このメモリは64KBしかない メインCPUとサウンドCPUのやり取りには、あまり速くない通信路を使う必要がある という制約があるので、いかにデータをコンパクトにして、最低限の物だけをサウンドCPUに送るかという所で開発者の腕が試されることになる。で、プロの技はどんなもんだろうかと、メモリダンプを見ながら定番のグラディウスIIIをやってみると…… ボスを倒して、ステージが変わるタイミングで一瞬画面が止まるので、ここで曲を入れ替えていると思

    スーファミサウンドの裏で何が行われているか - ポルノアニメ
  • ゼロから始めた2016年のスーファミ開発環境 - ポルノアニメ

    去年の春に「そろそろスーファミのプログラム書いてみてえな」と思い立って スーパーファミコンのプログラムを書きたい - ポルノアニメ ということがあったんですが、あれから約1年半。自分なりの開発環境が固まってきて、簡単なゲームぐらいなら流れ作業的に作れる程度まで圧倒的成長したので、ここで一度、我が家のスーファミ開発環境をまとめて紹介します。 OSとPC 普通のWindows PCでよい。 make 元気よくcygwinをインストールしよう。 Windows 10でUbuntuが動くやつは私の見聞きした情報が正しければ、何の役にも立ちません。 アセンブラ cc65/ca65 というものを使っている。名前を見るとCで書けそうだけど、それは6502(初代ファミコン)用のコードだけで、65816のコードはアセンブリで書く必要がある。つまり実際に使うのはca65の方だけ。 スーファミには、メインCPU

    ゼロから始めた2016年のスーファミ開発環境 - ポルノアニメ
  • 現況 - ポルノアニメ

    4匹を同時に動かす負荷のテスト。スーパーファミコンのプログラムを書く場合、テレビ画面の走査線が一巡する時間を基準に処理負荷を考える。前提知識として、SFCのプログラムは以下のようなサイクルで動いている。 走査線の位置がY=224(画面の下端)に達するとVBLANK割り込みが呼ばれる 224から、255に達するまでの間は画面上に走査線が無く、CPUからVRAMにアクセスして描画処理が可能になる。逆にこれ以外のタイミングではPPU(今で言うGPUのようなもの)がVRAMを占有しておりアクセスに失敗する。 255の次は0に戻って、画面の上端から走査が始まり、再び224に達すると最初に戻る <注> ここで言う「描画処理」は現代のPCとは違って「描画処理に使う設定情報の更新」と言った方が正確。実際の1ピクセル単位の描画はPPUが行う(だから超低性能のCPUでもゲームを動かすことができる) 物のテ

    現況 - ポルノアニメ
  • Rats&Busters! リリースのお知らせ - ポルノアニメ

    iOS用ゲームソフト「Rats&Busters!」をリリースしました。身分上商売はできないので無料です。 動作検証の都合上、今のところかなり新しめのiPadAir以降)のみStoreに現れるよう設定していますが、手元ではiPod touch 5thでも動いているので、最終的には古い機種も動作対象にする予定です。 ダウンロードはこちらから。 Rats&Busters! - PA Game Studio さてせっかく目出度く公開したところなんですが、開発用ビルドでは起きなかったのに、BGMの先頭が少し切れる不具合があるようです。ゲームには影響ありませんが今後直していきます…… 内容 アクションパズルです。見下ろし型だけど、落ち物が好きな人に向いてそうな気がする。トレーラーで雰囲気はわかるでしょうか。 自分の基地からスパーク(電撃)を撃って、敵のラットとラットを排出する敵基地を倒します。ラット

    Rats&Busters! リリースのお知らせ - ポルノアニメ
  • アニメっぽいエフェクトを生成したい - ポルノアニメ

    クリスマスだしたまには便利な記事でも書く。 以前少し書いた、ゲームにアニメ風のエフェクトを入れたいという話。アニメ風というのは例えば こういう光線や光輪を指す。ポイントとしては、わざと線の太さを不安定にしたり途切れ途切れにして躍動感を出す、という所。 さて、まず光輪からいくと、左上に(0,0)、右下に(1,1)のテクスチャ座標を指定した矩形ポリゴンを用意する。(次の画像だけ、u,vを赤と緑に割り当てている) 中心が(0.5,0.5)なので、フラグメントシェーダー上でテクスチャ座標と(0.5,0.5)の距離をとって、ある閾値を超えたらdiscardすると円形になる。 void main() { vec2 rpos = v_texCoord - vec2(0.5, 0.5); float r = length(rpos); if (r > 0.5) { discard; } gl_FragCo

    アニメっぽいエフェクトを生成したい - ポルノアニメ
  • 1