©1984, 2021 GAME ROMAN
FANTICは、Oh!MZ 1985年3月号に掲載された迎霧狼慢氏作のパズルアクションゲームです。 オリジナルのMZ-2000版をMZ-1500に移植しました。
迎霧狼慢氏の許可を得て、MZ-1500移植版のMZTイメージとソースコードを配布しています。
![]()
ティッ君 このゲームの主人公。ひたすらブロックを集める元気な子。 ![]()
グローブン はっきり言って悪い子。ティッ君のじゃまばかりする。 ![]()
黄金ブロック ティッ君の仕事は、これを4個フィールドの中央に集めること。 ![]()
青ブロック 別に意味はないが、黄金ブロックを集めるときにはどうしても必要になってくる。 ![]()
オイル 地面にときどき湧いてくる。これを取ると一定時間ティッ君の頭に火がついて、グローブンに触れても大丈夫になる。 ![]()
コイン 1面1個、どこかのブロックの下にある。いろいろな種類があって、さまざまな現象が起きる。
ルールはいたって簡単、制限時間内に(タイマーが赤のうち)画面上に散らばっている黄金ブロックを画面中央(白い点のあるところ)に4個集めれば1面クリア!! なんだ簡単な…… と思われる方も多いでしょう。しかし面数は365面もあるのですよ……。
次に、ルールについて説明を。
ティッ君は、カーソルキーに対応して上下左右に歩きます。スペースキーを押して、ブロックをはね飛ばすこともできます。
ブロックの動かし方を間違えてどうしようもなくなったときは、SHIFT+BREAKを押すと強制的にアウトになり、今の面をやり直せます。
これには2種類の動かし方があります。
図1ひとつは、ティッ君の前にブロックしかない場合(図1)。ここでスペースキーを押すと、その方向へブロックははじかれていきます。
図2もうひとつは、押そうとするブロックのうしろにブロックまたは壁のある場合(図2)。ここでスペースキーを押すと、ブロックを押した勢いで、ブロックはティッ君と一緒に反対方向へはじかれていきます。この場合、ティッ君はブロックにはさまれてもアウトにはなりません。
はね飛ばしたブロックでグローブンをつぶすと、50~500点もらえます。
ティッ君は、グローブンに触れたり、グローブンの飛ばしたブロックにつぶされたり、タイマーが0になるとアウトです。
しかし、弱いばかりではありません。地面にときどき湧き出るオイルを取ると、頭に火がついて、一定時間(タイマーが黄色の間)はグローブンに触れてもだいじょうぶ。また、ブロックの下に隠れているコインを取ると、さまざまな現象が起こる!?
グローブンは各面4匹いて、それぞれメチャクチャにフィールドを歩き回ります。また、ときどきブロックをはね飛ばしてくることもあります(ただし黄金ブロックをはね飛ばすことはない)。当然ながらこのブロックにつぶされるとアウトです。
また、オイルですべって、つっこんでくることもあるので注意!!
タイトル画面で「OPTION」を選ぶと、開始ROUND数とゲームモードを選択できます。
- ROUND TO START
- 開始ROUNDを 1~365 から選択できます。
- GAME MODE
- ゲームモードを選択できます。
ORIGINAL オリジナルのMZ-2000版に準拠したモードです。 ARRANGE グローブンがおとなしくなるほか、オイルによるパワーアップ中にティッ君がグローブンに触れると倒せるようになります。 PUZZLE グローブンが出現せず、時間制限もなくなります。
オリジナル版はMZ-2000用のdB-I BASICで書かれていましたが、MZ-1500にはありませんので、BASICのソースリストをC言語に手作業でコンバートし、z88dkでコンパイルしました。原作の実際の速度はわかりませんので、たぶんこのくらいだろうというレベルに適当に調整しています。
GPRINT, SOUNDなどのランタイムはアセンブラで用意しています。GPRINT命令によるソフトウェアPCGは、MZ-1500ではすべてハードウェアのPCGでまかなえるため、処理速度にはかなりの余裕があります。SOUND命令は、第一引数N, 第二引数Mについて f = 1 / (N * 13us) の矩形波をM個出力するものと思われ、分周比を適当に変換して8253で鳴らしています。
ハードウェア依存のランタイムが一応分離されていますので、他機種への移植も簡単かもしれません。(※一部C言語部分からVRAMを直接触っているところがあります)