昔のゲームはアセンブラで出来ていたとか・・??

ぼずお
記事: 1
登録日時: 13年前
住所: 中部地方

昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by ぼずお » 11年前

現在、見下ろし視点型のARPGを開発をしています。

参考のため、SFCの代表的作品のプレイ動画なんかを眺めてました。
(聖剣伝説、ゼルダ、イースシリーズなど)
[youtube][/youtube]
[youtube][/youtube]

見ていて思ったのは、20年も前によくこんな作品を作れたなということです。
ゲームシステムもグラフィックも十分に高度(モノによっては現在の作品よりも)です。
現在の開発環境でもって開発しても、相当大きなコード・アセット規模になるでしょう。

それを高級言語もIDEもない時代にアセンブラで開発したというのだから、どんなに大変なことか想像が出来ません。
昔のプログラマはすごく優秀だったのでしょうか・・
当時はPCも大したものは無かったと思うのですが、どんな開発環境だったのかとか色々興味が尽きません。
最後に編集したユーザー ぼずお on 2014年1月25日(土) 17:33 [ 編集 1 回目 ]

アバター
せんちゃ
記事: 50
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by せんちゃ » 11年前

浮動小数点が扱えないマシンで開発されたゲームのソースを見せてもらったりすることがあるのですが
整数だけでmathなどの標準ライブラリも使わずにsinとcosを求める
みたいな計算式を見せてもらったときはチンプンカンプンでついていけませんでしたね・・^^;

そういえばドルアーガの塔というゲームはものすごくしっかりと、エラーをわかりやすいようにハンドリングするように作られてる
という話を上司から聞いたことがあります。
なんでもものすごく読みやすくて洗練された作りで感動したとか・・
古くから現場で活躍されてる方々は本当に偉大なんだなと感じます

ISLe
記事: 2650
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by ISLe » 11年前

20年前ならとっくにソースコードレベルデバッガが一般的でしたよ。
高級言語もIDEもありました。
スーパーファミコンのソフト開発には当初32ビットワークステーションが使われていたらしいですし。

高級言語もIDEもない時代にアセンブラで開発してたのは30年前くらいですかね。
25年前あたりはもうソースコードデバッガ付きのCコンパイラが個人向けに出てました。
当時は日進月歩で1年違ったらずいぶん違いますね。


浮動小数点数はプラットフォームによって精度や誤差が異なる場合があるので、いまでもゲーム進行に関わる部分でネイティブな値を使わないこともありますよ。
数学系に限らず処理系のライブラリは使わないですよね。
ウチのブログにも固定小数点数とか関連した記事を書いてますので興味があったら見てください。
最後に編集したユーザー ISLe on 2014年1月25日(土) 17:58 [ 編集 5 回目 ]

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by softya(ソフト屋) » 11年前

ソースコードレベルのデバッガはありましたね。単に個人が買えないほど高いだけですが。
FC・SFC辺だとICE(ハードウェアのデバッガ)を使ったりします。

ISLe
記事: 2650
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by ISLe » 11年前

20年前なら、ソースコードデバッガもコンパイラもフリーソフトにありましたよ。
わたしはX68000で真理子版GCCを使ってゲームプログラミングを最高に謳歌していた頃です。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by softya(ソフト屋) » 11年前

ISLe さんが書きました:20年前なら、ソースコードデバッガもコンパイラもフリーソフトにありましたよ。
わたしはX68000で真理子版GCCを使ってゲームプログラミングを最高に謳歌していた頃です。
すいません。言葉不足でした。
SFCやFCの話です。

【補足】
MSXやPC88の時代でもソースコードのデバッガありましたね。無料とは行かなかったと思いますが。
MSX-DOSははデバッガ付きで安かったのです。

X68000は色々揃っていたので皆の憧れの的でした。
最後に編集したユーザー softya(ソフト屋) on 2014年1月25日(土) 19:08 [ 編集 1 回目 ]

ぼずお
記事: 1
登録日時: 13年前
住所: 中部地方

RE: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by ぼずお » 11年前

