読者です 読者をやめる 読者になる 読者になる

プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

Star Trek for PC-G850VS - v1.0

ポケコン


マイコン黎明期の傑作ゲームスター・トレックを、PC-G850VSに移植しました。



ダウンロードは以下より:


http://www.geocities.jp/yasuho68k/g850/index.html#startrek


ベースとなったStar Trekこちら

基本的には移植なんですけど


ポケコン版は画面サイズなどの制約から、以下のアレンジをしています。

  • オリジナル8x8に対して、6x6の宇宙空間
  • 上記に伴うゲームバランスの調整
  • 座標系の変更(オリジナルは上0度から時計回りに角度上昇に対し、PC-G850VS版は右0度から反時計回りに角度上昇)
  • Sコマンドはない(小宇宙はメイン画面上に表示されている)


大部分は新たに書き直してます。特に角度計算の部分はフツウに三角関数ですが、ポケコンなんで十分速いですね。


最初は6x5ドットのフォントとか用意して8x8を実現しようとか考えてましたが、最終的には24x6の画面にキャラクタベースで。8x8に比べて狭いけど、あの雰囲気は再現できたと思っております。いかがでしょうか!?

開発メモとか

ポケコンにしては規模が大きかったので


当初予定していた期間よりずいぶん時間がかかってしまいました。大体一ヶ月ぐらいかな。電車の中でプログラミングするには、このぐらいの規模が限界かも。これより大きいと、たぶん面倒になっちゃう。

LINE10にDIM SM$(5,5)*1という不思議な行がありますが


これは文字列変数の文字数を制限するものです。*1と書くと、変数あたりの文字数は1になります。


PC-G850VSのBASICでは文字列は無条件に16バイトの領域が取られてしまいます。なので、文字列配列は文字数を制限することで使用メモリ量を変えることが出来るようになっています。このプログラムではSM$は1文字しかあり得ないので、1に設定。逆に16文字の制限を増やすことも可能。


ポケコンガベージコレクションは荷が重いので、このような構造になっているのでしょうね。

次回作は


どうしようかな。いよいよ機械語に手を出そうかしら。:)