大森田不可止氏によるナムコのファミコン参入時の話

ナムコ、ゲームスタジオ、チュンソフトなどでゲームソフトの開発にも携わった大森田不可止氏が、ナムコのファミコン参入前後のエピソードについて語られています。他の場で既に触れられている話もありますが、貴重なお話だと思いますのでまとめてみました。またその後の関連ツイートも表題と若干趣旨が変わっていますがあわせてまとめています。(更新する可能性があります)
267
まとめ ほりい なおき、佐藤誠市、岩崎啓眞の各氏によるファミコンのサードパーティー誕生時の話 ほりい なおき氏が聞いたナムコのファミコン参入にあたっての事情のツイートと、それに呼応した佐藤誠市氏のツイート、岩崎啓眞氏がハドソンで聞いた事情のツイートをまとめました。 又聞きなど出所不明な情報ではないとはいえ、伝聞であるということには一応留意が必要でしょう。 他にもいろいろな話が出ましたが、独断で表題の話から外れていそうなものは省きました。念のため誰でも編集可にしておきます。 53774 pv 147 22 users 208
まとめ 大森田不可止氏によるMSX・ファミコンなどのゲーム四方山話 ナムコ、ゲームスタジオ、チュンソフトなどでゲームソフトの開発に携わり、またゲーム雑誌「ハイスコア」にも関わった大森田不可止氏が、トークイベントへの参加をきっかけとしてかつてのテレビゲームに関わる話を多数ツイートされています。大変貴重なものであると思いますので、まとめてみました。(随時更新) 46328 pv 172 17 users 3

リンク digrajapan.org DiGRA JAPAN | ダウンロード

↑上記ダウンロードページの「80年代・90年代のゲーム開発環境について」にも関連情報があります。


大森田不可止 @omorita

SF大会で使えるかどうか分からないけど、ファミコン時代のプログラムに関して思い出して書き留めようと思う。ナムコでファミコン解析チームだった私はまずはPascalでラベル付き逆アセンブラを作って他社のプログラムを解析してた。CPUは6502と分かったので意外と簡単に作れた。

2014-07-07 20:33:22
大森田不可止 @omorita

ファミコンの他社のプログラムを(当時は任天堂とハドソンぐらいか)解析しつつ、プログラムテクニックを学んだ。当時発売されてたほとんどのゲームを解析した。逆アセンブラもテクニックの向上に合わせて進化した。未知のポートの使い方も分かったし、6502の全ての命令が使えないことも分かった。

2014-07-07 20:39:27
大森田不可止 @omorita

当時はZ80が全盛の頃で、6502はアップルIIのCPUなので、アップルオタクくらいしか知らなかった。でも、テクニックを学ぶと6502は使い勝手が良かった。レジスタは3つしか無いけど、ゼロページっていうアドレスの最初の256バイトがレジスタ並に使いやすい。

2014-07-07 20:43:47
大森田不可止 @omorita

ナムコがファミコンに参入したとき、新入社員のU君が解析担当になり、課長に「60Hがリターンコードっぽいんでけど・・・」と報告。アップルオタクの課長が「それは6502じゃないか?」と答えたところから、ナムコのファミコン参入が決まったんだよな。歴史的瞬間を目撃してるわけだ。

2014-07-07 20:47:22
大森田不可止 @omorita

それ以前に、ファミコンの解析を進めたのは、Knightさんがファミコンを会社に持ち込み、昼休みに遊んでいて、それを見た課長が、出来の良さに興奮して、当時はMSXを作ってたんだが、「次はこれだ!」と決断したのだな。ファミコンはTVで表示した時の絵がダントツに綺麗だった。

2014-07-07 20:53:19
大森田不可止 @omorita

ナムコのファミコン参入を決めてからは電光石火。ハード・ソフトの技術者が寄ってたかって解析。ハードのバグまでを炙り出してた。最初の担当のUくんがギャラクシアンを作って、任天堂に「これ発売しますんで」と挨拶に行った。任天堂は慌てた。ナムコは1本あたり百円払うからと譲歩をして発売。

2014-07-07 20:58:03
大森田不可止 @omorita

ファミコン参入したナムコは過去のゲームを端から移植。プログラムは新人からベテランまで総出。最初の10本くらいは平均で百万売れてたんじゃないかな?ダントツはゼビウスだけど。粗利数千円で1千万本売れたんだから、利益は推して知るべし。

2014-07-07 21:03:07

以下、その後の関連ツイートです。

大森田不可止 @omorita

