現在、見下ろし視点型のARPGを開発をしています。
参考のため、SFCの代表的作品のプレイ動画なんかを眺めてました。
(聖剣伝説、ゼルダ、イースシリーズなど)
[youtube][/youtube]
[youtube][/youtube]
見ていて思ったのは、20年も前によくこんな作品を作れたなということです。
ゲームシステムもグラフィックも十分に高度(モノによっては現在の作品よりも)です。
現在の開発環境でもって開発しても、相当大きなコード・アセット規模になるでしょう。
それを高級言語もIDEもない時代にアセンブラで開発したというのだから、どんなに大変なことか想像が出来ません。
昔のプログラマはすごく優秀だったのでしょうか・・
当時はPCも大したものは無かったと思うのですが、どんな開発環境だったのかとか色々興味が尽きません。
昔のゲームはアセンブラで出来ていたとか・・??
昔のゲームはアセンブラで出来ていたとか・・??
最後に編集したユーザー ぼずお on 2014年1月25日(土) 17:33 [ 編集 1 回目 ]
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: 昔のゲームはアセンブラで出来ていたとか・・??
> PC-8001(mkII)やFM-8/7やMZシリーズやX1シリーズにBASICコンパイラありましたよ。
MSXにもありましたね。MSXべーしっ君と言うアスキーらしい名前のやつが。
> 市販ゲームに使っているというのをけっこう大きく宣伝してました。
思い当たる会社が2から3社あります。ロードが多いことで有名でした。
市販マイコン・ゲームが全盛期になるとPC98でクロスアセンブラで開発してました。
PC-8801やFM-77やX1シリーズ、MSX2まで全部PC98でアセンブルしてます。
>逆にPC-9801やX68000、FM-TOWNSはアセンブラをよく使いました。
描画モジュールはアセンブラで、その他の部分をC言語とかですね。
MS-CのC言語とアセンブラをPC98の開発で使ってましたよ。
X68000やTOWNSは開発に参加しなかったので何を使っていたかよく知りませんが。
>特にX68000のアセンブラはCPUのアーキテクチャも相まってC言語よりも使いやすいなんて言われてました。
コンパイラ指向のCPUのアーキテクチャですからね。
結構とんでも無い命令があった記憶が・・・。
MSXにもありましたね。MSXべーしっ君と言うアスキーらしい名前のやつが。
> 市販ゲームに使っているというのをけっこう大きく宣伝してました。
思い当たる会社が2から3社あります。ロードが多いことで有名でした。
市販マイコン・ゲームが全盛期になるとPC98でクロスアセンブラで開発してました。
PC-8801やFM-77やX1シリーズ、MSX2まで全部PC98でアセンブルしてます。
>逆にPC-9801やX68000、FM-TOWNSはアセンブラをよく使いました。
描画モジュールはアセンブラで、その他の部分をC言語とかですね。
MS-CのC言語とアセンブラをPC98の開発で使ってましたよ。
X68000やTOWNSは開発に参加しなかったので何を使っていたかよく知りませんが。
>特にX68000のアセンブラはCPUのアーキテクチャも相まってC言語よりも使いやすいなんて言われてました。
コンパイラ指向のCPUのアーキテクチャですからね。
結構とんでも無い命令があった記憶が・・・。
Re: 昔のゲームはアセンブラで出来ていたとか・・??
ロードが長いのは当たり前の時代でしたけどね。
移動するたびに画面に表示する画像をロードし直すアドベンチャーゲームとか。
カセットテープ版だとそのたびに何分も待たされて。
むしろ特殊とは逆で、データレジスタ8個アドレスレジスタ8個をどんな組み合わせでも自由に使えるというものです。
8個目のアドレスレジスタはスタックポインタとして使われますが。
ポートI/Oではなくてメモリマップトでしたし非常にシンプルで分かりやすいものでした。
あとは、いまはインテルのCPUにもあるスタックフレームを一括で確保・解放する命令とかが前からあったってくらいですかね。
移動するたびに画面に表示する画像をロードし直すアドベンチャーゲームとか。
カセットテープ版だとそのたびに何分も待たされて。
68000は、命令が特殊なのではなくて、レジスタが特殊でした。softya(ソフト屋) さんが書きました:結構とんでも無い命令があった記憶が・・・。
むしろ特殊とは逆で、データレジスタ8個アドレスレジスタ8個をどんな組み合わせでも自由に使えるというものです。
8個目のアドレスレジスタはスタックポインタとして使われますが。
ポートI/Oではなくてメモリマップトでしたし非常にシンプルで分かりやすいものでした。
あとは、いまはインテルのCPUにもあるスタックフレームを一括で確保・解放する命令とかが前からあったってくらいですかね。
最後に編集したユーザー ISLe on 2014年1月26日(日) 19:00 [ 編集 1 回目 ]
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: 昔のゲームはアセンブラで出来ていたとか・・??
思い出しました。ビット列をあつかう命令がありませんでしたっけ。
Re: 昔のゲームはアセンブラで出来ていたとか・・??
ビット演算命令に関してはインテル系と変わりないように思います。
アドレッシングにポストインクリメントとかプリデクリメントがあるので多バイトデータを扱うコードはシンプルに書けますね。
アドレッシングにポストインクリメントとかプリデクリメントがあるので多バイトデータを扱うコードはシンプルに書けますね。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: 昔のゲームはアセンブラで出来ていたとか・・??
あっと、これですね。これを記憶していたようです。失礼しました68020以降です。
「M68000ファミリのビットフィールド命令」
http://homepage2.nifty.com/m_kamada/docs/bitfield.htm
と言うことは純正X68000では出来ませんね。
「M68000ファミリのビットフィールド命令」
http://homepage2.nifty.com/m_kamada/docs/bitfield.htm
と言うことは純正X68000では出来ませんね。
Re: 昔のゲームはアセンブラで出来ていたとか・・??
何だかsoftyaさんとISLeさんでマニアックな会話が・・・(^^;
スレ主がついていけてるのかなと心配です 笑
私はPC9801FAが最初です
N88-BASIC、Turbo-C、Quick-C、MS-Cと使ってx86のアセンブラにうつりMASMも経験した後、ゲーム業界に入りました。
そのころはSEGA SATURN/PlayStationがゲーム花盛りだった記憶が。
SEGA SATURNもPlayStationもちゃんとしたデバッガの環境がありました。言語はどちらもCだったと思います。
その環境はとっっっってもお値段が高く、個人として購入は不可能だった記憶が・・・
そこ考えると今はホントお手軽かもしれませんね~
またSEGA SATURNのCPU(SH2)がRISCなのでx86(CISC)との勝手が違って戸惑ったことがありますね。今ではなつかしい。あっとPlayStationのR3000もRISCの一つか・・・
スレ主がついていけてるのかなと心配です 笑
私はPC9801FAが最初です
N88-BASIC、Turbo-C、Quick-C、MS-Cと使ってx86のアセンブラにうつりMASMも経験した後、ゲーム業界に入りました。
そのころはSEGA SATURN/PlayStationがゲーム花盛りだった記憶が。
SEGA SATURNもPlayStationもちゃんとしたデバッガの環境がありました。言語はどちらもCだったと思います。
その環境はとっっっってもお値段が高く、個人として購入は不可能だった記憶が・・・
そこ考えると今はホントお手軽かもしれませんね~
またSEGA SATURNのCPU(SH2)がRISCなのでx86(CISC)との勝手が違って戸惑ったことがありますね。今ではなつかしい。あっとPlayStationのR3000もRISCの一つか・・・
私が入った会社では、速度が必要なゲームではなかったのでセガ提供のライブラリを使ってましたよ(そのライブラリがフルアセンブラなのかもしれませんが)。softya さんが書きました:セガのSATURNのVF/VF2は速度が出なかったので描画エンジン部分はフルアセンブラと聞いたことがあります。
最後に編集したユーザー へにっくす on 2014年1月26日(日) 23:08 [ 編集 3 回目 ]
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: 昔のゲームはアセンブラで出来ていたとか・・??
SATURNのICE他開発キットがべらぼーに高かったので、PlayStationの開発キットが安く見えました。
あと途中で出た開発キットは、どちらも安くなってましたよ。それでも高いですけどね(^_^;)
業界人が語る開発ツール事情になってますね。
> 私が入った会社では、速度が必要なゲームではなかったのでセガ提供のライブラリを使ってましたよ(そのライブラリがフルアセンブラなのかもしれませんが)。
前期のは別で後期に出たのがVFで開発したライブラリだったような。結局私は使うチャンスが無かったんですが。
あと途中で出た開発キットは、どちらも安くなってましたよ。それでも高いですけどね(^_^;)
業界人が語る開発ツール事情になってますね。
> 私が入った会社では、速度が必要なゲームではなかったのでセガ提供のライブラリを使ってましたよ(そのライブラリがフルアセンブラなのかもしれませんが)。
前期のは別で後期に出たのがVFで開発したライブラリだったような。結局私は使うチャンスが無かったんですが。
最後に編集したユーザー softya(ソフト屋) on 2014年1月26日(日) 23:03 [ 編集 2 回目 ]
Re: 昔のゲームはアセンブラで出来ていたとか・・??
>浮動小数点が扱えないマシンで開発されたゲームのソースを見せてもらったりすることがあるのですが
PS1では頂点計算に整数(固定小数点数)を使っていたので、ポリゴンに継ぎ目が出来たりしたらしいですね。
今では浮動小数点を当たり前のように意識せず使えますし、ポリゴン描画パイプラインすらライブラリやハードが面倒を見てくれるのでとっても楽ですよね。
色々お膳立てされても当時のゲームのレベルになかなか追いつけないのが悔しいです(笑)
> ISLe さん
> softya(ソフト屋)さん
そういう昔のハードのコアな話、とっても興味深いです。
今よりもずっと環境の進化が早かった時代なので、日々が楽しかっただろうなと想像します。
>描画モジュールはアセンブラで、その他の部分をC言語とかですね。
>MS-CのC言語とアセンブラをPC98の開発で使ってましたよ。
アセンブラは、ほとんど見かけたことがないのですが、算術ライブラリの実装にインラインアセンブラが埋まっているのを見たことがあります。
呼び出し回数が多く、速度が求められるところに使われるという感じでしょうか。
現在でいうと、コアなライブラリ部分はC言語で、上位レベルのコードはLuaで書くというような使い分けに通ずるものがありそうです。
PS1では頂点計算に整数(固定小数点数)を使っていたので、ポリゴンに継ぎ目が出来たりしたらしいですね。
今では浮動小数点を当たり前のように意識せず使えますし、ポリゴン描画パイプラインすらライブラリやハードが面倒を見てくれるのでとっても楽ですよね。
色々お膳立てされても当時のゲームのレベルになかなか追いつけないのが悔しいです(笑)
> ISLe さん
> softya(ソフト屋)さん
そういう昔のハードのコアな話、とっても興味深いです。
今よりもずっと環境の進化が早かった時代なので、日々が楽しかっただろうなと想像します。
>描画モジュールはアセンブラで、その他の部分をC言語とかですね。
>MS-CのC言語とアセンブラをPC98の開発で使ってましたよ。
アセンブラは、ほとんど見かけたことがないのですが、算術ライブラリの実装にインラインアセンブラが埋まっているのを見たことがあります。
呼び出し回数が多く、速度が求められるところに使われるという感じでしょうか。
現在でいうと、コアなライブラリ部分はC言語で、上位レベルのコードはLuaで書くというような使い分けに通ずるものがありそうです。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
Re: 昔のゲームはアセンブラで出来ていたとか・・??
> PS1では頂点計算に整数(固定小数点数)を使っていたので、ポリゴンに継ぎ目が出来たりしたらしいですね。
そもそもPS1とサターンはポリゴンのテクスチャがパースペクティブ変形しないので、継ぎ目が変になりやすいです。
特に三角ポリゴンしかないPS1は顕著に目立つ場合があります。サターンはスプライトの拡張なので四角形です。
※ 過去の記憶を頼りに書いているので嘘があったらごめんなさい。
そもそもPS1とサターンはポリゴンのテクスチャがパースペクティブ変形しないので、継ぎ目が変になりやすいです。
特に三角ポリゴンしかないPS1は顕著に目立つ場合があります。サターンはスプライトの拡張なので四角形です。
※ 過去の記憶を頼りに書いているので嘘があったらごめんなさい。
Re: 昔のゲームはアセンブラで出来ていたとか・・??
> ※ 過去の記憶を頼りに書いているので嘘があったらごめんなさい。
いやそれで合ってると思います。
当時入っていた会社では初めは、PlayStationとSEGA SATURN用と同時開発してましたが、そのせいでよくPlayStationとSEGA SATURNで見た目が違ってしまうことがあり、のちにSEGA SATURNを切る羽目になりましたねえ・・・(-_-
※なぜPlayStationかというと、全て三角形でいた方が実は柔軟的だったからという記憶があります。見ようによっては確かに継ぎ目が目立ちましたけど、明暗とか細かい表現がしやすかったからと思っていますが。
いやそれで合ってると思います。
当時入っていた会社では初めは、PlayStationとSEGA SATURN用と同時開発してましたが、そのせいでよくPlayStationとSEGA SATURNで見た目が違ってしまうことがあり、のちにSEGA SATURNを切る羽目になりましたねえ・・・(-_-
※なぜPlayStationかというと、全て三角形でいた方が実は柔軟的だったからという記憶があります。見ようによっては確かに継ぎ目が目立ちましたけど、明暗とか細かい表現がしやすかったからと思っていますが。
最後に編集したユーザー へにっくす on 2014年1月26日(日) 23:31 [ 編集 2 回目 ]