TOP MAP UP

FM77AV デスフォース




何故、今、デスフォースなのか?

一番最初に触ったパソコンはFM77AV40で、唯一買ったゲームがデスフォースだった。まぁグラフィックに関して言えば、今見ても8bit機とは思えない綺麗なグラフィックである。
このゲームを現在プレイしてもそうだと思うが、このゲーム、いろいろな面でやたらハードルが高い。もちろん当時中学生だった自分はクリアできなかった。
だがしかし!今の大人の技術力をもってすれば!多分このゲームを十分に味わい尽くせるはず!手段なんか選ばない!
ということで、なんでもありのデスフォースの解析を行った。



今現在プレイするならば

D4Enterprise Co.,Ltd. プロジェクトEGG デスフォース



バグ修正

本ゲームは噂では複数バージョン存在しており、流通しているほとんどのバージョンはクリア不可能のバージョンと思われる
これをクリア可能とするためのデータ修正は、
ディスクAの中に16進で
01 79 19 0D 01 85 08 10 というデータがあり、これを
01 79 19 0B 01 85 08 11 と書き換える。
書き換え後も、それまでのユーザーディスクでプレイを継続することができるので、やり直す必要は無い。
なお、本修正内容は一応project EGGにも伝えておいた(ただし修正されているかは未確認)



ユーザーディスク作成

ディスクAを入れて、ESCを押しながら起動すると、ユーザーディスク作成モードになる



無敵モード

オープニングストーリー中に大文字で、SILVER[SPACE]と入力してゲーム開始



オープニング

earth of jewel where's the most distant and the nearest place from earth.
the people selected you as one of soldiers.
you're bestowed "mars" with expectations of the people.
and you must go towards the island of the gods.

アース オブ ジュエル、それは地球から最も遠く、また最も近い場所。
人々はあなたを兵士の一人として選んだ。
あなたは人々の期待と共に軍神マルスを与えられた。
そしてあなたは神の島に向かわなければならない。



エンディング

all is over
but
is it real or dream
the time to die
it is the time to born
you can back to real
dream is real
death is life

全てが終わった
しかし
これまでの事は現実なのか夢なのかだろうか?
死を迎える瞬間
それは生まれる瞬間でもある
あなたは現実に戻ることができる
夢は現実
死は生きること



スタッフ

ゲーム&キャラクターデザイン
若松隆太郎

プログラム
やまもとかずゆき
宮川卓也

音楽
宮崎慈彦

(氏名が明確にわからない場合はひらがな表記としました)



小ネタ

当時のリバーヒルソフト
アドレス:〒8I0 福岡市 中央区 舞鷂 1-1-10 天神シルバービル 7F
TEL:092-771-3217

当時の広告




MAP

大まかにエリアに分かれている。エリア名はゲームデータ上の表現に沿う


地上


地下


※マップは多分普通には行けない所も記載されています※



walk through

マップのX,Y表記は16進数、0はじまり
封印はナンバー順に取る必要がある
武器のナンバーは種別であり取る順番は関係ない。ただしNo.06はクリアに必須となる
次のエリアへは地下から進むことができるが、基本的に戻れないので注意

封印 地下 X0,Y4 エリア0 No.01
封印 地上 X2,Y3 エリア0 No.02
封印 地下 X5,Y0 エリア0 No.03
武器 地上 X2,Y1 エリア0 No.02

武器 地下 X2,Y5 エリア8 No.03
武器 地下 X2,Y6 エリア8 No.02

武器 地上 X0,Yb エリア7 No.05
武器 地上 X3,Ya エリア7 No.06
武器 地下 X0,Ya エリア7 No.04
武器 地下 X0,Ya エリア7 No.05
武器 地下 X0,Yd エリア7 No.06
武器 地下 X0,Yd エリア7 No.06

エリア8に戻る
エリア0に戻る

封印 地上 X6,Y1 エリア1 No.04
封印 地下 X7,Y2 エリア1 No.05
封印 地下 Xb,Y5 エリア1 No.06
武器 地上 X6,Y0 エリア1 No.03

封印 地下 Xf,Y3 エリア2 No.07
封印 地上 Xe,Y0 エリア2 No.08
封印 地下 Xb,Y0 エリア2 No.09
武器 地上 Xd,Y0 エリア2 No.04
武器 地下 Xe,Y2 エリア2 No.04
武器 地下 Xc,Y0 エリア2 No.02
武器 地下 Xc,Y0 エリア2 No.03

封印 地上 Xe,Ya エリア3 No.10
封印 地下 Xc,Y5 エリア3 No.11
封印 地下 Xe,Y5 エリア3 No.12

封印 地下 Xd,Ya エリア4 No.13
封印 地下 Xf,Yb エリア4 No.14
封印 地下 X9,Yb エリア4 No.15
武器 地上 Xa,Yb エリア4 No.05
武器 地上 Xc,Ya エリア4 No.05

