Misc

Posted by h-wired on 7月 29th, 2008
2008
7月 29

シューター円卓会議 : ABA, JonMak, Omega 撃ち方始め!

The Indie Shooter Roundtable: Mak, Cho, And Omega Fire At Will
 
以下は上記URLの抄訳(というより適当訳)です。意訳、超訳当たり前。何卒ご容赦を。
↓ここからスタート。
 
 
 
Gamesutraはよくメジャーなスタジオの有名なデベロッパーにインタビューをします。しかし、活気のある視点や才能は単独の(そして在野の)クリエイターからもたらされていることもまた、我々の認めるところであります。
その認識の上で、我々Gamesutraはシューティングゲーム(shoot-em-up)というジャンルにおける三名の革新者を招いて、円卓会議をセッティングしました。内訳は以下の通り。
 
- カナダ在住、Jonathan Mak
PS3、PlayStationNetworkのヒット作であり、Independent Game Festivalでの多数受賞を成した「Everyday Shooter」の制作者。(現在はPC上でもプレイ可能)
 
- 日本人、Kenta Cho(ABA Games)
彼の作品「Tumiki Fighters」がこの度「Blast Works: Build, Trade, Destroy」としてWiiに配信された。多作なクリエイター。
 
- 日本人、Omega(ハンドルネーム)
「Every Extend」の制作者であり、後にこれをベースとしてQ Entertainmentより、PSP「Every Extend Extra」、Xbox Live Arcade「E4: Every Extend Extra Extreme」が発売された。
 
彼ら三名の環境やゲームデザインはそれぞれ異なっており、それらの独立した視点は、現代のコンソールプラットフォームの世界を広げるに足る力があるでしょう。
 
これらの新しく、面白いゲームのクリエイター三名の素顔に迫るべく、Game Developer Magazine 編集主任である Brandon Sheffieldが、日本語と英語で行われた、自由で、カジュアルで、気取らないディスカッションをリードします。
 
 
 
――「Everyday Shooter」の音楽はどんな感じで作られたの?
 
Kenta Cho(以下KC):僕はよく「アコースティックギターは2Dシューティングみたいなゲームに合わせるのは難しい」と思っていたんだけど。
 
Jonathan Mak(以下JM):ううん、僕はたまにゲーム作る前に曲から作ってしまって……
 
KC:前に?
 
JM:うん、曲を後に作るときもあるし、前に作るときもある。見た目から入ることもあるね。だから……
 
――KCはいつもゲームを作った後に曲を作るの?
 
KC:常に後だね。自分の作ったゲームをアップグレードしていく時に、曲のビートについて考えて、効果音を足していくんだ。で、そのゲームプレイに合わせてBGMを調製していく。
 
――で、JMはその逆? 君はゲームプレイのほうを音楽に合わせて調製していくの?
 
JM:ううん、ちょっと違うかな。実際は一気に起きてる感じ。
 
――ほんとに?
 
JM:4面をやってみれば僕の言わんとするところがわかると思うよ。あれはすごく遅い。(訳注:彼のゲーム「Everyday Shooter」の事と思われる)
 
KC:僕は毎日の様にテクノを聴いてて。プログレッシブハウスやデトロイトテクノが好きなんだけど
 
JM:君(KC)、ACID使ってる? ね、ACID使ってるでしょ?(ACID=音楽制作ソフト)
 
KC:ACID? うん、使ってる。
 
JM:サンプルやループは?
 
KC:うん、すごく沢山のサンプルを使ってるね
 
JM:ループを作ったりはする?
 
KC:いや、CDからサンプルを使うだけ。僕にはコード(曲のChord)を書いたりループを作ったりする技量がないんだ。
 
JM:僕はどう? 僕が君の為にループを書くってのは?
 
KC:それはいいね(笑)
 
JM:絶対やるよ。
 
――それはクールだ。やるべきだよ。
 
JM:ああ、そうそう。音楽でいうアルバムを作るみたいに、僕らは「シングルス」(”singles”)を作れると思うんだ。ゲームでね。で、それをPSNでリリースしたり。
本当に曲の「シングル」みたいに、僕ら一人一人がそれぞれ1面だけ、10分だけのシューティングを作る。それが面白いかそうでないかは別だけどね。
 
――PSNやWiiのバーチャルコンソールに自分のゲームがアップされる、という事には興味がある?
 
KC:うん、僕は興味がある。
 
JM:君(KC)のゲームのTumiki Fightersをソニーの誰かがPSNに置きたがってるんじゃなかった?
 
KC:ああ、それはソニーじゃなくてWiiだね。でもPSNやPS3でも僕のゲームがプレイできたらいいなとは思うよ。
 
