古いテレビビデオゲームはどのプラットフォームで開発されましたか?[閉まっている]


13

テレビのビデオゲーム(子供の頃にプレイしていたもの)がどのプラットフォームで開発されたかを知りたいと思います。

モバイルデバイス、Windows PC、およびMac用のゲームの開発方法は知っていますが、(当時)Contra、Duck Hunt、およびそれらすべてのゲームがどのように開発されたのかわかりません。高いグラフィックと多数のステージがあるため。それで、彼らはどのようにしてこのような小さなサイズの環境で、より低い構成プラットフォームでゲームを開発することに成功したのでしょうか?


3
ジョーダン・メクナーは数ヶ月前にプリンスオブペルシャのソースをApple II向けにリリースしました。興味があるならここでチェックしてください
ローランCouvidou

回答:


17

NES、Game Boy、SNES、さらにはAtariファミリーのような古いシステム向けに作成された本当に古いゲームは、通常アセンブリ言語で作成されていました。これは、当時のCコンパイラが存在しないか、十分に効率的なコードを生成するタスクに達していないために必要でした。

彼らはすべてのものを小さなカートリッジに詰めることができました-NESの場合、256KBでさえ大量のデータでした(より大きなゲームが存在していました)-彼らはタイルベースや低色のグラフィックスなどの巧妙なトリックを使用して、非常に小さなスペースに保存されるデータ。さらに、ビデオとオーディオ専用のチップにより、ソフトウェアですべてを行うことなく、これらの処理をより効率的に行うことができました。

時間が経つにつれて、Cコンパイラがより効率的になり、デバイスがより強力になりました-N64、GBA、およびそれ以降のデバイスはすべてデフォルトでCまたはC ++を使用しました-そして、一貫して60FPSを満たすために追加の最適化が必要な小さなコード用にアセンブリが予約されましたターゲット(またはゲームを実行するフレームレート)。


4
@Mihirの古いゲームは決して完璧ではありませんでした。彼らは、また遠く離れているので、しかし、彼らはいくつかの最近のゲームよりも優れて実行するように見える理由の一部は、はるかに少ない複雑な彼らの現代的な対応よりも。
カオス技術者

1
@AndroidCoader、あなたが探しているものはエミュレータと呼ばれます。それらは多くのプラットフォームに存在し、現代のマシンの古いシステムの機能をエミュレートしますが、多くの場合、ゲームをプレイするためにそれらを使用することに関連する多くの法的問題/灰色の領域があります。
カオス技術者

PSで最初に発表された「グランツーリスモ」には、物理​​学が関係しているため、アセンブリで大量のコードが記述されていたと思います。
casperOne

3

80年代初期にCommodore 64 / Vic20用のシンプルなゲームを書いたことを覚えています。一部のBASIC(信じられないかもしれません-一部のゲームは完全にBASICエンコードされていました-BASICはマシンのROMにあったので景品でした)-ほとんどはアセンブラーです。アセンブラーも一貫性がありませんでした-ほとんどのマシンには、いくつかの市販のアセンブラーがありました(当時はほとんどがそうでしたが、自分で作成しました)。C64のグラフィックスは、ラスターハードウェアスプライトを使用して以前は非常に高度でした(一度に画面上で許可されているのは8つだけです。16色でした(パレット-実行時にスプライトと同様に変更できます)。スプライトはもちろん2Dです。

私が遊んだ最初の「ホームコンピューター」は(以前の科学およびビジネスマシンを無視して)ZX81でした(私の学校はZX80を持っていましたが、博物館の展示のようにガラスの箱に閉じ込められていました。Kの1/4(256バイト!)でゲームを書くことを想像してみてください-これがスキルです!


3

1970年代後半から現在までのビデオゲームシステムまたは第1世代のコンソール(コンソールと呼ばれる前)は、現在でも組み込みコンピューターシステムとほぼ同じように開発されています

埋め込まれたコンピュータは、パーソナルコンピュータに似ていない電子システム、またはより大きなマルチユーザ・コンピュータ・システム(例えば、時分割システム、ミニコンピュータ、およびメインフレーム)内のコンピュータ(すなわち、マイクロコントローラまたはマイクロプロセッサ)です。大きな違いの1つは、通常、ビデオ端末とキーボードを介した標準の入出力が不足していることです。

開発は別のコンピューターで行われます。最近では通常、ターゲットシステム(このコンテキストではビデオゲームシステム)の実行可能ファイルを生成するクロスプラットフォーム開発環境を使用する開発者のPCまたはワークステーションです。システム独自の(またはホスト)CPU。

現在のビデオゲームシステムの2つの例は、ソニー、東芝、IBMセルプロセッサをベースとするソニーのプレイステーション3と、多くの場合ARMベースのマイクロプロセッサであるモバイルデバイス(スマートフォン、タブレット)です。

Michael Madsen 示されたプログラミングの大部分は、CやPascalのように、アセンブリはなくハイレベルコンパイル言語で行われました。これは、ゲームのコンテンツ全体を高度に制約されたシステム(RAMが非常に少なく、カートリッジROM容量が限られている)の範囲内に収めるため、およびAtari 2600のTIAなどのコプロセッサーにアクセスするために必要でした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.