- ベストアンサー
ゲームの開発言語(1980~2010年)
ゲームの開発言語(1980~2010年) ゲームの開発言語って何を使っている(いた)のでしょうか? マシン語? アセンブラ? コボル? C? インベーダーの時はハードウェアを造って、マシン語で造ったそうですが、 過去~現代まで、どの言語を使っている事が多かったのか知りたいです。 開発経験のある方、ご存知の方、教えてください。 特定の時代についてだけ知っている方でも結構です。 お願い致します。
- みんなの回答 (14)
- 専門家の回答
質問者が選んだベストアンサー
ゲーム会社でプログラマしています。 うちの会社限定の話になりますが、プレステ1時代はC、プレステ2・XBOX時代はC++で書いていました。 現在、プレステ3・XBOX360用のゲームはエンジンをC++で、シナリオ・イベント部分はPythonなどのスクリプト言語を使って書いています。スクリプト言語のお陰でデザイナがコンパイルせずにゲーム内容をいじれるようになりました。 シェーダーの部分だけアセンブリも使われます。 今後のプロジェクトではC#も使用する可能性があるみたいで、各自勉強し始めています。
その他の回答 (13)
- mudamuda546
- ベストアンサー率27% (37/136)
>そもそも洋ゲーもWin98のころOpenGLの物がまだ多かった記憶もあるんですが、 Win98の頃はVoodooのGlideとMSのWindows用の汎用APIのDirectX(3D)がって時代。 OpenGLはどちらかというとビデオカード側が追いついて無くて個人向けのGPUでは まだまだ使えた物ではなかった。 OpenGLとDirect3Dの溝が縮んで個人向けのGPUでまともに使えるようになってきたのは もう少し後。 それとWindowsゲームのいくつかは描画にDirect3DかOpenGLのどちらかを 選択できるようになっているゲームは今の方が多いと思う。 後、DirectXは3D以外の部分もカバーする総合的なAPIの集まりですから 3D部分はOpenGLでもサウンドや入力インタフェースなどはDirectXが利用されるって事は 昔からよくありますね。 ついでに言うとDirectXが出る前(ででもまともに使えるようになるまで)は 各ビデオカードメーカが独自にAPIを実装していましたね。 Edge 3Dはその筆頭でした。 その後にはPowerVRなんかもありました。PowerVRはDirect3Dに対応したけどEdge 3Dは非対応。 >そのとおりですよ。他の意味に取れる書き方、私がしましたでしょうか? >MFCを使ったアプリの方は早々とC++に移行していたと思いますけどね この書き方だとMFCがすでにあって別の言語で使われていたのがC++に移行したと読める。 あえて書くなら WindowsのAPIを使ったアプリは早々にMFCを利用するC++に移行したと・・・・ と書かないと駄目ですよね。 >C++でも書けるというコト? >C++で書く事が前提というコト? オブジェクト指向を意識した作りって事。 もちろんC++でもCでもWin32APIは使えますよ。
- zwi
- ベストアンサー率56% (730/1282)
>>zwiさんはエロゲーメーカのひとなのでしょうか?それとも国内で希少な一般ゲームの開発者なんですかね? 家庭用ゲーム機の人です。 家庭用ゲーム機では、それほど早くからC++は使ってませんねぇ。 CPUでもメモリでも無理がありましたから。 Windowsのゲームの方もベターC言語(最低限のC++記述でクラスを使わない書き方)で初期の頃は記憶があるんですけどねぇ。 そもそも洋ゲーもWin98のころOpenGLの物がまだ多かった記憶もあるんですが、 >いやいやMFCはWin32APIをラッパしたC++向けのクラスライブラリなんだからC++で使う物だ よ。 そのとおりですよ。他の意味に取れる書き方、私がしましたでしょうか? あんまり上から目線で書かれると良い気がしませんね。 >>Win32APIもC++で書かれることを前提とした作りになっているね。 昔からのインターフェイスを引きずっているから、C++と言い切るのは辛い気がするんですが。
- urano_kuzu
- ベストアンサー率0% (0/2)
ちょっと気になってるのですが、 >>Win32APIもC++で書かれることを前提とした作りになっているね。 これ、厳密にはどのような意味なのでしょう。 C++でも書けるというコト? C++で書く事が前提というコト?
- mudamuda546
- ベストアンサー率27% (37/136)
>すいませんが、私はゲーム業界にいたのですが、ゲーム業界の方ですか? ゲームではないプログラマです。 でこの頃やっていたゲームは洋ゲーメインでやっていましたね。 この頃(Win9x時代)のWindowsの国内ゲームはエロゲーがほとんどで 国内ではファルコム、工画堂、アートディンク、光栄くらいで カプコンやセガはビデオカードについていバンドルソフトって感じだけでしたからね。 (コナミあたりはMSX時代はPCで頑張っていたけどWindows時代は国内ではやらなくなって海外のみで頑張っているね。) zwiさんはエロゲーメーカのひとなのでしょうか?それとも国内で希少な一般ゲームの開発者なんですかね? エロゲーならC++使うまでもなくてその当時ならC言語で十分だったのかも。(DirectX必要もなくGDIで十分でしょうから) >MFCを使ったアプリの方は早々とC++に移行していたと思いますけどね。 いやいやMFCはWin32APIをラッパしたC++向けのクラスライブラリなんだからC++で使う物だよ。 で上で書いたように洋ゲーやろうとしたときにMFCのdllがないとか怒られたこと時々あったからね。
お礼
回答ありがとうございます。
- zwi
- ベストアンサー率56% (730/1282)
>元々C++で書かれることを前提としたDirectXの構造。 >Win32APIもC++で書かれることを前提とした作りになっているね。 >まぁCでもかけないことはないがスマートではないというか 現実にはC++で書かれているゲームは国内では少なかったと記憶してるんですけど。 すいませんが、私はゲーム業界にいたのですが、ゲーム業界の方ですか? MFCを使ったアプリの方は早々とC++に移行していたと思いますけどね。
- mudamuda546
- ベストアンサー率27% (37/136)
>DirectXの利用とC++の本格的な利用は時代が一致していると思えませんが、どうなのでしょう? 元々C++で書かれることを前提としたDirectXの構造。 Win32APIもC++で書かれることを前提とした作りになっているね。 まぁCでもかけないことはないがスマートではないというか
- zwi
- ベストアンサー率56% (730/1282)
>Windowsでのゲーム開発はWin95以降のDirectXがひとつのターニングポイント。 DirectXの利用とC++の本格的な利用は時代が一致していると思えませんが、どうなのでしょう? 最初の頃はC言語もどきの記述で書いていたゲームメーカーも多い様な・・・。
- mudamuda546
- ベストアンサー率27% (37/136)
>Windows時代になってC++が使われだしたのは2000年を超えてからだと思います。 いや2000年前からC++だったでしょう。 Windowsでのゲーム開発はWin95以降のDirectXがひとつのターニングポイント。 それ以前のWin3.1時代まではWinG。
- zwi
- ベストアンサー率56% (730/1282)
とりあえず家庭用ゲーム機は、ファミコン~スーパーファミコンはアセンブラでの開発です。 サターン、PS1、N64辺りからCPUの性能が上がったのでC言語で本格的に作られる様になって来ました。Xbox360、PS3だとC++も実用レベルで使えるようになりましたね。 パソコンだと、X1、PC8801、MSX時代はアセンブラです。PC9801はC言語、Windows時代になってC++が使われだしたのは2000年を超えてからだと思います。 ファミコン以前は詳しくないのですが、いつハンドアセンブルのマシン語からアセンブラ利用に変わったかは不明です。
お礼
回答ありがとうございます。 やはりアセンブラ使いの方が開発していたんですね。 (スーパーメトロイドを)
- ultraCS
- ベストアンサー率44% (3956/8947)
80年代のPCゲームだと、一部のアドベンチャーゲーム(BASICで書いてあるものも結構あった)以外はマクロアセンブラかマシン語モニタでニーモニックを直接打ち込むというのがほとんどです。 当時のC言語のコンパイラ(16bitだとLattice-C、8bitだとBDS-Cが主流、マイクロソフトのCは当初、LatticeのOEMだった)がはき出すコードでは、当時のCPUにとっては重すぎます。まあ、今のコンパイラが出すコードはもっと重いけど、CPUが格段にスピードアップし、メモリ空間も広大になっているので問題にならないだけです。 ファミコンだと任天堂が用意する8bit-PCの開発マシンがあって、そこでアセンブラで開発します。この時代はCPUだけではなく、使用できるメモリ空間が狭く、ROMの容量も限られていたので、コンパイラの冗長なコードではROMにおさまりません。 SFCの頃だと環境も整ってきたので、高級言語も使われています。また、プレステは黒ステには開発環境が付属していますが、これは高級言語だったそうです(どこのものかは不明)
お礼
回答ありがとうございます。 任天堂はアセンブラの開発環境を用意していたということですね。 C言語のコンパイラの変換も上手くなかったと。(えっ!今もですか?) 仕様を見る限り、このメモリ容量でどうやって造ったのか不思議です。 職人芸だったんですかね。 SFC時代だとSONYのワークステーションを使っていたみたいですが、 使いづらかったみたいですね。 (結局SONYは任天堂と喧嘩して独自でCDゲーム機を作りましたが…)
- 1
- 2
お礼
回答ありがとうございます。 まさか、スクリプト言語なんて!!衝撃的な事実です。 コンパイルしないなんて、そんな…。