ファミコンゲームについて

ファミコンゲームの開発をしているので、たまに好きなゲームを吸い出しては中身を見たりしています。気づいた点などをTweetしてます。 各ツイートのツリーにいろいろ書いています。
107
前へ 1 ・・ 3 4 ・・ 9 次へ
Karu_gamo★★☆☆☆ @Karu_gamo

ドラクエのマップデータは上位4bitが種類、下位4bitは横に連続する数という構造になっています。例えば画像では街が3つならんでいるので$82となります(8=街、数は2なら3となります(0で1つなので+1する)。 pic.twitter.com/WdTyNBPSz4

2022-09-03 00:21:55
拡大
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

横1ライン分のデータサイズはバラバラになるので、各ラインにアクセスするためのアドレスがテーブルになっています。プレイヤーがマップの左側にいるときは楽ですが、マップ右の方にいるときは、必要なデータを得るためには、左から順番に計算していく必要があります。 pic.twitter.com/7fdjXWuSo7

2022-09-03 00:21:56
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

ちなみに増やした街に入ろうとしても、専用のメッセージがでて入れませんでした。 pic.twitter.com/AaWC2TlEbL

2022-09-03 00:21:57
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

配置できる地形を並べてみました。0が草原で、順番に並べています。13種類あり、14~16番目は真っ黒で進入できませんでした。 pic.twitter.com/3Sf3040kf9

2022-09-03 00:21:58
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

街などの複雑な地形はフィールドとは異なり、横2マスで1byteとなっています。上位4bitが奇数番目、下位4bitが偶数番目の地形、という感じです。 pic.twitter.com/icIF2Py8s4

2022-09-03 00:32:47
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

バリアの横に橋を架けてみましたが、残念ながらバリアのところに入ってくれませんでした…。 pic.twitter.com/YmsF06fg7e

2022-09-03 00:32:48
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

一時的にバリアをブロックに変えてからバリアに戻したらバッチリでした。達者でな! pic.twitter.com/Iz3r4SF8dR

2022-09-03 00:36:06
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

エンディング直前ですが、ここに穴を空けて…と。上の階にも王様が!? 下の王様も自動イベントが発動しなければ一般人と同じセリフですね。 pic.twitter.com/NzNIV5hnVc

2022-09-03 01:01:08
拡大
拡大
拡大
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

ちなみにドラクエ1はデータ上は120x120マスです。ランレングス圧縮だと2,293byte+アドレステーブル220byteで約2.5Kbyteです。仮に街などと同じ様に2マス1byteでベタ持ちにした場合は約7Kbyte。2x2マスで辞書化した場合なら約3.6Kbyte+辞書最大512byteといった感じでしょうか?

2022-09-03 10:30:19
Karu_gamo★★☆☆☆ @Karu_gamo

ランレングスは一番小さくなりますが、ランダムアクセスできません。ドラクエ1は容量面が厳しいですが、フィールド移動中は処理するものがほとんどないので、このぐらいの計算は許容範囲なのでしょう。フィールドも小さいですし。

2022-09-03 10:30:19

ゴーストバスターズ

Karu_gamo★★☆☆☆ @Karu_gamo

エンディングが『りり』で終了してしまうことで有名なファミコン版ゴーストバスターズですが、海外版ではどのようになっているか試してみようと思います(続 pic.twitter.com/dg7wVzvCBt

2022-08-29 21:06:24
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

日本版ではGHOST ALARMが買値$2000なのに対して売値が$3000というナイスバグがあるお陰で一瞬で金持ちになれますが、海外版ではこのバグは潰されています(画面は日本語版。クレジット表記が異なりますね)。バグが潰されてるということはエンディングも表示されるかも!?(続 pic.twitter.com/plBTw8rup3

2022-08-29 21:06:25
拡大
拡大
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

普通にプレイするのはちょっと大変なので、メモリを弄ってお金持ちにしちゃいます。試しに商品を1つ買ったら$5Cと$5Dが持ち金と同じ数字になりました。どうやらここが所持金の模様…。さっさと増やしてクリアに必要なアイテムを購入します(続 pic.twitter.com/QL8Yik4azE

2022-08-29 21:06:26
拡大
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

アイテムをそろえたのでズールのビルに突入です。ここは真面目にやりました…(ステートセーブは使いましたが…)(続 pic.twitter.com/rjyCB58aYq

2022-08-29 21:06:28
拡大
拡大
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

最上階まで辿り着いたらズール戦です。弾を避けつつ頭を攻撃するのですが、突然プレイヤーが光り出すと無敵になるので、その隙にズールの前で連打すればだいたい勝てるっぽいです。そして『りり』ではない感動のエンディングが!(続 pic.twitter.com/8I18wZ6x6i

2022-08-29 21:06:42
Karu_gamo★★☆☆☆ @Karu_gamo

ちなみにラスボス戦で負けるとこんな感じでバッドエンドになってしまいます。 pic.twitter.com/RMSvbAaror

2022-08-29 21:06:56
Karu_gamo★★☆☆☆ @Karu_gamo

ビルの後方ではマシュマロマンが昇ってきており、最上階まで上がってきてしまうとやはりゲームオーバーとなります…。 pic.twitter.com/NQcd1IILDy

2022-08-29 21:06:57
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

せっかくなので日本語版もクリアしてみました。やはり何回見ても『りり』がでてくると笑ってしまいますね…。無敵なくてもなんとかなりましたが、一発勝負だと思うとキツいですよね~。 pic.twitter.com/n63cE7LVDy

2022-08-29 21:26:51
Karu_gamo★★☆☆☆ @Karu_gamo

よく見たらビル後方がちょっと違いますね(1枚目日本語版、2枚目海外版)。フチの処理が入っています。日本語版の該当CHRパターンを弄ってみたら画面が変化したので、日本語版もフチの処理は想定されていたけど、なぜかデータが抜けてしまっているようです。私のロムのダンプミスかもしれませんが…。 pic.twitter.com/LmyGnQ2Uid

2022-08-29 21:39:16
拡大
拡大
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

日本語版ではなぜエンディングで『りり』と出てしまうのか調べてみました。まずゴーストバスターズのロム仕様ですが、プログラム32KByte+グラフィック32KByteとなっています。絵はバンク切り替えができ、全体的には絵の方が余裕があります。そのため絵を入れる場所に文字データが入っています。 pic.twitter.com/DEnLhIxp9p

2022-08-29 22:59:21
拡大
拡大
Karu_gamo★★☆☆☆ @Karu_gamo

そしてエンディングで文字を表示する際に、この文字情報の入った絵のバンクに切り替える必要があるのですが、ここにミスがありました。別のバンクを参照しているため文字情報がなく、唯一文字として認識したのが『りり』だったわけです。

2022-08-29 22:59:22
前へ 1 ・・ 3 4 ・・ 9 次へ