単に解き方だけを書くのではなく、ステージのポイントを書いておくことに。
こうすることで、解き方を間違って書いていたりした時も「ああ、ここがこのステージの重要なところなのね」と分かるから。
出題者の意図するところは何なのか? という観点からも考えてみるのもいいかも知れません。特にこの非常口DSでは、全てにおいて無駄がないステージ構成をしているとのことですから。
「レシートのロールが機械に詰まったので」と、機械をあけて名札から(担当者の)情報を読み込ませて、違う方法で印字したものをもらうと、こんな感じの小さな文字に。
~~~~
上のレシートの、通常印字はこんな感じ。東芝テックの機械の文字ですが、昔のタイプバンクのワープロでのゴシックの印字と比較すると、ちょいと改良されているものの、ほぼ雰囲気はピタリ。もう、タイプバンクの文字とほぼ確定でしょうな。
さりげに「お金を入れてください」と機械に言われないように、まず千円を投入するというテクニックを披露する私。
非常口 EXIT DS 3-9。この画面はどこかで見たような…、エレベーターアクションだわな。メーカーもタイトーだし。サターンのエレベーターアクションリターンズやらななぁ…。
そんなこんなでシチュエーション3をクリアし、シチュ4へ。
処女航海を迎え、大海原を行く優雅な船影。その豪華客船に、無慈悲な災難が降りかかった。
突然発生した巨大竜巻に飲み込まれ、もはや沈没は免れず、一刻の猶予も許さない。
仕方がない。乗客達には俺流のスリリングな演出で豪華クルーズの続きを楽しんでもらおうか。
舞台はタイタニックですね(もしくはセプテントリオンか)。
現在4-9(39面目)までクリアして4-10(40面目)です。こんなにガッツリとパズルゲームをしたのは久しぶりですな。ちょっとは頭が柔らかくなったのかしらん?(・・?
現在3-9面目ですが、6-10面までなら好きな面をプレイできます。なので、解けなくて詰まっても他の面をプレイできます。
なので、38面と書きましたが、3-8面です。
「パソコンも ソフトが無ければ ただの箱」なんて言われますが、WinからMacを触ってまず思ったのがコレであります。なので、フリーウェアやらなんやらを導入して、それらしく使えるように…からでしたが、確かにWindowsとは違う世界を見ることができました。ああ、Macってこんなんなのね…って。
Macだと、ヒラギノとフォントワークスのレッツエントリーパックであります。後にはWinの一太郎2012にもヒラギノがバンドルされましたが、Macの文字というイメージが強いです。
もう、カバーを開腹しまくったので、中のツメが割れてボロボロです。お好み焼きのヘラを突っ込んで、強引に開けてきましたからね。そんなこんなで付き合って20年、よく動いているなぁって感心します。Win MeとかXPとかも使いますが、これらは仮想OSですから、ネイティブの実機としては無いです。やっぱり仮想OSだと、ソフトを動かす際にちょいと不具合があったりなんかして、ネイティブ環境が欲しいなと思うこともあります。
Mac mini、使える限りはオモチャとして使い続けることにしましょう。新しいMacを買うという選択肢は、今のところありません。買っても、Winと並行してなかなか使わないと思いますから。
ちなみに、コレを取り込んでいるスキャナも22年以上使っています。そして、ペンタブ(ワコムのFAVO)も24年使っています。物持ち良すぎますな。買い替えれ、と思うこともありますが。
ほんとはちゃんと毎日絵日記を描きたい。でも、帰ったらバタンキューですぐに寝てしまうほど疲れている現状では無理…ということで、たまーに思い出したように描くみたいなことになっていますが。
別に(一時期混ぜて使っていた)平成明朝体やリュウミンでもよかったですけどね、わざわざ専用に作ったと。3が「ろ」みたいな形じゃなくてもいいのよワシは。
主にレシートプリンタで使う用に。
FMタウンズのビットマップフォントはシステムとOASYSに入っています。システム側は画像のような感じで入っていて、OASYS側には32ドットの教科書体や丸文字もあります。ただし、教科書体と丸文字は半角やJIS第2水準はありません。なので、使いどころが限られると思います。丸文字はアウトラインのフォントがありますが、あれにはJIS第2水準入っていたかな? 丸文字なんて使わないから全然。
あと、48ドットの毛筆体もあります(TrueTypeにもあるので、これでいいと思うから変換していない)。明朝24ドットはシステムは字面22ドット、OASYSは字面24ドットです。
システムのゴシック32ドットの半角はなぜか明朝が入っていましたので、OASYS側から変換。記号と英数はありましたが、カタカナがありません。カタカナの半角がどうしても必要なら全角を長体50%にして打ちゃいいか…と思ったので、ここまで。
32ドットと48ドットは枠いっぱいいっぱいにデザインされていますので、字間を空けて印字しないとくっついてしまいます。
FMタウンズのシステムフォントをいらっているわけですが、変換作業をやりだすと、あとはほったらかし(時間はかかるけど)。
なかなか暇な作業なので、のんびりやりますわ。
FMタウンズのシステムフォント24ドットを使いやすく。教科書体って何の字母? と調べると、なんとモ●ヤなのね(・・; そりゃそうか、明朝ゴシックがそうなのだから…ですが妙に新鮮。 明朝も24ドットで大きく表示・印刷。
でも、教科書体と丸文字がJIS第1しかないや(~~; JIS第2はアウトラインのやつに入っている?(・・? 富士通のTrueTypeの教科書体はモ●ヤじゃなく岩■だけどまぁ。
教科書体は、キヤノンかイワタのどちらかがほとんどです。日活(HG)なんかもありますが、そういやあったね…みたいな。
UDデジタル教科書は私からすれば「教科書体風の丸ゴシック体」なのですが、識字障害の人が読みやすいフォントということですし、灘中の入試問題なんかにも使われていますね。
教科書体、キヤノンだと「現代人が手書きしたようなフランクに使える雰囲気のもの」、イワタは「これ以上無い端正なお手本」でしょう。
写研もキレイだけど、昔のジャンプとかでしか見ないからなぁ。今、ほとんど見ない。
UDデジタルはユニバーサルデザインなので、読みやすさに全振りのフォントと。
値札やポップに使われているフォント、メインがHG丸ゴシックM-PRO、そして目立たせたいところが創英角ポップ体とIMPACTという欧文フォントの数字です。
要するに、WindowsやOfficeに入っているフォント。ダイレックスって、フォントを気にしないスタイルなのね(・・;
これがサンドラッグとかコープならニィスのJTCウィン丸ゴシック・角ゴシック・明朝、サンディやドンキならWissenという値札作成ソフトの専用フォント(ゴナやナールのパチモン)だったりするのですが、ダイレックスにはそういうコダワリが無いのね(、、; 上に掲示している、棚の分類なんかも丸ゴシックPROであります。細い気はするけど、そこに何が売られているか分かればいいってなもんですか(’’;
ワシ、Officeのフォントなんてアンインストールしてますわ、丸ゴPRO使うぐらいなら素直にリョービシリウス使いますし…ってなもんですが。逆に言えば、こういうところにこだわらない分、安くできる…ってなものなのかいなと。
今回はアイテムの指定について。種類と位置ですね。
前にスタート地点にマルガリータ姫がお出迎え…なんてことをしましたが、あれは近くの黄色い鍵をマルガリータ姫に変えました。
【アイテムA(2バイト目が 80h~92h)】
00 壺 10 ブロック 20 金庫 30 樽
40 ゴンドラの上下スイッチ 50 ロウソク 60 食獣植物 70 炎
80 戦士(猫) 90 魔法使い A0 司教 B0 騎士
【アイテムB(2バイト目が C0h~D2h)】
00 マルガリータ姫 10 フェアリー 20 マップ 30 無敵光線
40 ボンベ 50 チェリー 60 命の水 70 金塊
80 リング 90 十字架 A0 青鍵 B0 赤鍵
C0 紫鍵 D0 緑鍵 E0 水色鍵 F0 黄鍵
こんな感じ。ちょっと変な仕様ですが、難しくはありません。
今のところ、バイナリちまちまで分かっているのはここまでです。
横ランレングスの部分について、今のところ分かっているところまで。
もう、図の上にバイナリデータを書いたものと、実際のバイナリデータを見てもらえれば一発かと。城の一番左上(データ番号00)のステージです。
ランレングス(Run Length)というデータ圧縮方法は「どのデータを何個」という形で書いています。
で、キャッスルの横ランレングス部分のキャラクタは、手書きの図(ちゃんと作りたかったけど、面倒くさいので手書き)のように「2文字」で作られています。
で、バイトの上4ビットがキャラクタの種類、下4ビットが横に置く数(0なら1個、Fなら16個)ということになります。なもので、4Cと指定するだけで一番上のガタガタ部分の1行が書けてしまえると。ただ、並べられるのは横に13個分(26文字)なので、14~16個を指定した場合は次の行にもその余り部分が書かれる…というようになっているかと。
そうして見ていくと、ほぼそのルール通りのデータになっているかと。
城の作りで、斜めにカットされている部分は後で書きますので、ここでは無視します。
しかし、その中で( )で書いた(08)は、白ブロックが敷き詰められているので、本来は18にならなければいけないのでは?(・・? というのが今の疑問です。でも、今は後回しにして他のステージ例なども見ていこうかなと。
ネットでいくら調べても、誰もこういったことをやっていなかったので、しゃぁないな自分で解析してみるかと。
ザ・キャッスルを吸い出して(バッ活とか懐かしいですな)、デバッガのあるエミュレータで動作させてみると、E320Hがラファエル君のいるマップの位置であることが分かります。左上が00H、右の部屋にいくごとに01Hが足されていきます。そして、下の部屋に行くごとに10Hずつ足されていきます。ということで、スタート地点は70Hということになります。
プログラムを解析するのならば、これを取っ掛かりに「LD (E320H),A」「LD A,(E320H)」とかで検索をかけて、その周りを逆アセンブル…でしょうが、自分の場合はバイナリデータでだいたいのアタリをつけて、適当にいらってみる方式で。アーケードやファミコンのソロモンの鍵、ファミコンやMSXのフラッピーなんかは、そんなやり方でステージデータを解析できました。イシターの復活に至っては、ステージの形が2値ベタで入っていたりします。MSXフェアリーランドストーリーなんかもちょこっと圧縮はされていますが、ほぼ2値ベタです。
簡単に見たところ、前半はプログラムデータで(雰囲気で分かりますし、あれなら逆汗してみればいいかと)。そして、4000H~6300Hあたりはキャラクタデータです。キャラデータはyy-chrとかで見てみれば分かりますね。なら、ステージデータは6300H~7FFFHのところかなーと。で、このあたりを色々といらってみると…、ホラもうこういうことねと。
ちなみに、セガSG-1000版(MSX版のベタ移植)のザ・キャッスルもステージデータは同じ形式で同じように入っています。
個人的には、ファミコン版のキャッスルエクセレントを解析して、ステージデータを「ザ・キャッスル」にしたものを作りたいような気もしないではないですが、スクロールするパズルゲームはやりにくいと感じるので、あまり食指が動きません。
そして、オリジナルの広さでMSX版の仕様のキャッスルを遊びたい気もしますが、そうなるともう自力で移植するしかありません。それはファミコンやアーケードのロードランナーなんかにも言えるのですが、なぜDS版のロードランナーはチャンピオンシップの広さでエディットできないのか不満でありますな。CLR6000はスゴイと思いますが、やっぱり固定画面でやりたいのよパズルゲームは。
ログイン版X1ザ・キャッスルでは、マシン語のプログラムリストを見ると、ステージデータは1面あたり200H(512バイト)あります。もし製品版もこのデータ形式なら、100面で51200バイト必要となり、MSXのロムでは不可能です。
~~
圧縮方法でいえば、解析はしていませんが、ドラゴンバスターとかマドゥーラの翼なんかはブロック圧縮(大きなエリアを組み合わせている)でしょうね。ワンパターンな景色が続くでしょう? こういうのは分かりやすくていいのよ。
~~
つか、こんな話の続きを知りたいですか? ワシは自分とこのブログなので、好き勝手に書いてもいいのですが。どうせ誰も見ていないでしょうし、自分の備忘録として。
MSX版「ザ・キャッスル」(と「キャッスルエクセレント」)、名作です。よくぞMSXでコレを作ってくれたと思っています。とても素晴らしい出来です。ハードを知っている人間からすれば、奇跡の移植度であります。
メモリ8キロのMSXでも動きます…という触れ込みで、プログラム容量は8000H(32,768バイト)でできています。驚きの少なさです。たったの32キロバイトです。
Mマガ永久保存版にプログラマーの人が「少ないワークメモリで100面を動作させる工夫」と書かれているので、どんな面データの持たせ方をしているのだろう? と興味が昔からあったのはあったのですが、今になってちょいと調べてみようと思い立つ。ぶっちゃけ、自分でキャッスルのステージを作成したいとも思っていたりしたもので。ロードランナーみたいなコンストラクション機能が欲しかった。
「ひょっとして、特殊な圧縮がかかっていたり、ハフマン符号みたいな圧縮をしているの? ならお手上げだよ、プログラムを解析するしかないよ?」と思いつつ、簡単に調べたところ、どうやら
ランレングス
ですね。これなら、ステージを画面キャプチャして印刷して、バイナリも印刷して見比べながら検証できます。工夫については良く分かりました。今のところ、細かい部分は全然分かっていませんが。
…この記事の続き、書くかねぇ?φ(・・?
なんにもやっていないから、なんにも書いていませーん…ってなもので。
2月は何かゲームをしようという気になるかな…?
最近、疲れてダメダメになってきております。ちょっとどうにかしたいです。
今日でも、眠れずに1日ボーッとしております。
ねー、万年筆が100円(税抜)で買えちゃう時代なんですよねー。昔はプラチナ万年筆のプレピーが200円でしたが、今では400円に値上がっちゃったので、高級品になってしまいました。で、キャンドゥの万年筆ですが、なんとコンバーターがついて100円であります。
ワシ、コンバーターなんて初めて使いましたわ。ペン先をインク瓶の中に入れて(筆ペンなら奥の方までインクに沈める)、コンバーターを回せばあっという間にインクの充填ができてしまいます。ああ、すばらしきかなコンバーター。
インク充填式の筆ペンを使うのが夢でありました。…なら呉●の800円のヤツ買えって?(^^; 800円はちょっと勇気がいりますね…ということで。
万年筆、スタンダード(普通のもの)はまだ試していません。フラット(ペン先が平たいもの)はなかなかいいのではないでしょうか。たまにインクがうまく出ないときもあるのですが、このあたりはペンの持ち方とかかな?(・・?
筆ペンのものは、赤インクを入れたものはちゃんと使えたのですが、黒インクの方はハズレを引いたか? キャップを閉めると開けられなくなる、ペン先も変な癖がついていて書きづらい…と難儀しております。まー、百均なんてハズレのものがバラマキクイズなみに入っていると考えて、予備を買っておくのがいいのでしょうが。
「万年筆」と書いてはいますが、フェルトの中芯がありますので、その手の人に言わせれば「万年筆もどき」なのでしょうが、パイロットのペチットワンもそうですので、気にしない。ちゃんと使えれば、それでよし。まあ、中芯だと洗浄してインクの色を変えにくいかも知れませんが。