EXCEEDの同人ソフト開発日記という名の備忘録

趣味のゲームソフト開発人。プロなのかアマなのかは不明(不定)らしい。

任天堂のソフトはいつも予定通りに出てこないって言われるけど、
ソフト作りっていうのは、そういうもの。
ゲームソフトは、期限までにやれと言われて、徹夜したり死に物狂いでやったからといって、
期待通りのものにはならない。そういうふうにすると、
結局、チームは妥協しなければならなくなる。
妥協させられて、できたものは、粗くなってしまう。
ユーザーは目が肥えていますから、受け付けてもらえない

山内 薄

俺専用ハイディフォス

ハイディフォスについて→http://d.hatena.ne.jp/EXCEED/20051222


■ハード構成

・Silent-2モジュール(Eスポ検出装置)
CQ-FRK-MCF52233(Coldfire V2基板)
・MCF51QE128(Coldfire V1 メインCPU)
・小型有機ELディスプレイ(VRAM)
・YM2413(2オペレータFM音源
・YMZ294(PSG音源)
・入力装置(ゲームのコントローラー)



■原理

Silent-2モジュールでEスポを検知

CQ-FRK-MCF52233基板で「異常な電波を受信しました」という内容のメールをユーザーに送信し、異常電波を受信したことをユーザーに気付かせる。

有機ELディスプレイに以下の流れを表示。



要は、なにが言いたいのかというと


Eスポ発生時のみ遊べる
ハイディフォスの作成。

エレキジャックフォーラム

今日秋葉原UDXで開催されたエレキジャックフォーラムに行ってきた。

プロの技のトークショー」という現役プロの方のトークショーがあり、そこで中本伸一さんのアマチュア無線に有効な「Eスポ」自動検出・通知システムの製作――超小型受信機モジュールを趣味の電子工作に活用するを受講し、ふと思いついたものをメモ。



(余談)

 []中本[]伸一氏 → 通称1000万点のヒゲのおじさん
 私が知る限りの代表作 → FC版[]ロードランナー[]、FC版ボンバーマン、Hu-[]BASIC[]、X-[]BASIC[]、Human68k、[]PCエンジン[]等

 要は神

吸出し

その1

某所で入手した「DSテレジャン」の吸出しを行ったのだが、何度吸い出しても特定のセクタでCRCが合わない。しかも、吸い出されたデータすべてをバイナリdiffにかけても、すべて同一内容。仕方がないのでBIOS ROMを再度解析してみたら原因が分かった。なぜだか知らないが、このソフトの場合はCRCを無視する構造になっていて、それが原因でCRCが合わないセクタがあっても正常に起動することが判明した。

しかし、私は麻雀のルールはよく知らないのだが、この頃の麻雀ゲームは素朴で罪が無くて見ているだけでも飽きなくて、非常に好きだ。

その2

吸出し基板によるテープデータの吸出しは出来ているのだが、どうしても吸い出せないソフトが1つだけある。それは「大相撲」。なぜ吸い出せないかというと「ドングルが欠品」だから。当然ながら、ドングルはセキュリティーパスの役目を果たしているので、これがないとハード的アプローチで電子回路に割り込んでもプロテクトの外れたデータを吸い出すことができない。しかし、テープの寿命も年々来ており、悠長な事も言ってられないので、急がないとならない。

そこで、考えたのが「別のゲームのドングルを使って吸い出す」という方式。要は「合わない鍵で無理矢理ドアをこじ開ける」ということで、合わない部分をソフトウェアで補うという方法なのだが、これが理論上うまく行くはずが、成功しない。もしかしたら「大相撲」は新手のプロテクト方式を採用しているのかもしれない。

ただし、仮に大相撲の吸出しに成功したとしても、これが動くかどうかは正直言ってバクチに等しい。なぜならばドングルはセキュリティーキーの役割の他に、データROMの役割も持っているため、データROM内のデータを読み出す作りの場合、ドングル(のROMデータ)が無いと、完全にアウトということになる。

あともう一つ怖いのが、「実はもう大相撲のテープは死んでいる」という状態にも関わらず、ドングル無しの吸出しを行う行為を試行錯誤するという状態。こうなるともう永遠に吸い出すことは不可能になる。

まだここには書かないが、もう1つだけ最後の望み(方法)があるので、それを試してみようと思う。

ファランクス

ウチのブログ的にも、これも語らないと。

1991年に X68000 で発売された横シューティングゲームファランクス」が Wiiウェア用ソフトとして復刻され、12月22日から500ポイントでダウンロード可能になったので、早速ダウンロードしてみた。

http://www.zoom-inc.co.jp/wii/phalanx/index.html

実は、私自身 X68000ユーザーになったのがX68000後期の頃だったので、このゲームはリアルタイムで遊んでいたわけではなく、数年前にズーム社が自社ホームページ内で過去作品の無償ダウンロードサービスを行っていた際にダウンロードして遊んだことしかなかったりするので、あまりプレイ時間は長くないのだが、それでも気付いた点を幾つかあげてみたいと思う。

結論としては、良くも悪くも「別物」500円なら間違いなく買い。

個人的に残念だったのが、ファランクスを象徴している演出が再現されていなかったこと。たとえば、1面の後半の焼け野原の大地がラスタースクロールしないとか、2面の水中もラスタースクロールしないのは残念だったと思う。とくに1面後半の焼け野原の大地は、X68000版では、物言わぬ「争いの壮絶さ」をラスタースクロール+装飾スプライトを使って効果的に表現していた(と私は思う)。とくに、焼け出された鉄塔(ビル?)がさりげなく立っている辺りが、大変いい味を出していたのに、ラスター再現を削った弊害でそれらも同時に再現不可能になり、とても残念。

私はWiiでの開発経験がないので、もしかしたら無茶なことを言っているのかもしれないが、すだれ状のテクスチャを縦に並べるだけで再現できると思うし、おそらく Wiiの描画能力的にもファランクスの1面程度のものであれば、60fps は余裕だと思うのだが、実際はどうなのだろう?

あと気になった点は、やっぱり音楽。個々の好みの問題があるので、一概に良い悪いは判断できないとは思うが、個人的には、原作のFM音源のBGMをベタ流しして欲しかった。Wii版は聴いた所、ローランドの MT-32 っぽい音をしているが、よく聴くとそうでは無さそうなので、BGMは Wii版用に作り直しをしているようだ。(譜面自体はX68000版と同じ)

X68000版はハードウェアの ADPCM1音という制約上、ファランクスの場合はとくにドラムパートの欠落が顕著という止むを得ない事情があったが、Wiiであれば、そういう問題は起こるはずがないので、ドラムパートが欠落しないベタ録のFM音源+ADPCMのBGMを密かに期待していただけに残念。(ちなみに、X68000版は PCM8に対応するパッチがあったらしい)

また、今回、「Wiiモード」と「X68モード」という2種類のゲームモードがあるが、これらモードの違いが想像していたものと全く異なっており、「Wiiモード」を選択すると、一部のキャラがコミカルキャラになったり、ステージ開始時に「おやじギャグ」が出たりするというシロモノだったりする。個人的には、Wiiモードにすると、当時ソフトウェアでごり押しで再現していた回転拡大縮小が、ハードウェアアクセラレーションで滑らかになったり、新しい武器が出たり、理不尽だった敵配置が修正されたりするのかと思っていた。これだったら、初めから「コミカルモード」「オリジナルモード」としておいた方が期待を裏切らなくてよかったのでは?と思った。

それとどうでもいいことかもしれないが、CEROのセクシャル判定に該当するような演出が削除されていた。(ネタバレにつき詳細は記載しない。)

ただ、悪い点ばかりでもなく、良くなった点も多々ある。たとえば、X68000版に比べて、敵弾やキャラクターが見やすくなっている。X68000版はキャラクターが背景に対してカメレオン状態な配色だったため、とくに敵弾が見づらく、何時の間にかミスしているということが多々あった。

他には当然ながら、当時、ソフトウェアでごり押しで再現していた回転拡大縮小が、スムーズに表現されていて、おそらく当時の開発者は、こういうことをしたかったんだろうなぁ・・・としみじみ思った。(もちろん、当時のゴリ押しエフェクトも最高に輝いていたと思う。)

それで最大の改良点と言えると思うが、理不尽な敵の配置や攻撃が緩和(見直されて)おり、他にもボスや中ボスなどにダメージを与えるとその箇所がフラッシュするように変更されていて、ダメージを与えているかどうかが視覚的にわかるのようになっており、こういう細やかな気遣いがとても好感が持てた。


ちなみに、128bit X68090 SHARP の広告はそのまま残っていた(笑)

乱数発生器(ルーチン)を発見。もちろん元コードは 6502 で書かれているため、それを 680x0 にコンバートしないといけないわけだが、ここで問題が・・・

端的に言うと、「不定期な割り込みが発生した際、その時の CPU レジスタ値とキャリーフラグを種として保存し、実際に乱数値を得る時には、さらにその時点でのキャリーフラグを混ぜて使う」という風になっている。そのため割り込み発生時のキャリーを種に使うという時点で、同じアルゴリズムを採用することは厳密には不可能に等しいが、幸いにもこの乱数発生器は「ゲーム開始直後の最初のステージをサイコロを振って決める」という用途でしか使用していなかったため、それほど拘る必要もないのかもしれないが、例えば乱数発生器の再現度がシステムを大きく左右するようなゲームの場合(ドルアーガの塔の扉や鍵の位置など)他所様はどうしてるんだろう・・・とか、ふと思った(ぉ