kyoyaの日記: Oh!X - MZ-700
で検索してたらたまたまMZ-700 BROAD SWORDという懐かしい単語が目に入った。
あの古籏氏に(リップサービスにしても)面白いと評されていたとは...わがMZ人生に一片の悔い無し!
(追記)
# よもやまばなし(古いことなので記憶違いはあるかも)
- キャラや弾の座標系は16bitの固定小数(小数部8bit)。まず小数部の8bitを増減。
キャリが立ったときのみ整数部8bitをinc/decして表示を更新。
- 1行40バイトなので40倍の方法を考えた気もする。(y*4+y)*8だったか..? 忘れた。
24バイト無駄にしても1行64バイトだったらどんだけよかったか
- キャラ表示は2x2文字の組み合わせ。大キャラはその組み合わせ。
速度重視で画面端のクロッピングはしない。1行64バイト40文字表示24バイト非表示ならどんだけ(..略)
- 背景はスペースではなく黒い星(ドット)が敷き詰められていて色だけ書き換えて動かしてる。
- 無敵モードに入るには、キーマトリクス上にキーが存在しないとあるキーコードを入力すること。
候補となるコードは12個(忘れた..)。さて700エミュレータはゴーストタッチを再現するか?
- 当たり判定があるオブジェクトで破壊できないものはない。
最強は攻撃してこない壁で、その硬さは都市伝説のバキュラに匹敵するといわれている。
- 自弾の敵への当たり判定は敵の色(アトリビュートエリア)。未使用のbit3='1'ならば着弾。
複雑な形状のキャラでも(文字単位で)正確な判定が可能。ただVRAM遅い。
- 当時VRAMのアクセスが理論値より遅い理由がわからなかった(DMAウェイトを知るのは後日)
帰線期間の知識があればもっと速くできたのだろうか
# ゲームデザインで意識したことは2点
1. "弾避け" 弾幕を紙一重でかわす。これ重要。そのため敵弾は見やすく背景に紛れないこと。
2. "殲滅" 討ち逃すと結構悔しい。全滅させたら気分いい。もっと多彩な編隊の敵を用意したかった。
細かいところで、
- シールド? - リスタートで緊張感が途切れるのを嫌った。(リスタート処理が面倒で省いたという噂あり)
- 自機の被弾 - 上の理由で、シールドがはがれる表現は地味に。
これは失敗だったかも。人間は緊張し続けるのは難しいので...
直すなら、派手なエフェクトで被弾を強調し、無敵期間を設けて緊張を一旦解く。これでシールドの重要性もup
- オプションが被弾? - 弾避けの難易度を上げ、緊張感を増す。
- レーザーが貫通しない?
レーザーは長い高速通常弾の扱い。硬い敵の硬さが際立つし、なんというか敵の質量?を感じられる。
- レーザーが自機に合わせて上下に動かない?
STGは"敵位置を予測し、撃って、自機は回避行動"が基本かと。レーザーも通常弾同様そこは抑えたい。
が、大抵"足を止めて弾幕"で解決してしまう。爽快感重視の結果とは言え...
- 反撃してくる敵 - 破壊時に弾を打ち返してくる敵や、被弾したら巨大化して邪魔になる壁など。
撃ちまくるゲームにしたくなかったので。とはいえ爽快感を殺すので多用は避けた。
# グラディウス?
見た目からもゲームタイトルからもわかる通り、大いにインスパイアされてます。
でも、目指していたのはスターフォース(テーカン)のゲーム感覚なんですね。
# 悔いはないものの
現代MZ-700のオーバーテクノロジぶりや人外のキャラグラ発想力をまのあたりにすると、何かせずにはいられない気になりますね。
Oh!X - MZ-700 More ログイン