Gamastra: Portalができるまで (08/1/10)
Gamastraは、2008年1月号のGame Developer magazineに掲載されている、Kim Swift、Erik Wolpaw、Jeep Barnettの三人のクリエイターの手によるPortalのメイキングに関する独占記事の一部を紹介している。
GLaDOSの創造
執筆に着手する前に我々はErikと会い、物語の制約一覧に関して話し合いを行った。その当時、我々はHLのパーツをある程度使用しており、またいつか、Portal銃をHLのゲーム内でも使えるようにもしたかったので、物語をHLの世界と何らかの繋がりがあるようにした。
実際の所、我々には人間のキャラを追加する十分な時間や資力は一切なかった。相当量のアニメ付けの作業や演出を必要とすることになるからだ。つまり、目に見える余分なキャラクタの追加から受ける恩恵なしに物語を表現しなければならなかった、ということだ。
会合の一週間後、Erikはテキスト読み上げプログラムで録音した台詞のサンプルをいくつか持って戻ってきた。Portalの最初の部屋に出てくる、新たに命名された「リラクゼーション室」で流れる一連のアナウンスだ。
その台詞の邪悪で滑稽なトーンにチームの誰もが気に入ったので、相応な物語の模索中にもかかわらず、Erikは他のチャンバーでのアナウンスの執筆と録音を続けた。とはいえ、ある時点で、そうしたアナウンスはプレイテスターにとってプレイさせ続ける動機を与えるものであることが明らかとなった。それは我々が最初から追い求めていたものだった。
さらには、無味乾燥で人気のないテストチャンバーという環境内では、プレイヤーは実際に、なだめたり脅したりするコンピュータの案内に愛着を覚えるようになる。我々はPortalにメッセージ性のある声を見いだした。
技術的問題の克服
我々が遭遇したもう一つの問題は、モデルに対するLOD(level of detail - 距離によるモデルの簡素化)といった、距離を基本としたシステムに手をつける必要性が出てきたことだ。我々のゲームでの距離は、Portalの位置と相関関係にある。
つまり、距離の計算は一つではなく、二点を結ぶ三つのラインから選択するようになった、ということだ。また、視線が目標に達するまでに、Portalを一回以上通過することもある。
Sourceエンジンは隠面処理(culling)に、数多くの視覚最適化の事前計算を行う。Portalによる可視Leafの接続をユーザに可能にすることで、また別の複雑さが加わった。
よりよいレンダリングのために、Portal内部の描画にステンシルバッファへ書き込む方法を導入し、Portalの再描画の深さの取り扱いに多大な適応性を与えてくれた。これにより、(パフォーマンスにのみ制約された)無限の深さのPortalを描画することを可能にし、「無限」回廊の見た目を非常に格好良くしてくれた。
ステンシル描画により、HDRブルーミングのようなSourceエンジンの他の技術と組み合わせた際に生じる問題も適切に解決した。Portal用にさらに二回の描画を行わなければならないため、我々は可能な限りPortalを高速に描画できるよう、心血を注いだ。Portalの縁を基にした特別な円錐台状の視野を用いた隠面処理(view frustum culling)や、Portalの描画用の描画リストの最適化といったものだ。
Comments
crash on 2008-01-14 at 01:54:15
Portalは今いる場所とは違う場所も見える可能性があるから
最適化が大変そうですね。
アナウンスの声には自分も愛着を感じました。
しかし実物は・・・Σ(゚д゚|||)ガーン