フル装備状態になると、次のようになる


エリア6に行く
エリア9に行く
邪神を倒す
自分の武器で自爆する
終了



メモリの内容

以下、物理メモリ表記

0x30002 X位置
0x30003 Y位置
0x3001B MAPのX位置
0x3001C MAPのY位置
0x30035 LIFE
0x30036 MOVE
0x30037 WEPON
0x30038 DURABLE
0x30039 LIFE MAX
0x3003A MOVE MAX
0x3003B WEPON MAX
0x3003C DURABLE MAX
0x3003D Key
0x3003E 持っている武器(0x1fで全て)

0x34c00 マップ障害物判定データ
マップデータで扱われるマップチップは、2x2の領域に分割されて、細分化された障害物判定を持つ。
マップデータは1画面0xc8byteなので、この障害物判定データはx4で0x320byteの大きさとなる。
この部分のデータは画面が切り替わった際に、マップデータを参照して何度も展開される。
データの内容は以下のとおり
 00 障害物なし
 01 障害物あり
 02 障害物なし+なんかの属性
 03 障害物あり+なんかの属性

0x35000 マップデータ
1byteのマップチップナンバーが、X=20,Y=10,つまり1画面200byte=0xc8byteで敷き詰められている。
この部分のデータは単純にマップチップを使って「絵」として表現を行っている
(ただしこのマップチップ自体に、障害物のフラグも更に細かく埋められている模様)
よって、敵の配置、パワーカプセル等のの配置、階段の配置、は別に存在すると思われる

マップチップの表現は地上と地下では異なる。
このゲームは地下は「自分の居ない場所は見えない」という処理が行われるが、
これはマップチップナンバーの上位2ビットを用いて地形をゾーン分けしている。
(自分の胴体あたりのゾーンナンバーと同一のマップチップのみ表示される)
ゾーンナンバーは2ビットであるので、最大4の見える・見えないゾーンが持てる
逆に言えば、地下においては、この表現のため、有効なマップチップナンバーは0x00-0x3fに制限される。
なお地上はエリアによって違うかもしれないが0x00-0x5Fまでが使用されている模様。

エリア0地上のマップチップの内容


エリア0地下のマップチップの内容



0x37C00 現在エリアの階段データ
n x 4 +00 一番最初の物のみ、階段データの個数
n x 4 +01 マップのY位置,マップのX位置(4bit表現)
n x 4 +02 画面のX位置
n x 4 +03 画面のY位置

Area MAP-X MAP-Y X Y memo
0 0 1 0D 15  
0 0 1 1B 15  
0 0 2 05 03  
0 0 2 05 13  
0 0 4 05 0F  
0 1 4 21 17  
0 2 0 07 0B  
0 2 1 05 17  
0 2 3 03 0D  
0 2 4 17 09  
0 3 0 05 0B  
0 3 4 21 13  
0 4 0 05 0D  
0 4 0 21 07  
0 4 4 0F 0B  
0 5 0 23 07  
0 5 2 03 15  
1 6 2 07 13  
1 6 3 0D 13  
1 7 1 09 17  
1 7 0 0B 13  
1 8 0 23 17  
1 8 1 11 1B  
1 8 2 1B 0B  
1 7 2 13 13  
1 8 3 0D 13  
1 9 0 0B 13  
1 A 0 19 0B  
1 A 1 17 0B  
1 A 2 0D 0D  
1 A 2 1D 0F  
1 A 3 03 1B  
1 A 4 0B 13  
1 9 4 09 17 地上 地下
1 7 2 23 0F  
1 B 2 09 13  
1 B 2 1A 13 地上 地上から地下への一方通行
2 B 0 15 0F  
2 C 1 07 0F  
2 C 1 1F 1B  
2 D 0 15 0F  
2 D 1 1D 0F  
3 C 8 0B 0D  
3 C 9 09 0F  
3 C 4 06 13  
3 C 5 0C 07  
3 C 7 10 0E  
3 E 9 1A 07  
3 E 5 1E 0B  
3 E 4 1E 0B  
3 F 5 06 03  
3 F 5 22 0F  
3 F 6 22 0F  
3 F 6 16 07  
3 F 8 1E 0B  
3 F A 06 0B  
3 F A 20 07  
3 D 6 1C 0F  
3 D 5 12 07  
4 9 A 15 0F  
4 A B 07 0F  
4 A B 1F 1B  
4 B A 15 0B  
4 B B 1D 0F  
6 7 A 17 1B  
6 7 C 05 17  
6 4 A 05 0B  
6 7 D 05 17 地下 地下から地上への一方通行
6 7 A 1C 07  
6 6 D 08 07 地上 地下
6 6 E 08 07 地上 地下
6 6 F 08 04 地上 地上から地下への一方通行
7 0 9 0D 15  
7 0 9 1B 15  
7 0 A 05 03  
7 0 A 05 16  
7 0 C 05 0F  
7 1 C 21 13  
7 2 8 07 0B  
7 2 9 05 13  
7 2 B 03 0D  
7 2 C 17 09  
7 3 A 05 0F 地上 地下
7 3 A 1F 1B  
7 F 5 07 0F  
7 0 F 0F 13 地上 地下
7 3 C 07 08 地上 地下
8 0 7 07 0F  
8 1 7 13 13  
8 1 7 23 0F  
8 1 5 0B 13  
8 2 5 23 17  
8 2 6 07 13  
8 2 7 1B 0B  
8 3 6 0B 13  
8 3 5 0B 13  
8 4 6 17 13  
8 4 5 19 0B  
8 4 7 1F 0F  
8 4 8 03 1B  
8 4 9 17 13  
8 5 6 21 0B 地上 地下
9 5 7 05 0C  
9 6 5 1B 09  
9 7 7 17 1C  
9 8 7 07 1F  
9 9 7 19 0D 存在はするが障害物で通れないデータバグ?(Y=0Bなら通れる)
9 5 8 08 10 存在はするが障害物で通れないデータバグ?(Y=11なら通れる)
9 7 7 1C 07  
9 7 8 1E 0F  
9 8 5 0E 07  
9 9 6 1E 13 地下から地上への一方通行
9 B 6 1E 13  
9 8 4 0F 0B 地上 地下
9 9 8 05 16  
9 A 6 0F 14 地下 地下から地上への一方通行
9 7 5 19 0F 地下 地下から地上への一方通行
9 8 8 13 0F 地上 地上から地下への一方通行
9 A 8 07 1D 地上 地下
9 A 7 07 1D 地上 地下
9 B 7 05 01 地下 地下から地上への一方通行
9 B 8 05 07 地上 地下 


