K64と乱数まとめ(未完)
RTAなどの乱数調整について知りたくてここに辿り着いた方へ:
この記事の情報は未完成であると同時に古い記述が多くあります。
日本語のソースとしての価値はまだありますが、更に踏み込んだ情報はりぷてさんによる記事を参考にするのが良いです↓↓
pletty-chan.hatenablog.com
星のカービィ64(以下K64)の乱数について分かる限りまとめました
JPN v1.0のみの調査ですが、他版でも同じのはず
また、エミュレータ上の調査なので実機と異なる可能性があります
メモリ監視
- 0x8003D630 - 2byte
- RDRAMドメインだと0x03D630
乱数消費の度に1ずつ増え、1023(0x3FF)を超えると0に戻る。
乱数を利用するプログラムの結果はこの値によって決まる。
仕組みがKDL3と同じなのでこちらも乱数テーブルからの取得である可能性が高い。
デバッガを通せばそのテーブルも見つかるはずだったが扱いが難しかったのでまた今度に。
乱数消費のパターン
特に記述が無い限り1F=1/30秒とする
起動時
- タイトルロゴ - 1F毎に1消費
- タイトル画面 - 各キャラの向きで1消費(合計5)
- 最速でタイトル画面に入ると冒頭のスクショと同じ向き
- タイトル画面 - 操作可能になってから1F毎に1消費
- データ選択画面では乱数が動かない
メインゲーム
爆発や星などのエフェクトは影響しない様子
- カービィの行動
- リフトアップした物を投げる - 1消費
- コピー技
- バーニングストーン - 火山弾1つにつき2消費
- アイススパーク - 食材発射時に1消費
- ストーンカッター - 彫刻開始時に1消費
- 敵キャラ
- スパーキー・チリー - 各種行動時に1消費
- プロペラー - 不明だが消費してる
- 他未調査の敵あり
- ステージギミック
- 蝶や綿毛の動きで乱数が消費される
- ゴールゲーム
- 開始時 - 数回のタイミングに分けて消費(数不定)
- カード取得時 - 65消費?(取得枚数に応じる可能性あり)
- ボスキャラ
- 未調査。少なくともランダムな行動には全て関わってる
ミニゲーム
- プレイヤーキャラ選択 - COMキャラ決定で1人につき1消費
- ゲーム上のランダムな仕掛け
- COMキャラの行動