土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

「タスクシステムのギャラクシアン発祥説」と「デジタルコンテンツ制作の先端技術応用に関する調査研究」の話

 以前から気になっていたことの一つに「タスクシステムがギャラクシアン発祥というのは史実なのか?」という事があります。

https://twitter.com/t_tutiya/status/769879384811446272

タスクシステムとはなにか

 「タスクシステム」というのは、最初期の商業アーケードゲームにおいて使われていたゲームアーキテクチャです。当時はアセンブリ言語でゲームが作られていて、当然オブジェクト指向のような考えもなかった中、画面上に何十個も表示されるオブジェクトを並列管理する為の効率的な手法が必要とされていました。

 その中で考案されたのが、TCB(Task Control Block)という今で言う構造体配列を用意し、そこにオブジェクトの情報をタスクとして格納しました。タスクにはオブジェクトのパラメータの他、今フレームでタスクが処理する命令(ジョブと言います)への飛び先アドレスが格納されました。

 メインループではTCBを巡回してジョブを呼びだしていき、各ジョブは自身のパラメーターを更新したり、次フレームで別の処理をさせるためにジョブのアドレスを書き換えたりしました。今で言うステートマシンのような動きをしていたわけです。必要性から生まれたアーキテクチャだったのでしょうが、今でも非常に洗練されているように見えます。

ギャラクシアン発祥説

 さて、このタスクシステムがいつ始まったのかというと、ギャラクシアンで採用され、その後逆アセンブルされたり、プログラマーが転職して広まったという説が一般的なのですが、実はこれはどうやら誤った情報らしいということを以前に聞き、それが気になっていました。それで冒頭のツイートをした所、大変有益な情報(というか解答)を頂きました(ありがとうございます)。

https://twitter.com/ksmakoto/status/771276845530517504

 教えて頂いた下記サイトでは、実際にギャラクシアンを逆アセンブルし、どうやらタスクシステムでは動いていないらしいという事を確認されています。

ギャラクシアンにおけるタスクシステムの検証(via パピコニアンの倉庫)
http://www.retropc.net/mm/archives/1650

 この記事では、多くの人がギャラクシアン説を支持しているように見えますが、恐らくは皆さん、当時Logician Loadの記事を読んだのだと思います(土屋もその一人でした)。当時、ゲームアーキテクチャに対する研究をネット上で読むのはとても難しく、多少興味のある人は多かれ少なかれ、このサイトに辿り着いていたのです。

「デジタルコンテンツ制作の先端技術応用に関する調査研究」という資料が凄い

 サイトでは、実際にタスクシステムを発明したのはナムコの故深谷正一さんであることにも言及されています。ナムコではタスクシステムではなく「ジョブコン」と呼称されていたそうです。その言及元の一つとして上げられていたレポートが素晴らしい出来だったので紹介します(このリンクを貼るのが今回の記事の主旨でした)。

平成21年 デジタルコンテンツ制作の先端技術応用に関する調査研究
http://www.dcaj.or.jp/project/report/pdf/2008/dc_08_03.pdf

 タスクシステムに関連しているのは以下の3項目です。

・3.2.8 タスクシステム 技術詳細編
・3.2.9 タスクシステム 技術遷移編
・4.10.1 タスクシステムについて黒須一雄氏インタビュー(目次には題名が書いてありません)

 この中で最も価値があるのは「タスクシステムについて黒須一雄氏インタビュー」で、当時ナムコで「神の深谷、悪魔の黒須」と言われ双璧をなしていた伝説のプログラマーに、ナムコで使われていたジョブコン(≒タスクシステム)について聞いています(インタビュアーはなんと三宅陽一郎さん! なんという歴史的な対談なのか!)

 タスクシステムは、あくまで当時の開発環境で効率的にゲームプログラミングするためのアーキテクチャであり、オブジェクト指向が普及した現代においては、大部分の機能が言語仕様として取り込まれている感があります。ただし、その思想自体は、今日のゲーム開発においても応用が利く普遍性を持っていると感じています。

おまけ

 ちなみにこの調査研究、平成20年、22年にも行われいて、どれも300ページ以上の分量があります。どれも読み応えがあるので、お時間あるときにでも是非。

平成21年度デジタルコンテンツの保護・活用に関する調査研究等補助事業
デジタルコンテンツ制作の先端技術応用に関する調査研究報告書
http://www.dcaj.or.jp/project/report/pdf/2009/dc_09_03.pdf

平成20年度デジタルの保護・活用に関する調査研究等補助事業
デジタルコンテンツ制作の先端技術応用に関する調査研究報告書
http://www.dcaj.or.jp/project/report/pdf/2008/dc_08_03.pdf

平成19年度デジタルコンテンツの保護・活用に関する調査研究等補助事業
デジタルコンテンツ制作の先端技術応用に関する調査研究報告書
http://www.dcaj.or.jp/project/report/pdf/2007/dc08_07.pdf