【Rockman2 hack】アプリケーション基盤について

eyecatch Rockman Reanimated
eyecatch

Windowsにファミコン版ロックマンを移植して、更にハックロム的作成をしていきましょうというプロジェクトです。

また少し期間が空いてしまいました(;・∀・)
すみません。

しかしながら、今回はゲーム本編のお話ではなく、周辺機能のお話です。

本編作る気あるの?
と思われるかもしれませんが、ちゃんとあります(^^)

でも先にインフラ回りの整備をやりたかったので、そちらをずっと作っておりました。


Windowsアプリケーションなので、当然ながらゲームのコントローラについての設定や、音量調節、FPS制御などは必要でしょう。

それらの機能を実装しました。

機能名概要
ウィンドウサイズ変更基本倍率 W256 × H240 (NES準拠)
1x、2x、4xに対応。(フルスクリーン非対応)
FPS設定ゲームの進行速度ウェイト。
30、60、120、144、180、240fps、無制限に対応。HUDモニタリングに対応。
キーコンフィグ機能、対応コントローラ入力デバイスはPCに接続された単一コントローラを自動認識して、コントローラとして使用可能、XInput/DirectInputに対応、未接続の場合はキーボード操作可能。キーコンフィグモード搭載。
PS系コントローラ及びニンテンドースイッチのプロコンはDirectInput、XBoxシリーズ(360世代以降)のコントローラはXInput。市販のPCサプライジョイパッドはパッケージに記載されていてどちらかには必ず対応している。
サウンド設定BGM/SEボリュームを個別に設定可。
またNESに基づいたDPCMのON/OFF、拡張音源にも対応予定のため、それの切り替えができるようにした。(N163/VRC6など)
スクリーンショット取得画面の内容を画像ファイルとして自動保存する機能
スロット選択方式 バックアップシステムいわゆるセーブ&ロード機能。
ステートセーブ/ステートロードを可能なような仕組みとして採用。バッテリーバックアップの再現。
保存ファイルは外部ファイル形式でセーブスロット10個分を保有。
素材ファイルのjson化ゲーム内で使用されるグラフィックやサウンドデータは全て外部リソースのため、それらを相対パスとしてゲーム実行後にローディングして使用する。
逆手に取って、そのパスを別のものにすればBGMやグラフィックを別のものにすり替える事ができる仕組みとした。(json形式の外部ファイル)
チートモード (ジーニーモード)PARコード形式、ダイレクトメモリアドレス形式に対応。
プレイ録画機能 (予定)時間軸制御系、スナップショットを取得する仕組みを採用。具体的な実装は今後対応。

大まかにはこんな感じの実装対応をしました。

更にデバッガー用の機能もいくつか搭載してます。
メモリウォッチ機能、スプライト/BGビュアー、フレームレートHUD、入力キーHUD、コリジョンHUDなどです。

それと Mega Man Forever (2011, Mega Man IV HACK) から得たインスピレーションでステージを自由に選択できるバックドアメニューを追加する予定です。(これもデバッグモード実行の機能です)

こうやって見るとハックロム関係の業界から来た人間だからか、エミュレーターっぽい感じになってしまうんですが・・・

別に差し支えは無いのですがf(^-^;

ゲーム本編の続報はもうしばらくお待ちください(笑)

コメント

タイトルとURLをコピーしました