わどるDAILY

つれづれと

K64と乱数まとめ(未完)

f:id:WaddleDX:20200221210552j:plain

RTAなどの乱数調整について知りたくてここに辿り着いた方へ:
この記事の情報は未完成であると同時に古い記述が多くあります。
日本語のソースとしての価値はまだありますが、更に踏み込んだ情報はりぷてさんによる記事を参考にするのが良いです↓↓
pletty-chan.hatenablog.com



星のカービィ64(以下K64)の乱数について分かる限りまとめました
JPN v1.0のみの調査ですが、他版でも同じのはず
また、エミュレータ上の調査なので実機と異なる可能性があります

メモリ監視

乱数消費の度に1ずつ増え、1023(0x3FF)を超えると0に戻る。
乱数を利用するプログラムの結果はこの値によって決まる。
仕組みがKDL3と同じなのでこちらも乱数テーブルからの取得である可能性が高い。
デバッガを通せばそのテーブルも見つかるはずだったが扱いが難しかったのでまた今度に。

乱数消費のパターン

特に記述が無い限り1F=1/30秒とする

起動時

  • タイトルロゴ - 1F毎に1消費
  • タイトル画面 - 各キャラの向きで1消費(合計5)
    • 最速でタイトル画面に入ると冒頭のスクショと同じ向き
  • タイトル画面 - 操作可能になってから1F毎に1消費
  • データ選択画面では乱数が動かない

メインゲーム

爆発や星などのエフェクトは影響しない様子

  • カービィ待機モーション
    • カービィが立ち状態になった瞬間 - 1消費
    • 立ち状態で放置した時に取るモーション - 1消費
    • 体力1の場合は待機モーションが固定され、乱数を消費しない
  • カービィの行動
    • リフトアップした物を投げる - 1消費
  • コピー技
    • バーニングストーン - 火山弾1つにつき2消費
    • アイススパーク - 食材発射時に1消費
    • ストーンカッター - 彫刻開始時に1消費
  • 敵キャラ
    • スパーキー・チリー - 各種行動時に1消費
    • プロペラー - 不明だが消費してる
    • 他未調査の敵あり
  • ステージギミック
    • 蝶や綿毛の動きで乱数が消費される
  • ゴールゲーム
    • 開始時 - 数回のタイミングに分けて消費(数不定
    • カード取得時 - 65消費?(取得枚数に応じる可能性あり)
  • ボスキャラ
    • 未調査。少なくともランダムな行動には全て関わってる

ミニゲーム

  • プレイヤーキャラ選択 - COMキャラ決定で1人につき1消費
  • ゲーム上のランダムな仕掛け
  • COMキャラの行動

その他

  • ムービー・コレクション・サウンドテスト・コンフィグ・ぼすぶっち説明画面では乱数は動かない
  • 各種ムービー・レベル/ステージ選択画面でも乱数は動かない