>ISLeさん
>20年前ならとっくにソースコードレベルデバッガが一般的でしたよ。
>高級言語もIDEもありました。

すみません、当時のゲームコンソール開発に限って考えていました。
高級言語(C言語)での開発が一般的になったのはプレイステーション以降で、それ以前はアセンブラがメインだったと聞いたことがあります。
IDEがないというのは全くの想像で言ったのですが、ワークステーションとハードウェアデバッガの組み合わせとのことなので、それっぽいものはあったのかもしれませんね。
最後に編集したユーザー ぼずお on 2014年1月25日(土) 19:34 [ 編集 1 回目 ]

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by softya(ソフト屋) » 11年前

で、デバッガの話は置いといて、ゼルダSFCは、かなり細かいことをしているので当時の中でもレベルが違いましたね。

ISLe
記事: 2650
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by ISLe » 11年前

プレイステーションが発売されたのが20年前の1994年なんですよね。
12月発売だから正確には19年と2ヵ月前ですけど。

FC/SFCは特殊なCPU且つ独自ハードウェアなのでデバッグはたいへんでしょうけど、全部アセンブラで直に書いていたんでしょうかね。
8ビットパソコンの時代に既にBASICコンパイラなんてものもありましたし。

ゲーム開発に標準ライブラリなんて何一つ使えないので、アセンブラからC言語に切り替わっただけで大きく変わったことは無かったと思います。
当時は素人でパソコンいじってた奴の意見ですが。

アセンブラで作るのがたいへんだから優秀なのではなくて、掛け値なしで優秀なのだと思いますよ。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by softya(ソフト屋) » 11年前

FC/SFC/GB/PC88/X1/MSX/FMあたりはアセンブラですね。速度が出ないので。PC98/X68000/TOWNSはC言語でした。

【補足】
ゲーム機だと3DO/SATURN/PS1ぐらいからC言語です。PC-FXは知りません(^_^;)
この世代からRISCになったのでアセンブラで組むのは熟練が必要でした。
ただ、セガのSATURNのVF/VF2は速度が出なかったので描画エンジン部分はフルアセンブラと聞いたことがあります。
SATURNはマルチCPU(SH2x2)なので組むのが大変なのです。
最後に編集したユーザー softya(ソフト屋) on 2014年1月26日(日) 12:46 [ 編集 2 回目 ]

ISLe
記事: 2650
登録日時: 14年前

Re: 昔のゲームはアセンブラで出来ていたとか・・??

投稿記事 by ISLe » 11年前

PC-8001(mkII)やFM-8/7やMZシリーズやX1シリーズにBASICコンパイラありましたよ。
市販ゲームに使っているというのをけっこう大きく宣伝してました。
当時は小学生で買えなくて雑誌に載ってるのを見て憧れました。
雑誌にアセンブラのソースリストが載ってたりもしました。
メインメモリが少ないからアセンブラもコンパイラもフロッピーティスクドライブがないとまともに使えない感じでしたけど。
しかたないからハンドアセンブラでプログラム書いてました。
アセンブラで書いたコードをBASICから呼び出せましたしBASICだけでもたいていなんとかなりましたけども。
フロッピーディスクドライブがパソコン本体と同じ値段する時代でしたし高嶺の花でしたけどけっこうまともな開発環境はありました。
当時は名前を聞くだけでOSにまったく興味ありませんでしたけどCP/Mとか使われてたのかもしれません。

逆にPC-9801やX68000、FM-TOWNSはアセンブラをよく使いました。
もはやいまのアセンブラと同じように高機能化して、モジュール作ってC言語の関数呼び出しとおなじ感覚で使えました。
異なる言語で作ったバイナリをリンクできてむしろアセンブラがいちばん注目された時期ではないでしょうか。
特にX68000のアセンブラはCPUのアーキテクチャも相まってC言語よりも使いやすいなんて言われてました。


アーケードゲームのドルアーガの塔はマルチCPUですね。
ゼビウスなんてトリプルCPUです。
最後に編集したユーザー ISLe on 2014年1月26日(日) 17:10 [ 編集 1 回目 ]