本文へジャンプ

ドシエの邦訳について

英語圏ではその筋で有名なThe Pac-Man Dossierという興味深い資料があります:

このガイドの目的は、パターンを使わずともプレイできるよう、パックマンについて理解をより深めてもらうことにあり、ゲームの流れ、迷路ロジック、ゴーストの個性、神秘的な“split screen”レベルについて詳しくみていきます。...提供するすべての情報は、オリジナルのPac-ManコードROMからの逆アセンブル出力と、実際にゲームプレイの実験的観察から抽出/検証されたものです。よって著者は、その精度に高い自信を持っています。

日本発祥の有名なゲームながら、国内ではこのような資料は見つけることはできず、そこで私は翻訳を試みようと思い立ちました。英語が得意ではないため、機械翻翻にかけた訳文を修正したものです。

そのほかの興味深い資料:

上記のAI学会誌で仕様書が公開されていますが、実際と食い違う部分があります。

自作パックマンについて(HTML5 + CSS + JavaScript + Canvas API)

The Pacman Dossierを参考に、PAC-MAN(1980)をアレンジしたクローンゲームです

JavaScriptを使用して、キャンバスにゲーム画面を描画しています

テキストにはアタリ風のフォントを使用していますが、それ以外のゲームで使用する迷路やスプライトのすべてをCanvas APIによって描いています。あらかじめ用意したスプライトシートの画像は使用していません。クラシカルなドット絵の雰囲気を保ちつつ、高画質なグラフィックで再現することにこだわりました

スプライトの一覧を用意しました。縮小/拡大したり、アクターのアニメーションをみれます

ポイント表示やフルーツ類の一部はShaun Williams氏のスプライトを少し改変して使用しています

ゲームシステムやロシックをおおかた再現していますが、速度に関してはスピーディにアレンジしています。設定でさらに速くしたり、逆に遅くすることもできますので、お好みの速度で遊んでみてください

推奨環境

最新版のPC向けChromium系ブラウザを推奨しています

タッチデバイスでの操作には対応していません

後方互換性を考慮してないので、旧いブラウザでは動作しません

ユーザースタイルシートは適用されないようにしてください

1920x1080のフルスクリーンで等倍表示になります

それより狭いばあいは、CSSのtransformでビューポートに合せて縮小します

設定項目/操作

Only this level

オフであれば連続プレイになる
オンなら選択されたレベルをクリア後、タイトル画面に戻る

Power cookies

パワークッキーの有無

Always chase mode

常に追跡モード(縄張モードなし)

Clear storage

設定やハイスコアを保存しているローカルストレージを削除します

About keys

プレイ中の操作説明:

M ミュート
Esc 一時停止
Del 終了するかどうかの確認ダイアログを表示
Ctrl+Del 強制的にリセットしてタイトル画面に戻る
パックマンを導く方向(WASDでも操作可能)

設定パネル

設定パネルを開きます:

Volume 音量調整
Speed ゲームの進行速度 0.5~1.2倍
PacLives ライフ 1~5(迷路にいるぶんも含む)
Extend ライフがひとつ増えるスコア
Invincible 無敵モード
Unrestricted ghosts ゴーストのターン制限をなくす
Show targets ゴーストが目指すターゲットタイルの表示
Show tile grid タイルのグリッドを表示するかどうか
Attract demo アトラクト デモの再生
Coffee Break 1-3 コーヒーブレイクの再生
Return to Default デフォルト設定に戻す

Unrestricted ghostsを有効にすると極端に難しくなるので、あまりお奨めはしません。岩谷氏率いるナムコの開発チームがバランス調整に労力を費やした結果、ゴーストの進入禁止エリアがあります。

練習モード(PRACTICE)について

練習モードでは、上端にあるハイスコア表示の代わりにPRACTICEと表示されます

切り替わる条件は以下のとおりです:

  • 連続プレイではない(すなわち Only this level がオンの)とき
  • または連続プレイにおいて途中のレベルから始めるとき
  • Speedが0.6以下、Invincible または Show targetsがオンのとき

練習モードでは、レベル間のコーヒーブレイクは実行されません

2人交互プレイ

2人交互プレイは実装してません。スコアは1UPだけの1行表示です

ブラウザゲームなのでクレジットの概念はありません

ゲームを開始するには矢印キーやスペースを押すか、下部のボタンを押します

でスタートすると、次の交差点に達すると上に曲がります。 を押してから を押すと、右へ進んで次の交差点に達すると上に曲がります。 のばあいも同様に下に曲がります

アトラクト デモ

タイトル画面でなにも操作せず放置すると、30秒ほどで始まるようにしています

すぐにご覧になりたいときは ハンバーガーボタンを押してください。コーヒーブレイクも観れます

ブラウザゲームで勝手に動き出すのは気持ち悪いので、プレイデモはありません

ゲームレベル

難易度はレベル1~13まで13段階としており、13以後は同じ難易度の繰り返しです

レベル255をクリアすると一周してレベル1に戻るようにしてます

