月別アーカイブ: 2018年7月

CARRY DIAMOND


PiO 1986年1月号掲載。ダイヤモンドを縦または横に並べるパズルゲーム。当時流行ったペンゴのダイヤモンドを最低限の手数で並べる詰めペンゴに似てる感じです。PCG対応で、きれいなグラフィックで楽しむこともできる。

ソフト設計で重視してたこと

今でも自分が作ったパッケージが動いてるかどうか知りませんけど、末永く動くプログラムを設計するのに重要なのは安全・安定性を重視してました。その機種独特な言語だと移植性も低いですけど、SEQUOIA(UNIXもどきマシン)で設計したパッケージはC言語で書いてましたが、機種依存なものを使わずに設計してたので、IBM RS/6000にソースをそのまま持ってきて無修正で動かすこともできました。まあ、パッケージ自体がコンパクトでシンプルだったのもありますけど。Cライブラリも、バッファオーバーフローを引き起こすようなものは使わず、面倒でも安全なものを選定した記憶があります。

辞める数年前、hp NonStop Serverへのパッケージ移植に携わりましたが、耐障害性の問題もあったので、メーカーに安全なAPIを選定してもらって設計しました。社内へ提供したとき、注意点も含めて公開したにも関わず、各プロジェクトで自由にAPIが使われてたのには驚いた。まあ、辞める直前だったからどうでもいいやって思ってた。それと、汎用的に作っていたプログラムも、プロジェクト用に手直ししろとか言われて、それはプロジェクト側がうちらのプログラムをラップして作るのがルールなんだよって言っても聞いてくれなかったのが痛かった。結局知識を持ち合わせない人が上流工程に入って動かしてるとこうなるよなって例を見せられて反論しようにも、辞めるからどうでもいいやって気持ちが強かったから姑息(その場しのぎ)で仕上げて辞めましたよ。あとはどうにでもなれって思ってた。
Linuxなどでも開発してると思うけど、ライセンスとか守ってるのか疑問です。まあどうでもいいけど。

自分がやってた時は、例えばprintfがNGだったら同じ機能を持ったルーチンを安全なAPIで作ってました。そういった努力が見れられなかったので非常に危険だなって思ってたけどどうなることやら。GPL2なものも勝手に取り込んだりしてないか気になる。

BATTLE ARRAY


PiO 1986年5月号掲載。自分のタンクを動かして敵を倒していくゲーム。GROBDAと似てるかな?敵戦車を倒すと爆風が広がるので近くに敵洗車がいれば誘爆できます。うまく敵が固まってるところへ敵を倒すようにしていくと高得点が狙えます。

BUG HUNTING


PiO1985年9月号掲載。ショットを撃って上の機体にショットを当てて弾を反射させて敵を倒すというもの。跳ね返した弾が敵に当たらないとそのまま弾が落ちてくるので避けないと死にます。避けても地面に穴が空いていき、下まで貫通するとアウトです。