JM:うん。それには作業が必要になるとは思うけどね。でもちょっとしたことだ。三カ月くらいかな。ワイドスクリーン対応もあるし、ちょっとゲームを長めにしたりとか。それに関しては手伝える事もあるよ。
 
――KCはD言語でプログラミングしてるんだったっけ?
 
KC:うん。D言語でやってて、それのせいで他のコンソールに移植するときにちょっと問題が出たりする。
 
――どうしてD言語を使ってるの?
 
KC:D言語は…… ううん、元々C++で書く事は選択肢になくて。何故かというとテンプレートはとても危険だし、汚いプログラミングになってしまう。僕はよくプログラムを書くのにJavaを使うんだけど、D言語はJavaと同じ設計思想の部分があって。あと、D言語は実行ファイルをそのまま作る事ができるし。
 
JM:C++にコンパイルする事もできるんだよね?
 
KC:その変換のためのちょっとしたユーティリティがあるね。でも大きな作品(Project)には向いてない。すっごくシンプルなユーティリティだから。
 
――ワンダースワンのバージョンを作るときに、WonderWitch(制作ツール)上ではどんな言語を使っていたの?
 
KC:WonderWitchではシンプルにC言語を使っていたよ。今メインでゲームを書くのに使っているのはFlashやActionScriptだね。
 
――そうなのか。面白いな……ううん、興味深い。
 
KC:もっといろんな言語にチャレンジしてゲームを作っていきたいね。
 
――それぞれのゲームに、どれくらいの製作期間をかけてるの?
 
KC:そのゲームのサイズによるかな。でも大抵のゲームは六カ月くらいかかってる。最初の三カ月で沢山ゲームのプロトタイプを作って、沢山プレイして、全部破棄してしまう。その後の三カ月でこれと決めた一つのゲームを、一般にリリースできるくらいまで作り込むんだ。
 
JM:で、その傍ら普通の仕事もしてるんでしょ?
 
KC:うん。定職があるよ。だから、基本的にゲームを作るのは週末になっちゃうね。
 
JM:ああ、オーケー。そんなに時間は無いと。
 
KC:(笑)
 
――時間でいえば、だいたい一つのゲームに何時間くらい使ってる?
 
KC:ううん……わからない(笑)
 
――(Omegaに)Every ExtendのオリジナルPC版を作るのにはどれくらいかかった?
 
Omega(以下O):三カ月だね。
 
KC:時間について明確にするのは難しいよね。
 
O:(笑)これは僕の初めてのDirectXを使った作品だったからだけど、最初の一カ月はウィンドウズ上で3Dポリゴンを描画したり、動かしたりするプログラム技術を習得するのに終始していたな。
次の一カ月でプロトタイプを作って友人達とプレイするところまでいった。最後の一カ月は2面構成とかボスみたいな、いろんな仕上げのパーツを作るのに費やしたよ。
 
――このゲームはコンテストにエントリーするために作り始めたんだっけ?
 
O:うん、そうそう。
 
――その頃は君(Omega)は大学に通ってたんだよね? 学校いって、ゲーム作って……
 
O:どっちもやってたね(笑)キャンパスに頻発に顔を出す様な事はなかったけど。
 
KC:(笑)
 
O:毎日の様にゲームを作って、プレイしてを繰り返してた。
 
――みんなにききたいんだけど、弾幕(bullet patterns)ってどうやってデザインしているの?
 
KC:ううん、弾幕ね……
 
JM:僕はKenta Choのゲームを見てる。
 
(一同笑)
 
KC:盗作か!(笑)
 
JM:ごめん。
 
O:そうそう、そうなんだよ。
 
――君(Omega)も?
 
O:うん。沢山プレイしたゲームの中から、いいなと思った弾幕をコピーしちゃうの(笑)
 
――たとえば?
 
O:ううん、CAVEのゲームとか、あとは東方シリーズとか。あとはなんだろう? ああ、雷電シリーズもか。
 
KC:僕が自分で作った言語のBulletML(弾幕記述用プログラム言語)をデザインしている時に考えていたのは、CAVEのシューティングゲーム「プロギアの嵐」に出てくるような弾幕をデザインできたらな、という事だったんだ。あれはすごくユニークな弾幕でね。
弾丸が弾丸を発射していて、しかもその発射方向がリアルタイムに変わっているんだ。だから、そういった各弾丸のいろんな動きをモデル化して、XMLとして書き下ろせればなあと思って作ったんだ。
 
――それがBulletMLを作ったそもそもの動機だったってこと?
 
KC:そう。
 
――BulletMLを使った事はある?
 