ファミコンのCPU、6502は面白いCPU。大学生の時に仙台のマイコンショップで「エイリアンタイフーン」ってゲームを作ったトニー鈴木に会ったとき、「プログラムはベーシックと少しのアセンブラで作った」と聞いた。収入は月200万くらいと言ってたのを聞いてゲーム業界に興味をもった。

2014-07-07 21:10:33
大森田不可止 @omorita

ファミコンの時代、スプライトは4つまでしか横並び出来無かった。私は優先順位を毎インタラプト逆転させることで、8個までは表示できるようにした。ギャラガはそれで良かった。だけど、コナミは上を行った。もっとランダムに優先順位を変えることで対応した。これは見習わせてもらったな。

2014-07-07 21:22:32
大森田不可止 @omorita

ファミコン話。ファミコンは16x16のスプライトが真横に4個しか並ばない。ギャラガは優先順位を反転させて8個まで表示できるようにした。コナミは2つの素数A,Bを使って、優先順位先頭をA毎に選び、次のスプライトをB毎に選ぶシャッフルを行ってた。ファミコン、グラディウスでやってた。

2014-07-08 19:17:04
大森田不可止 @omorita

ファミコン、スプライトの工夫。ギャラガでは、マイ・シップ、移動ギャラガ、弾がスプライト。そして背景で流れる星も。上空で膨張収縮するギャラガはBG。なので、忙しい局面で星が減ってるんだけど、誰も気付かなかったな。

2014-07-08 19:20:57
大森田不可止 @omorita

ファミコン、スプライトの工夫。いただきストリートでもスプライト不足。主に、キャラクターの顔のアニメーションする時。実は下のマップで色数制限で表示できない色にスプライトを使ってた。アニメーションの時だけ、そのスプライトを借りてくることがあった。これは、気付いた人が結構いた。

2014-07-08 19:24:08
大森田不可止 @omorita

ファミコンのCPU6502。インストラクションセットは今でもネットで見つかるんだな。 hp.vector.co.jp/authors/VA0423… 命令をプリフェッチして、RISCチップの元祖みたいな動きをしてた。なので、サイクルは短め。Z80より軽量、高速なイメージだったな。

2014-07-08 19:29:32
大森田不可止 @omorita

ファミコンのRAMは2KB。000H-800Hって事だな。そのうち、000H-0FFHはゼロページ、レジスタ代わりに使える便利なRAM。100H-1FFHはスタック。私はスタックを複数持たせて、マルチスレッドでプログラムしてた。ナムコの頃は「ジョブコン」と呼んでたテクニック。

2014-07-08 19:34:13
大森田不可止 @omorita

ファミコンのテクニック、画面分割。後にはカスタムチップを載せてハードウェア割り込みで画面分割してたけど、最初にやった時は0番スプライトがBGとのヒットチェックを行うことを利用した。縦画面を選択して、ヒットしそうなタイミングで待って、特定の画面を下画面にセットすることが出来た。

2014-07-08 19:48:18
大森田不可止 @omorita

ファミコンのテクニック、画面分割。上画面は上下左右にスクロールするんだけど、一辺に書き換えるのは負荷が大きい。なので、固定画面の残りを2画面分として同時に書き換えて、画面の端にきた段階でもう一方の画面を表示するテクニックを使ってる。1回で書き換える量は常に一定なので、安定する。

2014-07-08 19:52:07
大森田不可止 @omorita

ファミコン話。ナムコをスピンオフしてゲームスタジオを立ち上げた時、ナムコから業務用開発用のHP64000ってコンピュータを借りた。当然ファミコン開発環境は無いのだけど、HP64000のアセンブラの強力なマクロ機能で、ファミコン用のアセンブラを作っちゃったな。

2014-07-09 20:08:56
大森田不可止 @omorita

ファミコン話。その頃になると、6502のインストラクションから16進表現、クロック数まで頭の中には入ってた。若いって素晴らしいwクロック数を数えてタイミングを測るのは、その後も組込系をやるときには役立った。まぁ、クロック数まで厳密なプログラムが要求されることはめったにないけど。

2014-07-09 20:13:29
大森田不可止 @omorita

ファミコン話。いただきストリートを作った時は思考ルーチン作るのに掛け算が必要なんだけど、コストが高すぎて断念。8ビットの対数テーブルを導入した。扱う数を8ビットに丸めて対数表を引くから、2重に大雑把な計算になる。おかげで、大雑把な人間的思考ルーチンになったと思う。

2014-07-09 20:17:49