ZX Spectrumでネットワークゲームを作成するストーリー



2つ目のZX Spectrumが接続されていないエミュレーターでの地震


ZX Spectrumでの最初の本格的なネットワークゲーム。 AY-3-8910またはYM2149Fコプロセッサーの存在下で、48kb以上のメモリを備えた任意の2つのクローンで動作します。 speccyでそのようなことができることを知っている人はほとんどいないので、このゲームを作成する秘secretを少しだけ明らかにします。



2003年、夏の日、新鮮なダウンロードフォルダーをかき集めます。 AlcoNews#17の新しい号に出会いました。AY-3-8910を介して2つのSpectrumを接続することに関する興味深い記事がありました。最も重要なことは、非常に単純な3配線と2つのSpectrumであるということです。 当時、Bugsyは単なるスペックを改造していました。 このような状況の組み合わせのため、私たちはすぐにzs scorpion 256kbでこの修正を行うことにしました。



アプリケーションとして、AlcoNewsにはこのネットワークの動作を示すプログラムがありましたが、残念ながら機能していませんでした(破損したアーカイブがあることが判明しました)。 私はすぐにハードウェアの問題を探してポートをテストしようとしましたが、ポートが完全に機能していることがわかり、次のステップは割り込みを無効にしてビットを転送することでした。



その後、コンピューターのさまざまな状態でこれらのポートの機能の研究がありました。 それらの助けを借りて、コンピューターの状態を知ることができました:オン、オフ、予期しない切断、送信の終了。



送信が開始されたマスターまたはスレーブを判別できるドライバーが作成され、バイトの完全な同期と転送も行われました。 また、1台のコンピューターでターボモードをオンにすることはできましたが、2台目のコンピューターではできませんでした。 転送はまだ成功しました。 ドライバーの呼び出しは非常に簡単になりました。 代わりに同じldirのみがドライバー関数を呼び出します。 次に、メモリブロックを転送しようとしましたが、Spectrum画面はテープレコーダーよりも高速に送信されました。



データ転送を十分に行ったので、簡単なチャットを作成しました。 テキストを入力して、別のコンピューターに送信できます。 後でそれを完成させ、そこにテキストの色付けを追加し、言語レイアウトを切り替えました。 別のオプションとしてゲームに挿入しました(何らかの理由で、ゲームプロセスに挿入することはありませんでした)



まず、ゲームを迷路にする試みがありました。そこでは、相手よりも速く出口に走る必要がありました。 しかし、それは簡単すぎるように思えました。 それと同時に、Quake 3アリーナをプレイしていました。 そして、アイデアはそれだけで生まれました。なぜQuakeを2Dで作成しないのですか(今ではこのアイデアは非常に人気があり、モバイルデバイスで人気のある2Dゲームを作成しています)。 このゲームは、このQuakeのスキン、マップ、およびラウンドの制限のほとんどすべての興味深い機能であることが判明しました。 ちなみに、ゲームでは、3バイトが常に各コンピューターに送信されます:X、Y、およびプレーヤーのアクション。



その後、できるだけ多くの人にゲームを見てもらいたかったので、システム要件はZX Spectrum 48kbとAY-3-8910の最小のコプロセッサーでした。 しかし、残念ながら、実際のSpectrumでそれを見た人はいませんでした。当然、これはエミュレーターでサポートされていませんでした。



All Articles