JM:いや。僕のゲームには弾幕的な沢山の弾は出てこないしね。
 
――確かに。敵機だけだ。
 
JM:その隊列が重要なんだけど、どうやって作ったかは一言ではいいづらいな。
 
KC:うん、そうだね。BulletMLはほとんどのゲームにとって複雑すぎるところがある。
 
JM:そう、僕はシンプルなのが好きなんだ。シンプルな敵が、予測できる感じの挙動をする。簡単だと思うけど……
 
KC:うん、そうそう。
 
O:BulletMLが必要になるようなゲームを作らないといけないってことはないんだしね。簡単なゲームを作ろうとしている時は、BulletMLを導入するほうが時間がかかることもある。
 
KC:複雑なパターンの弾幕を表現するBulletMLのパーサ(構文)を書く時に、凄く苦労したこともある。ほとんどの人はそんなコントロールできないほど複雑な弾幕を書く必然性はないからね。
 
JM:BulletMLじゃないけど、いつだったか僕もパーリンノイズ(Perlin noise)でやろうとしたことがあるよ。パーリンノイズって知ってる?
 
KC:パーリンノイズ?
 
JM:ノイズの関数なんだけど。ランダムソートみたいで違う……一つの軸をパラメータにして、ノイズの関数を適用して弾幕を作ろうとしてみたんだ。五分五分ってところで、良いときは本当に良いんだけど、悪いときはとことん悪い。だから……
 
KC:(笑)それは良い弾幕をコントロールして出すのは凄く難しいね。大変だ。
 
JM:そこがいいんだけどね。ゲームの中でのものには全てに、それを走らせているコードがある。弾幕がシンプルな挙動しかしないようになっているなら、そのかわりに敵機の挙動をもっと複雑なものにハード・コードしてしまったっていい。4面まで来たら鳥が居て、撃ったらそれが飛び去ってしまう、でもいい。どうやってそれをやるか、だよ。
(訳注:比喩なのか具体例かが訳者には判然としません)
 
――敵機の攻撃フォーメーションはAIか規定の記述か、どっちがいいと考えてる?
 
KC:僕はAIによる敵機のコントロールに興味があるよ。Boidっていう敵弾コントロール用のものなんだけど。
 
O:Boidは良いアルゴリズムだね。
 
KC:うん。Boidはとても複雑で面白いパターンを作る事ができる。でも、敵機の動きをコントロールするのはすごく難しいんだ。
 
JM:僕はいつも怠けすぎで勉強しないから。怠け者プログラマだから、なんでも簡単にしたがるんだ。使うのが難しいアルゴリズム? 僕にとってはアルゴリズムそのものが難しいし、コントロールしづらいんだ。
 
KC:Boid自体はそんなに複雑じゃないし、コードに書き下ろすのもとても簡単だと思ってるけど、挙動をコントロールするのに使おうとするとすごく難しいんだ。
 
JM:僕は、とても面白いパターンを作るのにはシンプルなルールで充分だということが判ったんだ。これみたいに。みせてあげるよ(ノートPCを取り出す)
 
KC:(笑)
 
JM:オーケー、日本に来る飛行機の中で僕はこのちょっとしたのを書いたんだ。まあProcessingでの小さいデモなんだけど。Processing使ったことある?
 
KC:Processingってなに?
 
JM:Processingはすごいよ。すごく簡単。習得に五時間くらいかな。よし、その赤いのが見える? 見て。とてもシンプルな挙動なんだ。自機を追いかけてくるけど、その後に離れる。避けるのは簡単だけど、避けるのに集中しなきゃいけないくらいには難しい。
 
KC:おお。おー。すごく面白い。
 
JM:とっても簡単なルールで書かれてる。でも、既に君は複雑なやりとりをしてる。
 
――追いかけてくるのに時間制限を設定しているの?
 
JM:うん、ランダムで。
 
――これがランダム?
 
JM:うん。PARSEC47(KCのゲーム)で学んだ。
 
KC:(笑)
 
JM:ランダムは君の友達。
 
KC:ああ、ランダムは友人だね。
 
JM:で、8つ集めたら食べて終わり。
 
KC:(笑)時々、敵機の動きの範囲が……
 
JM:ああ、うん。自機が範囲外にいったら動くのを止める。とってもシンプル。でも、わからない。これが僕の考えてるシンプルなルールで、複雑な挙動。
 
――(JMに)KCやOmegaになにか質問はない?
 
JM:特にないよ。称賛する事はあるけど。
 
――ああ、それは良い事だ。
 
