MachiKania

Star Trek game for MachiKania (紹介編)

2016年5月1日

MachiKania用に、Star Trekゲームを作成しましたので、紹介します。

2016-05-01-05klgn.png
スタートレックゲームの歴史については、Wikipediaあたりを参照して下さい。私が始めてこのゲームを楽しんだのは、SharpのMZ-80K上で動く物でした。当時のパソコン(マイコンと呼ばれていた)のほとんどに移植されて、楽しまれていたゲームの一つです。

MachiKaniaでもStar Trekが楽しめるようになればいいなと思って色々さがしていたところ、CP/Mバージョンの物を見つけたので、CP/MエミュレーターであるCP/KM上で動作確認とソースコードの確認をした後に、MachiKaniaのKM-BASICに移植することにしました。ゲームのソースコードは、この記事の一番下にあります。

ゲームを開始すると、まずシナリオ番号を聞かれます。あなたはジェームスカーク大佐として、宇宙船エンタープライズ号の船長に選ばれました。シナリオ番号を入力すると、任務が下されます。
2016-05-01-00intro.png
例では、シナリオ1を選択してみました。オープニングテーマ曲が流れる中で、シナリオに於ける課題が表示されます。シナリオ1の場合は、3600年から3627年までの27年間の間に、21隻のクリンゴン巡洋艦を撃破することが、目的です。燃料などの補給のために、3カ所に宇宙基地があります。
2016-05-01-01started.png
オープニングテーマ曲の終了と共に、メイン画面になります。現在エンタープライズ号がいる宇宙域(Quadrant)の様子が、左に示されています。「E」はエンタープライズ号の位置、「*」はこの領域に存在する恒星です。クリンゴン巡洋艦はここにはいませんが、いれば「K」と表示されます。「.」は空白域です。右側に、現在の状態が表示されます。上から順に、現在の年号、任務遂行の期限、現在の状況(緑/黄/赤)、現在の宇宙域の位置、宇宙域内に於ける位置、残りエネルギー量、宇宙魚雷の残り数、防御シールドの強度、残りのクリンゴン巡洋艦の数です。Mr. スポックが色々進言してくれるので、彼の言うことを良く聞きましょう。
スールー大尉が、命令を聞いてきています。命令は、0から9までのキーを押すことで出します。「0」キーを押すと、命令リストを確認できます。
2016-05-01-02hlp.png
これらの命令をどの様に下していくかについては、ゲームを進めながら順に説明していくことにします。Mr. スポックが、「敵宇宙船を探して撃破しましょう」と言っていますので、まずクリンゴン巡洋艦がどこにいるのか、探しましょう。先に表示されていた通り、現在の宇宙域(2:SRS, 短距離センサー, で再表示できます)にはクリンゴン巡洋艦はいません。長距離センサー(3: LRS)で探します。
2016-05-01-03lrs.png
「3」を押すと、3x3の表が表示されます。現在のエンタープライズ号は表の中央部にいます。3桁の数字、百の位はクリンゴン巡洋艦の数、十の位は宇宙基地の数、一の位は恒星の数です。一つ上の宇宙域に、敵船が2隻います。ワープドライブ(1: NAV)で、その宇宙域に移動してみます。
2016-05-01-04wrp.png
「1」を押すと、スールー大尉が方向を、スコット少佐がワープ係数をそれぞれ聞いてきますので、入力して下さい。3の方向に行くと、恒星が一つあってぶつかりますので、少し右より(2.65)の方向でワープすることにします。ワープ係数は、1で宇宙域内のセクターを一つ移動、8で隣の宇宙域までの移動に相当します。
2016-05-01-05klgn.png
クリンゴン巡洋艦がいる宇宙域に入りました。年号が一つ進んで、3601年になっています。8ワープ係数ごとに、一年経過します。ただし、宇宙域間で移動する際は、一律に1年経過します。さて、敵がいる状態なので、Mr. スポックが「シールドが弱くて危険です」と言っています。シールドが破られるとエンタープライズ号が破壊されてゲームオーバーになってしまいますので、手持ちエネルギーのうちいくらかをシールド用に使います。通常は、1000-2000ぐらいにしておくのが無難です。シールド強度の変更は6: SHEで行ないます。
2016-05-01-06she.png
攻撃できる状態になったので、Mr. スポックが「フェザー砲が有効です」と言っています。フェザー砲(4: PHA)を使ってみます。
2016-05-01-07pha.png
Mr. スポックが強度685を勧めているので、この強度にしてみます。
2016-05-01-08pha2.png
(8,8)にいる敵は撃破しましたが、(7,1)にいる敵は遠いので到達エネルギー量が低く、撃破できなかったようです。敵はかなり弱っているので、続けてフェザー砲でもよいのですが、Mr. スポックが光子魚雷(5:TOR)を勧めているので、それを使ってみます。
2016-05-01-09tor.png
遠くの敵はなかなか難しいのですが、この場合だと2.85の方向で命中しそうです。
2016-05-01-10tor2.png
命中しました。この宇宙域に、クリンゴン巡洋艦はいなくなりました。ここで、銀河全体の地図(8:MAP)を見てみましょう。「8」を押します。
2016-05-01-11map.png
「E」と表示されいているところが、現在エンタープライズ号がいる宇宙域です。赤の数字はクリンゴン巡洋艦の数、青の数字は宇宙基地の数、黄色の数字は恒星の数です。見終わったら、任意のキーを押して下さい。以上のように説明した手順を追いながら、銀河全体を散策し、敵艦を撃破していきます。
2016-05-01-12damage.png
敵からの攻撃を受けて、エンタープライズ号の機能が一部故障することがあります。また、攻撃を受けなくても、時々故障は起きます。
2016-05-01-13damage2.png
短距離センサーの故障の場合、近くは見えても遠くが見えなかったり、故障がひどいと全く見えなかったりします。また、各機器の故障の具合は、7:DAMで確認できます。
2016-05-01-14dam.png
機器の故障は、ワープを行なって時間が過ぎると、改善します。また、周りに敵がいない場合、その場で休息をする事により(9:RST)、その時間を利用して修理することが出来ます。
2016-05-01-15dam2.png
2016-05-01-16rst.png
近くに宇宙基地があれば、「B」と表示されます。
2016-05-01-17base.png
宇宙基地の前後左右の隣接する場所にエンタープライズ号を移動させれば、ドッキングできます。
2016-05-01-18docked.png
ドッキングすると、燃料と光子魚雷の補給と故障した機器の修理が行なわれ、Mr. スポックが病気になっていた場合には治療も行なわれます。なお、シールド強度がゼロになるので、改めて設定し直して下さい。また、宇宙基地とドッキング中は、クリンゴン巡洋艦から攻撃を受けても、ダメージはありません。
2016-05-01-19base2.png
2016-05-01-20docked2.png
すべてのクリンゴン巡洋艦を期限内に撃破すると、エンディング曲が流れて、終了です。
2016-05-01-21end.png
シナリオごとに難易度が異なるので、色々なシナリオを楽しんでみて下さい。シナリオ#14, #17, #20は、宇宙基地が無く補給できないので、難しいです。#20はかなり難易度が高いですが、攻略可能である事は確認済みです。シナリオ#445などはほとんど攻略不可能だと思いますが、もし攻略できたという方がいらっしゃれば、お知らせ下さい。

MachiKania用Star Trekは、ここからダウンロードできます。
startrek.hexとstartrek.basの両方をSDカードにコピーし、ブートローダーで「STARTREK」を選択して下さい。なお、PIC32MX170F128Bが必要です。
HEXファイルのライセンスは、machikan.hexのそれに準じます。ソースコードは、こちらで閲覧できます
startrek.basのライセンスは、LGPL ver 2.1とします。ソースコードは、こちらで閲覧できます

コメント

コメントはありません

コメント送信