※上記データは実際のゲームからのデータなので全てを網羅している
※添付画像は、あまりにもノーヒントの物に関してのみ作成してある


0x37D00 全体マップのエリアデータ
全体マップでのXY位置が、どのエリアにあたるのかの情報。
ここの情報によると0-9にてナンバリングされている。
恐らく処理的に画面移動が発生するたびに、同一エリアナンバーかどうかを左上からカウントして
現在の位置が、マップデータの何番目の位置に当たるのかを数えていると思われる。





解析から見るデスフォース

FM77AVは4096色出せるが、実はこれは4096色のパレットを使って、4096色を割り当てることが出来る。
このパレットを上手く設定することで、RGBの垂直演算で画面描画されるところが、
4096色中16パレットの3面を持つことが出来る(RGBプレーンを関連のない3面として分解できる)
この使い方を行うと、重ね合わせ処理を行う必要が無いので負荷を下げることが出来る。
しかしデスフォースはこのように使っていない。
恐らく処理速度云々よりも、4096色の重厚な表現を制限なく使うことを重点に置いたのだと思われる

このゲームは恐らくだが「1エリア30画面程度をオンメモリで持つ」というあたりを設計の根本として、
そこから「どういうゲームを作ろうか?」と考えている節がある。

また、ゲーム中ではあまりそういう表現は見られないが「舞台は島」という所から、
マップをぐるぐると回って、中心に向かっていく・・・という演出をしたかったものと思われる
(エリアナンバーのつけ方からそのように思える)

大きい構想はそうなのだが、エリア5が未完成な部分を見ると、
マップデザインを行うのも、それなりに大変だったのではないかと思われる。
(固有のギミックや表現が無いと単調になるので)
そういう意味ではエリア7,8もマップチップは使いまわしなのと、
地下はともかく、地上はいささか単調なのを見ると、この部分の労力は大きかったのだと思われる。

また「エリア9 X5 Y8」の階段が通れないのは、データ上のバグと思われ
恐らく後半のデバッグプレイを行う余裕が無かったのだろうと思われる。

そういった事から考えると「デスフォース」というのは、
ゲームの表現としてはAVというマシンの力を十分に発揮できる設計になっていて、
ゲームの規模もかなり大きな所まで実現できる設計なのだが、
残念ながら、その大きさまで、練った内容を充填するだけの労力が割けなかった、という作品なのだろう。

ただ個人的には「やりたかったこと」「伝えたかった雰囲気」なんかはなんとなくわかる。
多分そういう期待感を感じれたというのが、このゲームの一番の魅力なのかもしれない。

しかし、これだけの情報があったとしても、やはりクリアはそれなりに難しいと思う。
是非、あの当時、全くクリアできなかったみんなにクリアしていただきたいと思う