その他
Ecco the Dolphinに31年前のイースターエッグを発見
Unearthing a 31 year old Easter egg in Ecco the Dolphin (32bits.substack.com)
要約
Ecco the DolphinのPC版において、31年間発見されていなかった隠しイースターエッグが明らかになった。特定のキー入力とマウス操作を組み合わせることで、ステージ選択や無敵化などのデバッグ機能にアクセスできることが、コードの解析によって判明した。
全文翻訳
Ecco the DolphinのPC版を検証する
Ecco the Dolphinに31年前のイースターエッグを発見
2026年8月12日
421
共有
今日、私たちはEcco the DolphinのPC版を検証しています。このゲームは、1992年のSega Genesisオリジナル版を強化した1993年のSega CD版から移植されたものです。
コンソール版には、ステージスキップや無敵化などが可能な、高機能なデバッグモードのチートが存在します。しかしPC版では、この非常に難しいタイトルを、苦労してクリアするしかありません。
Genesis版のデバッグモード…
…あるいは、そうではないかもしれません。このゲームの「About」ダイアログを処理する関数には、奇妙なコードがあります。
/* WM_COMMAND */
if (uMsg == 0x111) {
if ((wParam == 1) || (wParam == 2)) {
GetWindowRect(hWnd,&lpRect_2);
screen_height = GetSystemMetrics(1);
if ((screen_height < lpRect_2.bottom) && (screen_width = GetSystemMetrics(0), screen_width < lpRect_2.right)) {
system_flags_0048c334 = system_flags_0048c334 | 0x10;
}
}
}
これは、ダイアログボックスを閉じる際に、その右下隅が画面外にあるかどうかをチェックしています。
About EccoWinダイアログボックス。
そのチェックの後、コードはShiftキーとCtrlキーの状態を取得します。ダイアログが消えるときにそれらが押されている場合、メニューID 0x70に対してLoadMenuAが呼び出されます。
それは何をするのでしょうか?メインウィンドウでShift+Ctrlを押しながら右クリックすることで、チートメニューにアクセスできるようになります。
チートメニュー。
「Stage」はもちろん、開始するステージを選択できます。選択してF2キーを押すとプレイが開始されます。「test only」と表示されている項目以外はすべて機能するようです。
「Life」は、無制限の体力と空気を与えます。これらのステータスを追跡するメーターは、このチートが有効になると完全に消えます。
無制限のライフと空気。
チートメニューがアクティブな場合、画面下部にも位置情報が表示されます。Eccoが移動すると、数字が変化します。
しかし、それだけではありません。そのAbout EccoWinダイアログハンドラ関数は、さらに多くの条件をチェックしています。コードは次のように尋ねています。
uMsg引数はWM_RBUTTONDBLCLKイベントに対応していますか?
wParam引数にはMK_SHIFT、MK_CONTROL、MK_LBUTTONビットがセットされていますか?
カーソルはダイアログボックスのいずれかの角にありますか?
これを英語に翻訳すると、次のようになります。
ヘルプ > About EccoWin ダイアログを開きます。
Shift+Ctrl+左マウスボタンを押しながら、ダイアログボックスの右下隅をダブル右クリックします。OKボタンがkOに変わります。
Shift+Ctrlを押し続けながら、ダイアログボックスを閉じます。
追加のチートが有効になります。
これで、メインウィンドウでShift+Ctrl+右クリックでアクセスできるチートメニューに、「Easy」、「CD check」、「border」という追加項目が表示されます。
強化されたチートメニュー。
ゲームコードに基づくと、「Easy」はダッシュに関連するクールダウンタイマーを短縮することを意図していたようです。しかし、ゲーム内での効果は私にはあまり顕著ではありませんでした。
「CD check」は、「This program can only be run from the original CD!」という警告画面をなくします。
「border」は、画面の端に何らかのリソースメーターを配置することを意図していたようです。ただし、実際には製品版では機能しないようです。
おわりに
「Stage」と「Life」のチートを使えば、Eccoのエンディングを実際に見た数少ない人々の一人になれるかもしれません。
Eccoへのイルカたちのメッセージ
このゲームの分析を提案してくれたBobblenに感謝します!すぐにまた「Rings of Saturn」の続きをお届けします。
購読する
421
共有