よろしくお願いします。
昔のゲームを遊んでみて
凄いと驚くことがありました。
スーパーマリオブラザーズ3(ファミコン)
ドラゴンクエスト4(ファミコン)
ファイナルファンタジーVI(スーパーファミコン)
古いゲームと侮ってはいけません。
ものすごいクオリティーのゲームソフトです。
今のゲーム機と比べたら、映像も音もオモチャっぽいですが、
実際に遊んでみて、感動しました。
調べてみると、この時代のゲームはアセンブラという
細かい数式を重ね合わせて作っていくようなのですが、
そんな複雑なものをどうやって作ったのでしょうか。
[質問]
アセンブラで作られた複雑なゲームソフトはどうやって
開発されたのでしょうか?
1.凄腕の職人が自分の頭で組み立ててプログラムを完成させる
2.多くの人が考えまくり、会議を繰り返してプログラムを完成させる
3.その他
どれでしょうか?
FFVIの飛空艇とか、マリオ3のグラフィックとか、
ドラクエ4のシステムとか、どうやって完成させたのか謎です。
品質を確保するには、第三者チェックも必要だと思いますが、
第三者がアセンブラコードを全部目視でチェックしたのでしょうか。
昔を知る方でないとわからないかもしれませんが、
気になります。どうか、教えてください。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
私も昔、アセンブラでゲームを作っていました。
現在では電子工作のマイコン回路で使う程度です。結局、積み重ねなんですよね。
例えば、CPUによりますが基本的に機械語の表記を変えただけのアセンブラでは、足し算と引き算とビット操作しかできないので、これらの命令を組み合わせて、掛け算、割り算ができるプログラムを作る。これが出来たら、家宝として保存する。
浮動小数点演算もできないので、上記を組み合わせて、できるプログラムを作り、家宝に追加。
画面上の好きな座標に線や図形を描くプログラムも、上記の家宝を組み合わせて作り、さらに家宝に追加。
こうして積み重ねて作った家宝を組み合わせて、高級言語と同じことができるようにしていきます。
これは個人でやる場合ですが、チームで取り組む場合は家宝の共有ができます。
No.4
- 回答日時:
・やりたいことに対してどのような処理が必要であるかを流れ図(フローチャート)に書き出す。
・上記についてどのような命令を与えれば実現できるかをアセンブリ言語で書き出す。
フローチャートさえしっかりできていればあとは細かいブロックごとに分担できますので一人で全部やらなきゃいけないわけではないです。とはいえ、実際のプログラムにするときに腕の差も出ます。中には他の人が見てもどうしてこれで動くかわからないのに実際動いてしまうというのを書いてしまう人もいたといいます。
No.3
- 回答日時:
*その他
8ビットの非力なCPUに負担が掛からないように「様々な工夫」がなされて開発されました。
ファミコンの時代には、まだマシンもコンパイラも性能が十分ではなく、高級言語よりもアセンブリ言語を使ってゲームを開発することが一般的でした。
アセンブリ言語でプログラムを書くのは大変ですが、限られたファミコンの性能を最大限に引き出すためには必要だったのです。
当時の8ビットCPUでは乗算や除算の命令がなかったり、あっても機能が部分的だったり、非常に遅かったりすることが一般的でした。
最も効果的なことは、乗算や除算を使わないようにプログラムを設計することです。
特にゲームプログラムでは、一見すると乗算や除算が必要になりそうな場面でも、これらを使わずに済むことがあります。
例えば連続して敵を倒すたびに、加算されるスコアが100.200.400・・・のように2倍になっていくゲームがあります。
このスコア計算には乗算が必要に見えますが、実は加算だけで実現できます。
「スコア」の他に「敵スコア」という値を記録するとします。
最初は「敵スコア」を100にしておきます。
「スコア」0
「敵スコア」100
敵を倒したら「スコア」に「敵スコア」を加算します。
次の敵を倒したら「敵スコア」に「敵スコア」自身を加算します。
すると敵スコアは2倍の200になります。
「スコア」100
「敵スコア」200
そして「スコア」に「敵スコア」を加算します。
「スコア」300
「敵スコア」200
同じ要領で増やしていきます。
このように乗算を使わずに加算だけで済むようなルールを設計することが、高速化のためには重要です。
ドルアーガの塔はステージが迷路状で60もあります。
このステージのデータをどのように表現するのかが問題になります。
実はこの作品では、ステージの形状をデータとしては持たずに「乱数」で生成しています。
続きは割愛させていただきます。
ゲームを制作する側でも、スプライトやスクロールのように処理が軽くて見栄えのする処理を、上手に使ってゲームを演出していました。
例えばスクロールなどは、普通にスクロールさせるだけでもよいのですが、加速度を使うとさらにダイナミックな表現になります。スーパーマリオが持つ独特のスピード感は、スクロールと加速度の組み合わせによって生み出されています。これは処理としては、CPUにもメモリにもあまり負担をかけません。
より詳しく知りたいのなら
書籍ISBNコード978-7741-4429-0
「ファミコンの驚くべき発想力」をお読みください。
回答ありがとうございます。
この時代は制約が大きかったはずなので、制作者は様々な創意工夫を重ねていたと思います。
その工夫で作られた処理に問題(バグ)が無いことはどうやって確認していたんでしょうか?
全員で読み合わせしたのでしょうか。
No.2
- 回答日時:
ファミコンの開発秘話はここを、初期は独自の開発機材とNEC PC-8001でソフトを開発していたそうです。
http://faminfo.blog13.fc2.com/blog-entry-607.htm …
昔のFFIIのCMで開発現場の映像がありました。
この頃の開発に使っていたのはNEC PC-9801ですね。
これでプログラムを作って開発用のカートリッジに書き込んだり、直接ファミコンのメモリに転送できる開発機材などを使っていたそうです。
現在ならネットで探せば自作する方法や情報も見つかります。
http://blog.kshoji.jp/2013/05/famicom-flashcart. …
http://hp.vector.co.jp/authors/VA042397/nes/inde …
確か昔ファミコンの同人ソフトというものもありましたね。
http://www.gizmodo.jp/2007/04/post_1372.html
回答ありがとうございます。
参考ページもすごく参考になります。
FFVIの飛空艇とか、誰が考えて作ったんでしょうか。すごすぎるんですが。。。
No.1
- 回答日時:
この時代は出せば売れたので、潤沢な開発資金がありました。
人材も投入できたので、意外と人海戦術でしたね。
小さい会社だと、社員全員で徹夜でデバッグしてバグとりしてました。
グラフィックは任天堂から提供されたツールでドット絵です。
容量制限がキツイので、同じようなタイル模様を作って、背景に並べて、長いステージに見せる工夫をしてました。
(自分が作ったのは、全く別のゲームですが)
フォトショップなどの便利ツールが出たのは、その後の時代かと。
回答ありがとうございます。
社員の方全員がアセンブラを理解していたのでしょうか?プログラムの構成とか処理方法も全員で考えていたのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイアーエムブレム聖戦の系...
-
スーパーマリオ2の無限1UPって‥
-
GBAを購入しました。GBAででき...
-
思い出せないスーパーファミコ...
-
ゲームタイトルが思い出せません
-
【至急】スーパーファミコンの...
-
ドリキャスは壊れやすい?
-
幼児でも遊べるスーパーファミ...
-
無水イソプロピルアルコールに...
-
4人対戦ゲーム(ファミコン、...
-
どうぶつの森 ファミコンの入手...
-
ファイアーエムブレム 蒼炎の軌...
-
スーパーファミコンの故障?
-
中古品のソフトの汚れ。
-
ファミコンをしようとしたら、...
-
任天堂スイッチの スーパーマリ...
-
人に借りて今も返していないモ...
-
PS2での終了の仕方・・・
-
ゲーム機の「ビット」ってなん...
-
スーファミに12VのACアダプター
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイアーエムブレム聖戦の系...
-
GBAを購入しました。GBAででき...
-
【至急】スーパーファミコンの...
-
PS2での終了の仕方・・・
-
スーパーファミコンの故障?
-
任天堂スイッチの スーパーマリ...
-
思い出せないスーパーファミコ...
-
幼児でも遊べるスーパーファミ...
-
任天堂のゲーム、ダウンロード...
-
マリオブラザーズのルイージ
-
ipadなどの総称
-
Wiiって
-
テリーのワンダーランドのソフ...
-
なぜGB(白黒)のソフトをG...
-
ゲームボーイアドバンスSPをTV...
-
ゲームタイトルが思い出せません
-
クロノトリガーでセーブデータ...
-
幼児ができるスーパーファミコ...
-
ファミコンについての質問。こ...
-
PSまたはPS2でオススメのスーパ...
おすすめ情報