名作アクションゲーム「悪魔城伝説」のパスワードはどうやって生成されているのか?
コナミの名作アクションゲーム「悪魔城ドラキュラシリーズ」は第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でも公開されています。
・関連記事
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
・関連コンテンツ