dポイントプレゼントキャンペーン実施中!

ゲームの開発言語(1980~2010年)

ゲームの開発言語って何を使っている(いた)のでしょうか?
マシン語? アセンブラ? コボル? C?

インベーダーの時はハードウェアを造って、マシン語で造ったそうですが、
過去~現代まで、どの言語を使っている事が多かったのか知りたいです。

開発経験のある方、ご存知の方、教えてください。
特定の時代についてだけ知っている方でも結構です。

お願い致します。

A 回答 (14件中11~14件)

80年代のPCゲームだと、一部のアドベンチャーゲーム(BASICで書いてあるものも結構あった)以外はマクロアセンブラかマシン語モニタでニーモニックを直接打ち込むというのがほとんどです。


当時のC言語のコンパイラ(16bitだとLattice-C、8bitだとBDS-Cが主流、マイクロソフトのCは当初、LatticeのOEMだった)がはき出すコードでは、当時のCPUにとっては重すぎます。まあ、今のコンパイラが出すコードはもっと重いけど、CPUが格段にスピードアップし、メモリ空間も広大になっているので問題にならないだけです。

ファミコンだと任天堂が用意する8bit-PCの開発マシンがあって、そこでアセンブラで開発します。この時代はCPUだけではなく、使用できるメモリ空間が狭く、ROMの容量も限られていたので、コンパイラの冗長なコードではROMにおさまりません。
SFCの頃だと環境も整ってきたので、高級言語も使われています。また、プレステは黒ステには開発環境が付属していますが、これは高級言語だったそうです(どこのものかは不明)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

任天堂はアセンブラの開発環境を用意していたということですね。
C言語のコンパイラの変換も上手くなかったと。(えっ!今もですか?)

仕様を見る限り、このメモリ容量でどうやって造ったのか不思議です。
職人芸だったんですかね。

SFC時代だとSONYのワークステーションを使っていたみたいですが、
使いづらかったみたいですね。
(結局SONYは任天堂と喧嘩して独自でCDゲーム機を作りましたが…)

お礼日時:2010/07/11 23:00

80年代にはC言語でもう書かれていたと思いますよ。


C言語がメインで高速動作させたい所やハードを直接叩いた方が効率が良い場所はアセンブリで書かれていたと思われます。

>マシン語とアセンブラは同じ意味です。
違います。別です。
アセンブリ言語ね。アセンブラは翻訳機(コンパイル型言語のコンパイラみたいな物)の事。
だからマシンごとアセンブラを比較して同じと言うのは変だし
マシン語とアセンブリ言語を比べてもマシン語は0と1の言語。
アセンブリ言語は0と1で書かれていた部分を記号化してわかりやすくしてある。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

やはり速度が優先される箇所はアセンブラですよね。
昔からゲームにもCは使われていたんですか、息が長いですね C言語。

お礼日時:2010/07/11 22:52

1です。

すいません訂正します。
マシン語とアセンブラが同じと書きましたが、私の勘違いでした。

1994年ならC言語はありましたね。
そのゲームが何で作られているのかは知りませんけど、スーパーファミコンならアセンブラかな。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

C言語自体は80年時点で既にあったと思います。
スーファミ時代のゲーム開発においてもアセンブラだったのですかね。

お礼日時:2010/07/11 22:44

昔はC言語なんてありませんでしたから、アセンブラですね。


マシン語とアセンブラは同じ意味です。
Cが出てきてからはCとかC++が増えてきたと思う。
PC用ならCが出てくる前はBASICもあったでしょう。
最近は知りません。

ところであなたのいうゲームって、PCゲーム? アーケード? 家庭用ゲーム機?

この回答への補足

質問内容に不備がありました。申し訳ございません。

質問するきっかけはスーパーメトロイド(SFC/1994)を遊んでいた時に、
「そういえば94年ってWindows95よりも前じゃん」って思って、
当時どういう開発環境だったんだろう→何の言語を使っていたんだろう
というものでした。

ゲームは、PCでも、アーケードでも、家庭用でも構いません。

いつ頃にどの言語を使っていたとか、使っているソフトハウスが多かったと
いうことが知りたいです。

お願い致します。

補足日時:2010/07/11 16:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!