原作ではレベル21まで難易度が上昇します(cf. 付録の表A.1

メニュー選択でお好みのレベルから始められますが、途中からだと練習モードになります

“Only this level”をオンにすると、次のレベルに進まずタイトル画面に戻ります

縄張/追跡モード

“常に追跡モード”がオフのときは、おおむね原作のとおりです

しかし、原作より移動が速いため、縄張/追跡モードの各期間は短めにしています

次の表は各期間の長さをまとめたものです(単位は秒):

モード レベル
1
レベル
2-4
レベル
5+
1 縄張 4.5 4.5 4.0
追跡 15.0 15.0 15.0
2 縄張 4.5 4.5 4.0
追跡 15.0 15.0 15.0
3 縄張 3.5 3.5 3.5
追跡 15.0 780 780
4 縄張 3.0 1/60 1/60
追跡 無限 無限 無限

このゲームはフレーム数で時間を計算しているため、時間はすべて目安です

原作の仕様はDossierの第2章を参照してください

巣からの開放

ドットカウンター/グローバル・ドットカウンターを原作のとおり実装しています

したがって原作のとおり、ハウストリックを再現できます

タイマー制限も原作同様にレベル1~4までは4秒、レベル5以降では3秒です

このタイマーはドットを食べたり、優先ゴーストを開放するごとにリセットされます

ただし“常に追跡モード”では次の表のとおり、時間で開放されます(単位はミリ秒):

レベル ピンキー アオスケ グズタ
ミス 1000 500 500
01 1000 4000 4000
02 800 2200 4000
03 600 1900 3500
04 600 1900 1500
05 500 1300 1200
06 500 1300 1200
07 300 700 800
08 300 700 800
09 200 800 200
10 200 800 200
11 100 700 200
12 100 700 200
13+ 0 900 0

それぞれの時間があらわす意味は以下の通りです:

  • ピンキー……ラウンド開始時からの経過時間
  • アオスケ……ピンキーが開放されてからの経過時間
  • グズタ……アオスケが開放されてからの経過時間

イジケモード

下記の表は各レベルのイジケタイム(秒)です:

レベル 1 2 3 4 5 6 7 8 9 10 11 12 13+
6 5 4 3 2 5 2 2 1 5 2 1 0

レベル5、9をクリアしたあと、コーヒーブレイクを挟んだ6、10は5秒に延長されます

レベル13以降ではイジケなくなり、進行方向を反転するだけです(原作での17、19以降に相当)

ただしゼロ秒のときは400ミリ秒のあいだ、パックマンから遠ざかるようにしています

原作のレベル仕様は付録の表A.1を参照してください

ゴーストの経路探索と個性

おおむね原作のとおりゴーストの経路探索と個性を再現しています

ただしピンキーは“待ちぶせ”という個性を活かして、
パックマンがトンネルに入ると目標を彼から反対側の出口に切り替えて先回りします

また、迷路の右上端にターゲットがあるときは、巣の周囲にいるゴーストを左へ出すようにしています

巣の上部では左右方向にしか進めず、そのせいで巣の周囲を回り続けるのを回避するためです

イジケゴーストの曲がる方向を決める擬似乱数ジェネレータは再現していません

占有タイルと当たり判定

当たり判定は占有タイルではなく、円の当たり判定を採用しています

追跡中のゴーストは小さめの半径、逆にイジケに対して判定を大きくしています

コーナリング

パックマンのプリターン/ポストターンをそれらしく実装しています

プリターンが成功すると交差点を斜めに進んで加速するので、ゴーストを少し引き離せます

壁のある方向に矢印キーあるいはWASDを押すと次のターンを予約することができ、パックマンがその方向に曲がれる交差点のタイルに達すると自動的に進行方向を変更します

原作の仕様では、パックマンがコーナーに入るまで曲がりたい方向へレバーを倒し続けなければならず、これは個人的に操作性が悪いと感じたので操作方法を変更しています

移動速度

標準設定ではすべてのレベルを通して、原作より移動速度が速くなっています

レベル1~13までの13段階で徐々に速くなります(原作では4段階)

通常時のゴーストはパックマンに対して107%の速度で移動します

レベル13以降では、パックマンの速度は98%に落ちます

無理ゲーにならいようにバランス調整している積もりです。ゴーストとの当たり判定が小さいのでギリギリかわせたり、プリターンを連続すると引き離せます。緊急回避用通路に逃げ込むのも手です

慣れてくるとゴーストの行動を先読みしたり、誘導することが出来るようになります

状況による相対的な速度変化は下記のとおりです:

パックマン
ドットを食べる
0.86倍
イジケタイム
1.10倍
イジケ+ドット
0.95倍
ゴースト
イジケゴースト
0.60倍
トンネル通過中
0.60倍
巣にもどる目玉
1.40倍

速度に関しては忠実な再現には拘らず、個人的に遊んで楽しい速度/バランスにしています

シンプルなゲーム内容に反して、細かいバランス調整が施されている奥の深いゲームであるため、JavaScriptのようなスクリプト言語で忠実にエミュレーションして、パターンまで再現するのは困難だと思います

原作のレベル仕様は付録の表A.1を参照してください

アカベエのスパート

アカベエはレベルごとに3回速度を上げます(原作は2段階)

後のレベルほど、より多くのドットが残っているときにスパートが発動します

スパートが発動するドットの残り数と速度の係数は下記のとおりです:

Lv. 第1 第2 第3
01 30 20 10
02 30 20 10
03 45 30 15
04 60 40 20
05 75 50 25
06 90 60 30
07 105 70 35
08 105 70 35
09 120 80 40
10 135 90 45
11 150 100 50
12 165 110 55
13+ 180 120 60
速度 1.02 1.05 1.10

第2段階以上ではアカベエは発光し、縄張モードでもプレイヤーを追跡します

ただし、縄張/追跡モードの切り替え時には進行方向を反転します

発動後にミスすると、再開後はグズタが巣を出るまでスパートは発動しません

原作のレベル仕様は付録の表A.1を参照してください

攻略パターン

原作のパターンは使えませんが、別の攻略パターンがあるかもしれません。しかし、原作の開発者が想定外だったように、私も想定していません。仕様変更でパターンが変わる可能性もあります

パターンを実行すると忍耐力を競うだけになり、本来のゲーム性が失われてしまいます。それよりもプレイヤーが思い思いに操作し、その場その場で敵の行動に対処したほうが面白いと思いませんか?