ゲーム

名作アクションゲーム「悪魔城伝説」のパスワードはどうやって生成されているのか?


コナミの名作アクションゲーム「悪魔城ドラキュラシリーズ」は第1作の登場から30年以上経過していますが、2017年にはNetflixでアニメ版が公開されるなど、根強い人気を持ったシリーズです。そんな悪魔城ドラキュラシリーズの一作で、1989年にファミリーコンピュータ向けに発売された「悪魔城伝説」のパスワード生成アルゴリズムについて、さまざまなゲームのシステムを解説するMeat Fighterが解説しています。

Castlevania III Password Algorithm
https://meatfighter.com/castlevania3-password/

悪魔城伝説はステージクリア型の横スクロールアクションゲームで、ゲームの進行状況を以下の画像のように、16マスの枠に4種のアイコンをはめこむ形式のパスワードで保存することができます。


また、海外版の「Castlevania III: Dracula's Curse」では、名前欄に特別な名前を入力することで、ゲームを特殊な状態で開始することができます。特別な名前と特殊な効果は「HELP ME:ライフを10個所持した状態でゲームを開始する」「AKAMA:ハードモードでゲームを開始する」「OKUDA:アルカードを操作できる状態でゲームを開始する」「URATA:サイファを操作できる状態でゲームを開始する」「FUJIMOTO:グラントを操作できる状態でゲームを開始する」の5通り。なお、「AKAMA」「OKUDA」「URATA」「FUJIMOTO」は悪魔城伝説の開発者の名前です。


パスワードによって保存される情報は、「ゲームの進行度」「同行しているパートナー」「難易度」「名前」の4種類で、それぞれの情報は16進数に変換されて保存されます。

「ゲームの進行度」は内部で18段階に区分されており、それぞれの段階に00~11までの数値が割り当てられています。以下の画像はそれぞれ進行状況に対応する数値を示しています。


「同行しているパートナー」は「0:パートナーなし」「1:サイファ(Sypha)」「2:グラント(Grant)」「3:アルカード(Alucard)」の4種類の状態が存在しますが、ステージによっては同行不可能なパートナーも存在します。以下の表は16進数の数値に変換されたゲームの進行状況ごとに、各プレイヤーが同行可能かどうかを示しており、同行可能を意味する×マークが表示されている進行状況とパートナーの組み合わせ以外は、システムによって拒否されてしまうとのこと。


「難易度」に関する情報は「0:ノーマル」「1:ハード」のどちらかで表されます。

「名前」の情報は、以下のイメージを用いて名前に使用されている文字列を数値に変換し、その数値の合計値に4を加えて8で割った余りをハッシュ値として保存します。


さらに、「名前」以外の3種類の情報も全てハッシュ値へと変換されます。その後、4種類の情報のハッシュ値はパスワードの生成時にランダムに生成される「トグルマスクインデックス」と共にペイロードハッシュへと変換されます。ペイロードハッシュは以下の画像のように8桁の数値で構成され、1~3桁目が「名前」のハッシュ値、4桁目が「ゲームの進行度」のハッシュ値、5桁目が「トグルマスクインデックス」、6~7桁目が「同行しているパートナー」のハッシュ値、8桁目が「難易度」のハッシュ値を示しています。


最後に、8桁のペイロードハッシュが以下の3つのパターンのどれかに沿ってパスワードへとエンコードされます。「悪魔城伝説」では名前のハッシュ値も含めてパスワードを生成するため、パスワードをデコードする際は、パスワード生成時に使用した名前を入力する必要があります。


なお、Meat Fighterはパスワードをエンコード・デコードするコードを公開しており、以下のページでは、5つの特別な名前を含むいくつかの名前で考えられるパスワードの一覧を確認できます。

Castlevania III Password Algorithm


Castlevania III: Dracula's Curseにおけるパスワードのエンコード・デコードに関するコードは、GitHubでも公開されています。

この記事のタイトルとURLをコピーする

・関連記事
5億円以上の出資を集めた悪魔城ドラキュラ風アクションRPG「ブラッドステインド:リチュアル・オブ・ザ・ナイト」をNintendo Switchで遊んでみた - GIGAZINE

無料で241種類ものPCゲームのソースコードを見ることができる「Game Source Code Collection」 - GIGAZINE

ゲームの基本的な動作やエフェクトなどのソースコードを検索可能な「Game Mechanic Explorer」 - GIGAZINE

無料で2500本以上ものMS-DOSの名作ゲームがブラウザからプレイ可能に、インターネットアーカイブが公開 - GIGAZINE

たった1カ月でゲームを完成させる競技会「Game Off 2019」最優秀作品5本が発表、無料プレイも可能 - GIGAZINE

Valveの人気オンラインゲーム2タイトルのソースコードが流出、公式は片方についてのみ言及 - GIGAZINE

ディズニーや任天堂、Microsoftなど50社以上の企業のソースコードがリークされる - GIGAZINE

in ソフトウェア,   ゲーム, Posted by log1o_hf

You can read the machine translated English article here.