JM:この僕の持論をどう思うか…… オーケー、ご存じの通り、最近のゲームのほとんどは今やゲームのピースのセットといえるものを備えている。「Heavenly Sword」とかそういったものをね。記述されたイベントが起きるんだ。そして、これが僕の持論でもあるんだが、そこに乱数によるランダム性を差し入れる。毎回プレイするたびに記述されたイベントが起きるけど、それは毎回新しい。そういった、ランダム性のあるイベントについて製作時に考えた事はある? 僕がみる限り、君(KC)のゲームは完全にランダムに見えているからなんだけど。
 
KC:ランダム性というのはとても重要だと考えてる。特に、ゲームを僕自身が書いていて、テストプレイも自分で絶え間なくやっているという事実が大きいね。ランダム性が好きなんだ。やっぱり制作者は自分のゲームがどんな感じか、というのは判らないし……毎回リアルタイムに挙動が変わるほうがいい。
 
JM:いいね。僕もランダム性は本当に好きだし。でも、「記述されたイベントのランダム性」については? 判るかな。たとえば、最終面において、こう、回転するものがいて、それが去ったら、ボスがいて、みたいな。で、それ自体がランダムなんだ。こんなのはどう思う?
 
KC:パターンや記述については、(ランダムではなく)自分で書いちゃう傾向があるなあ。最小限の記述で最小限のアルゴリズムを使って、別のシーケンスが生成される、という設計をやってみたこともあるよ。やっぱり僕は記述やイベントをゲーム内で書くのがうまくなかった。今度はシンプルなゲームをランダムでリアルタイムなパターンでやってみたら、プレイヤはこれを楽しんでくれたようだった。その、ランダムな過程をね。
 
――Omegaさんはどう? ゲーム内の記述について。(KCに)説明手伝ってくれない?
 
KC:ゲーム内で、(プログラム的な)記述を最小限にしたり、書かなかったりする部分に、かわりにランダム性を入れるようなタイプのゲームは作る?
 
O:記述はマップにしかしないね。ゲームを作り始めて最初の年、Every Extendを作る直前に、「Marunage」っていう、いわゆるプラットフォーム・アクションなゲームを作ってみたんだけど、プログラムしてる時点で数値の設定とかキャラクタの性質の宣言とかは全てしてしまっていたよ。
 
――ああ、彼(Omega)はEvery Extend以前に記述を使った事がなかったんだね。
 
JM:Every Extendで報酬はゲットしたの?
 
O:(笑)(頷く)
 
――でもE4 (Every Extend Extra Extreme for Xbox Live Arcade)ではなかったんだよね?
 
KC:あれ、知らないの? これ秘密?
 
O:多分言わない方がいいかな(笑)
 
KC:じゃ秘密で。
 
O:でも、このシリーズでの新作が出せたっていうのは素直に嬉しいよ。
 
――でも、今君(Omega)はQ Entertainmentで働いてるんじゃないんでしょう?
 
O:今は別の会社で働いてる。
 
――どんな会社?
 
O:ネットワーク系。
 
――ほんと? ゲームに関係ないの?
 
O:ゲームとは近いけど、ゲーム系ではないよ。
 
――それから今までにゲーム作った?
 
O:多分(笑) 時々怠けたり、途中で投げ出したり。うん、作ったともいえるし、作ってないとも言える……オンとオフ両方。
 
KC:僕にもプロトタイプで作るのを止めちゃったゲームが沢山あるよ(笑)
 
O:大量のプロトタイプがね。
 
――「同人ゲーム」に関してはどう思ってる? 好きとか嫌いとか。なんでこんなこと訊くかっていうと、USでは君たちのゲームも扱いとして「同人ゲーム」として紹介されてることがあるからなんだ。これって良い言葉なの? それとも悪い言葉?
 
KC:ああー、わかるわかる。僕自身は同人ゲームという言葉は悪いものだとは思わないし、表現として「フリーウェア」や「インディーズゲーム」との区別がつけにくいのもわかるよ。僕のゲームを「同人」と表現する人がいたとしても、特に悪い印象はないしね。うん。そのあたりに特別なこだわりはないよ。君(Omega)はどう? 自分のゲームが「同人ゲーム」と呼ばれる事に抵抗はある?
 
O:僕らのやってることは、同人ゲームの主流と比べても根本的にはさほど変わっていないと思う。ただ、唯一違うところがあるとすれば、普通「同人」と言う人は、アニメキャラをベースにしたゲームだ、という意図の事が多いってことかな。すごく小さな違いだけど、それは原作へのリスペクトなんだ。
 
――そこがアメリカとは違うところなんだね。僕はたとえばKCのゲームについて英語で話す時に、「同人」という単語を使う様になった。だから、それまでほとんど使われた事がなかった「同人」という単語が、アメリカではインディーズゲーム全般を指す言葉になっちゃったんだ。
 
