[k-matsuのページトップ]>[電脳小物]>[京ぽん]>[ミニトレック(minitrek)]
『ミニトレック(mini-trek)』はコンピュータゲームの黎明期の有名なスタートレック(Star Trek)をメモリの少ないファミリーベーシック向けに移植され、ファミコンソフト集 (003) (ファミコン大作戦) (誠文堂新光社)に掲載されたものです。
京ぽんではファミリーベーシックほどのメモリ制限はありませんが、京ぽんの画面の狭さ、ミニトレックのプレイの手軽さから移植してみました。
プレイヤーはエンタープライズ号の船長となり、30日以内に敵クリンゴンを全滅させます。
舞台は宇宙空間で、2種類のセンサーとワープエンジンと光子魚雷が装備されています。
敵の攻撃やワープでエネルギー切れになってしまうか、あるいは制限時間の30日以内にクリンゴンを全滅できなかった場合ゲームオーバーになります。
宇宙はエリアと呼ばれる大きい区切りで6x6に分けられます。
このエリアの状況を表示するのがロングレンジセンサーです。
各エリアは2桁の数字によって表されています。左側(10の位)は味方の基地の数、右側(1の位)は敵クリンゴンの数を示します。
ロングレンジセンサーはエンタープライズ号がいるエリアとその周囲に隣接する8エリアの状況を表示します。未到達/未隣接で状況がわからないエリアは"**"で表されます。
各エリアはセクター(sector)と呼ばれる小さい区切りでそれぞれ6x6に分けられます。
セクターの状況を表示するのがショートレンジセンサーです。
セクターは1文字で表され、Eがエンタープライズ、Kがクリンゴン、Bが基地、.(ピリオド)は何もない空間です。
ショートレンジセンサーは現在エンタープライズ号がいるエリア内のセクターを表示します。
エンタープライズ号はエリアを移動するロングワープとエリア内のセクターを移動するショートワープができます。
ミニトレックのエンタープライズ号は優秀なので方向と距離を自分で計算する必要はなく、ロングワープもショートワープもワープアウトしたい座標を指定するだけで正確にワープできます。
ショートワープは時間も消費エネルギーも誤差の範囲内ですが、ロングワープは1日分の時間と距離相応のエネルギーを消費します。
目的地までのエネルギーが足りない場合ワープはキャンセルされます。
エネルギーが少なくなりすぎると0ではなくても手詰まりになってしまい事実上ゲームオーバーとなりますので注意してください。
敵クリンゴンを破壊する唯一の武器です(フェーザー砲は壊れたのでしょうか…)
こちらも方向を自分で計算する必要はなく敵のセクター座標を指定するだけであいだの障害物に関係なく目標を攻撃してくれます。
ただし敵との距離が離れているとたまに外れることがあります。
またエンタープライズ号が現在いる以外のエリアの敵には魚雷は届かず攻撃できません。
光子魚雷は撃つと残弾数が減っていくので攻撃できなくなる前に基地に寄って補充してください。
ゲーム開始時、ワープ後、攻撃(光子魚雷)後にエンタープライズ号と同じエリアに敵クリンゴンがいる場合敵からの攻撃を受けます。
敵の攻撃を受けるとエンタープライズ号のエネルギーがその分減り、0になると任務続行不可能となりゲームオーバーになります。
ただミニトレックのエンタープライズ号は優秀なのでエネルギーが減る以外の影響はなく、他のスタートレックゲームのようにエンタープライズの各種装備が壊れて修理完了まで使えなくなることはありません。
フルスクリーンモード,ズーム100%に設定してください。下のゲーム開始のリンク先に飛ぶとスタートします
[1]ゲーム開始(オリジナルバランス版)(転送量3.7KB/保存時11.4KB)ゲームが始まるとロングレンジセンサーとショートレンジセンサーは自動的に作動し随時更新されます。
プレイヤーは
いつにも増して、こいつも難産でした…
テーブルはレンダリングが超遅かったし、かといってテーブルを使わずに等幅フォント指定で表示する方式にしたら京ぽんは小さい等幅フォントに乏しいようで表示が縮小でにじむし、
なので結局テーブルを遅くても使用、ロングワープ後に画面が一呼吸ブラックアウトするのは表示高速化の苦肉の策です。
他にも元のBASICではあたりまえなキー入力待ち→キーに応じて処理→別のキー入力待ちといった流れをJavaScriptに持ってくるとなにげに中々困る困るw 結局相当苦肉の策だらけなものになってしまいましたorz
アレンジに関しては色々と異論もあるでしょうが、とりあえず「ミニじゃなくなる方向(先祖返り)」には進まないようにしています。ミニじゃないスタートレックは別の機会に別物として実現すると。…いつの話だ、おい>自分
[k-matsuのページトップ]>[電脳小物]>[京ぽん]>[ミニトレック(minitrek)]