KC:多分日本でも、「同人」という単語は「個人製作のゲーム」というくらいの文脈で使われているんだろうね。
 
――そう、日本の個人製作のゲーム。ところで、その日本の個人製作ゲーム産出工場であるところの二人はお互いに面識はなかったの? アイデアや作品を交換したりとかは?
 
JM:コミュニティで一緒だったりとかは?
 
KC:コミュニティか。ううん。
 
JM:僕はインディーズゲームのお店をみた事があるよ。秋葉原の同人ショップ。
 
――メッセサンオー? あそこは同人ゲームを入手できる唯一の場所っぽいけど、総合ポルノショップっぽくもあるよね。
 
KC:(笑)でも、このコミュニティはそれとは別物だよ。僕らはゲームを作って、それをウェブで公開している。でも同人ゲームを作ってる多くの人は、それこそメッセサンオーとか、あるいはコミックマーケットとかで頒布するんだ。この二つのコミュニティの間には繋がりがほとんどないと僕は思ってる。同人ゲームのコミュニティについて僕はなんにもしらないし。
 
JM:Omegaには今までに会った事があるの?
 
KC:うん、あるよ
 
――でも、そうだな、似た様な感じの、そう、紫雨陽樹(同人ゲーム制作者)は知ってる?
 
KC:うん、知ってる。
 
――紫雨はその種別でいえば間にいるんじゃない? 彼はアニメキャラクタを使っているけど、いつもシューティングゲームを焦点としたゲームデモをウェブに公開するじゃない。種別のクロスオーバーみたいに見える。
 
KC:うん。僕が紫雨に最初に会ったのはWonderWitchのコンテストだよ(笑)
 
――え、ほんとに? 彼はワンダースワンで「Dicing Knight」を作っているけど、ウェブ繋がりの制作者でやったんだよね? コミュニティがあったの?
 
KC:僕らのそのコミュニティは、ウェブ上で2Dシューティングを作る人たちの集まりだったよ。他の種類のゲームのコミュニティについては知らないけど。
 
――君(Omega)はコミケットに行くの?
 
O:うん、行くよ。
 
――そうか。じゃあ多分君にも「同人ゲーム」はNGワードじゃないんだ(笑)
 
O:ふふ。
 
――コミックマーケットは僕が考えうる限り、同人ゲームが誰にでも買える最大の場所だと思うんだけど。
 
KC:うん。
 
――で、みんなそこで売ってるわけだから、お互いに知り合うのに絶好の機会のように見えるわけ。
 
KC:うんうん。
 
――大抵の人たちはそんな感じで知り合ってると思うんだけど、これってウェブ上でもできないのかな? 「日本の個人製作ゲームポータル」とか。
 
KC:日本ではゲームをウェブ上で販売するという文化がそもそもないんだよね……ほとんどの作者はコミケットに直接いくとか、メッセサンオーとかに委託するとかしてるんじゃないかな。どうしてインディーズゲームのコミュニティにウェブ販売の文化が浸透していないのかは判らないんだけど。
個人製作ゲームを委託する会社は日本にはもっとあると思うけど、今僕のゲームをウェブ上で売ろうとすると、ちょっと難しいと思っちゃうなあ。
 
O:シェアウェア……
 
KC:うん、シェアウェアにするくらいか。
 
――ううん、やっぱり僕は誰かがウェブ上でポータルサイトを作って、そこで君たちのゲームを一カ所で売ってくれる、というのがすごくいい感じに思えるんだけど。まあでも、日本ではウェブ上での買い物にクレジットカードを使うとは限らないしねえ。
 
JM:え、じゃあどうやってウェブ上で買い物するの?
 
――セブンイレブンとかのコンビニで払ったりとか。あとはプリペイドカード買ったり。
 
JM:うわ、めんどくさいね。マイクロソフトポイントみたい。
 
KC:(笑)
 
――Amazonジャパンは今は結構ましになったみたいだけど。それでも簡単というわけじゃないし。だから、もし僕が今、紫雨のゲームが欲しいと思ったとしても、オンラインでは買えなくて、メッセサンオーまでいかなきゃならない。どっちが変なのか、って話だね。
 
KC:そうだねえ。
 
――だから、僕らみたいな西にいる者達は買えない。
 
KC:うん。それは同人ゲームにおける大きな問題だね。海外の人たちは沢山の質のいい同人ゲームをプレイできない状態なんだ。中にはすごく良いシューティングゲームがある。プレイもいいし、音楽もいい。でも……