Cyber​​punk 2000Deus Ex䜜成ツヌル

はじめに









最近、叀兞的なゲヌムに関する物語はGDCで奜評を博したしたが、開発甚のツヌルに関する物語はほずんどありたせんでした。 このシリヌズの蚘事では、ゲヌム開発ツヌルの歎史で重芁な圹割を果たした人々にむンタビュヌするこずで、このギャップを埋めようずしたす。



シリヌズの最初の2぀のパヌトでは、 John RomeroTEd Editorに぀いおおよびTim SweeneyUnreal Editorに぀いお ず話したした。



3番目の蚘事を曞いたずき、 クリス・ノルデンが Deus Exず呌ばれるFPS / RPGハむブリッド甚に開発したツヌルに぀いお話すこずができお光栄でした 。 GDC 2018でサンフランシスコのクリスずおしゃべりしたした。



むオンストヌムの前起源ず芋るガラス



David LightboneIon StormでDeus Exを始めたきっかけは䜕ですか



Chris Norden1994幎、オヌスティンでOriginプログラマヌずしお働きたした。 私が最初に支払ったプロゞェクトは、 Jane's Combat SimulationsによるJane's Combat Simulations AD-64D Longbowでした。 もずもずはチョッパヌアサルトず呌ばれるアヌケヌドゲヌムでした。 アンディ・ホリスず䞀緒に、私は2幎間それに取り組みたした。















ゲヌムのリリヌス埌、私が最埌にやりたいこずは、別の軍事シミュレヌタヌを実行するこずです。軍事的なものすべおが絶察に奜きではないからです。 時々、私はOriginで働いおいたWarren Spectorず話をしたした。 圌はプロットロヌルプレむングゲヌムが本圓に奜きでした。 「自分もこれらのゲヌムが奜きです。そのようなものに取り組みたいです」



1996幎、りォヌレンはオリゞンを蟞任し、オヌスティンのルッキンググラススタゞオの責任者になりたした。 このスタゞオは、 Links 386 ProなどのMacゲヌム甚のポヌトを䜜成したした。 圌女はたた、ブリティッシュオヌプンチャンピオンシップゎルフず呌ばれる圌女自身のゎルフゲヌムを開発䞭です。



OriginはただUltima Onlineを開発しおいたした。 圌女はMultimaず呌ばれ、Ultima VII゚ンゞンを䜿甚したようです。 Originを終了しお、Looking GlassのWarrenに参加するたで、圌ず少し実隓をしたした。



[著者泚ルッキンググラスのメむンスタゞオは、ボストン近郊のマサチュヌセッツ州ケンブリッゞにありたした]



りォヌレンはデザむンドキュメントを䜜成し、しばらくの間、AIRAustin Internet Role-Playingからずいう略語でロヌルプレむングゲヌムに取り組みたした。 3Dアクセラレヌタが登堎し始めたばかりだったので、3Dで䜕かをしたかったのです。 Voodoo 1のプロトタむプを入手し、GLideで小さな゚ンゞンを䜜成したした。



ルッキンググラスのケンブリッゞオフィスず提携したした。 党英オヌプンのリリヌス埌、 ダヌク゚ンゞンず呌ばれる泥棒゚ンゞンでマヌクルブランずダグチャヌチを支揎したした。



経枈的およびその他の理由により、Looking Glassはその時点ではあたり気分が良くありたせんでした。 䌚瀟には玠晎らしいゲヌムがありたしたが、売り䞊げは䜎かったです。 そのため、玄1幎埌、オヌスティンのオフィスを閉鎖するこずが決定されたした。



[著者のメモクリスはゲヌムに぀いお絶察に正しい-りルティマアンダヌワヌルド、システムショック、テラノノァは批評家に非垞に奜評で、1990幎代の最高のゲヌムの䞀郚でした]



オフィスが閉鎖されたずき、私たちはほずんどいたせんでしたりォヌレン、私、アル・ダル゜、ハヌベむ・スミス、スティヌブ・パワヌズ。 私たちは皆、このロヌルプレむングゲヌムに取り組みたいず思っおいたした。 オフィスが閉鎖された埌、私たちは新しい䌚瀟を蚭立しお䜕かをするこずができるこずを期埅しお、玄6ヶ月間お互いを保持したした。 非垞に優れたデザむンドキュメントがあり、それを出版瀟に「販売」し、さたざたな人々ずコミュニケヌションを取り始めたした。 連絡した出版瀟のこずすら芚えおいたせん。 これらの人々の1人はゞョン・ロメロずトム・ホヌルであり、゚むドスず䞀緒に、ダラスにむオン・ストヌムず呌ばれる新しいスタゞオを䜜るために働きたした。









Idの最初の数幎からゞョンを知っおいたした。 1991幎、ダラスで、MTVはWolfenstein 3Dに特化した巚倧な船のパヌティヌを開きたした。 2぀のVR Virtuality Arcade Machineマシンがありたした。 圓時、私は子䟛で、「神、これは䞖界で䞀番クヌルなものだ」ず思っおいたした。ゞョンが「私は金持ちすぎお䜕も心配するこずはない」ずいうスタむルで䜏んでいた圓時、ゞョンに䌚いたした。



ゞョンは玠晎らしい人物です。私はモンキヌストヌンゲヌムズで圌ず協力し、ゲヌムボヌむアドバンスのゲヌム開発を手䌝いたしたが、それは別の話です。



[著者のメモゲヌムはHyperspace Delivery Boyず呌ばれおいたした。 Gameboy Advanceに぀いおは、 Majescoが公開するこずになっおいたが、最埌の時点で䌚瀟はリリヌスを拒吊した。]



私たちはロメロずトムホヌルず話をしたした。「りォヌレン、あなたはクヌルだ、このゲヌムを䜜ろう」 りォヌレンは答えたした。 ダラスに移動したせん。 カリフォルニアに移動したせん。 どこにも移動したせん。 スタゞオはオヌスティンに眮いおおきたす。 ですから、私たちは完党に自立したたたです。 すべおを完党に制埡できたす。 あなたは私にお金をくれたす、そしおすべおが倧䞈倫です。」 圌らは答えたした「わかりたした、私たちに合っおいたす。 解決したした。」



[著者のメモ明らかに、これは亀枉を単玔化しすぎたバヌゞョンですが、䜕が起こったのかを知るこずができたす]



りォヌレンは圓時、トラブルシュヌティングゲヌム甚の優れたデザむンドキュメントを持っおいたしたが、これは埐々にDeus Exのデザむンドキュメントに倉わりたした。



そこで、6人でスタゞオIon Storm Austinを蚭立したした。 圓時、私はテクニカルディレクタヌ、IT郚門の責任者、「Homo Arom」、セキュリティサヌビス、および䞻芁な゚ンゞニアでした。 これらすべおを行うのに十分な人員がいたせんでした。 そのため、迅速にむンタビュヌを実斜し、スタッフを採甚する必芁がありたした。



チヌムは小さかった。 私たちには、スコット・マヌティンずアル・ダル゜ずいう3人の゚ンゞニアがいたした。 シェルドン・パコッティは脚本家ずしお雇われたした。 それぞれ3人ず぀の2぀の蚭蚈チヌムがありたした。 1぀はロバヌトホワむト、2぀目はハヌベむが率いたした。 ゞェむ・リヌが率いる6人のアヌティストがいるようです。



ああ、アンリアルの圌の音楜の倧ファンだったので、アレックスブランドンも雇いたした。 今、私たちは玠晎らしい友達です。 私たちは高校の友達だったので、私は圌を将来の劻に玹介したした。 圌は玠晎らしい男です。優れたミュヌゞシャンであり、技術的な詳现に粟通しおいたす。



その埌、管理者を雇いたした。それだけです。 そしお、2幎半の間、地獄のような仕事に盎面したした [笑い]



Unreal゚ンゞンずQuake゚ンゞンの遞択



JLそれで、Ion Stormの残りの郚分はQuake゚ンゞンで動䜜したしたが、アンリアルを遞択したした。 この決定に至った経緯を説明できたすか



KNQuake゚ンゞンをいくら尊重しおも、その時点ではサポヌトが提䟛されないこずはわかっおいたした。 私たちは䜕でもできるようにしたい非垞に具䜓的なゲヌムを䜜成したした。 Quakeはシュヌティングゲヌムであり、それ以䞊のものではありたせんでした。 FPS以倖のこずをしようずするず、倚くの䜜業が必芁になり、Idからサポヌトを受けられたせんでした。 圌らは単にCDにコヌドを焌き付け、それを開発者に枡しお、そのたたにしおおきたした。



JLティムスりィヌニヌずのむンタビュヌで、圌は圓時のQuake゚ンゞンのラむセンスモデルを「25䞇ドルのXcopy操䜜」ず呌びたした。



KNはい、絶察に正しいです 私は同意したす、゚ンゞンは驚くべきものでした。 圓時、圌は革呜を起こしたしたが、3人の゚ンゞニアのチヌムが゚ンゞンを曞き換えるこずはできず、独自の゚ンゞンを曞くこずもできないこずを知っおいたした。 時間が足りたせん。



か぀お、Amiga、C64、PCデモシヌンの倧ファンでした。 アンリアルず呌ばれるビデオゲヌムを芋始めお、「ああ、なんおこった、RGBラむティングずフル3Dがあるのか​​。 ゚ンゞンはMMX、SSE、および3DNowを䜿甚したす。 圌はずおもクヌルに芋えたす」しかし、私たちは圌に関する詳现な情報を芋぀けるこずができなかったので、カナダのロンドンにあるDigital Extremesぞの旅行を蚈画したした。 私たちはティムず圌のチヌムず䌚い、゚ンゞンのすべおの機胜を芋せおくれたした。 たた、私は珟圚゜ニヌず仕事をしおいるカルロ・フォヌゲルサンず䌚いたした。圌はプレむステヌション郚門にいたす。 圌はGalaxy Audio Engineを曞きたした。ほずんどすべおがアセンブリ蚀語で、超ハヌドコアな男です。 ゚ンゞンには、火ず呌ばれるパヌティクルシステムがありたした。 これらはすべお゚ンゞン内にありたした。 「みんな、私はあなたのアプロヌチが奜きだ」ず思った。









圓時、圌らはこれたで誰もやったこずのない超䟿利なツヌルの䜜成に泚力したした。 Quakeツヌルは優れおいたしたが、技術に詳しくないナヌザヌにはあたりフレンドリヌではないようでした。 ゚ンゞニアリングスキルのないデザむナヌがいお、これらのプログラムの䜿甚方法を把握する必芁がありたした。



そこで、私たちは次のこずを決定したした。「これらの人には優れたツヌルがあり、誰もが私たちを倧いに助けおくれたす。80幎代にハヌドコアなものを曞いた叀い孊校の人がたくさんいたす。 そしお、ラむセンスはどのように配眮されたすか「圌らは答えたした「私たちはこれをこれたでやったこずがありたせん。 圓時、圌らはラむセンスモデルの䜜り方を理解しおいなかったず思いたす。 「りォヌレンスペクタヌがいたす。圌はあなたの゚ンゞンでゲヌムを䜜りたいず思っおいたす。」 圌らがこれを聞いたずき、圌らは本圓に私たちず䞀緒に働きたいず思ったこずが明らかになりたした。



正盎なずころ、ラむセンス契玄の詳现を芚えおいたせん。 ティムはおそらく芚えおいたす。 支払った金額は芚えおいたせんが、あたり考えおいたせん。」



JL圓時のIDがQuakeにどの皋床リク゚ストしおいたのでしょうか



KN少ないず思う そしおそれは別のプラスでした。 圌らの゚ンゞンは比范的新しいものでしたが、私たちは最初のラむセンシヌではありたせんでした。 最初の1぀は、Wheel of TimeずKlingon Honor Guardです。



[著者泚 ティムスりィヌニヌずアンリアル゚ディタヌに぀いおのむンタビュヌでアンリアル゚ンゞンのラむセンス履歎に぀いお詳しく読むこずができたす]



したがっお、私たちはそれを遞択するこずにしたした。 開発者は゜ヌスコヌドを提䟛し、次のように述べたした。「できるだけ早くサポヌトしたす。」 私たちはい぀も察面で話したした。 質問がある堎合は、電子メヌルを送信したした。テクニカルサポヌトシステムはありたせんでした。



圌らがこれをやったこずがないので、私たちは倚くの問題を抱えおいたした。 私たちは圌らに倚くのコヌドず質問を送り、長い連絡を取り、曎新を受け取りたした。 しかし、私はそれが正しい決断だったず信じおいたす。 Quakeを遞択した堎合、ゲヌムの䜜成ははるかに困難になるず思いたす。



さらに、Unreal Tech Advisory Groupのメンバヌになりたした。 私たちは最初の技術䌚議のアむデアを思い぀きたした。そこではラむセンシヌになったすべおの䌚瀟の長圓時は4人でしたが集たり、゚ンゞンを改善する方法に぀いお議論し、䞍䟿な点に぀いおTimをscり、アルコヌルや食べ物で敎理したした。通垞。 私はただこれらすべおの人々ず連絡を取り合っおいたす。



JLUnreal Tech Advisory Groupの他のメンバヌず䜕か共有したしたか



KN䞻にUnreal Editorの改善点を共有したず思いたす。 ゚ンゞンは玠晎らしかったが、圌にはただ長い道のりがあった。 その埌、さらに倚くのデザむナヌやアヌティストを雇うこずができたずき、圌らは䜜業プロセスを改善するための提案も始めたした。 それらを自分で実装するか、Unrealチヌムに送信するか、Unrealチヌムに私たちよりも早くできるかどうか尋ねたした。



メむン゚ディタに倚くの倉曎を加えたしたが、そのほずんどはゲヌムにのみ関連しおいたした。 いく぀かの改善点を共有したしたが、他のほずんどの開発者はたったく異なるゲヌムに関䞎しおいたした。



私は、その皮のシステムずしおは初めおだず思うシステムをたくさん曞かなければなりたせんでした。 少なくずも私はそれらを芋たこずがない。 たずえば、アニメヌションミキシングシステム。 本質的にこれは、モヌフタヌゲットたたはブレンドシェむプが今日呌ばれおいるものです。 圓時、ゲヌムでこれをしおいる人はいたせん。 すでにどこかで実装されおいるかもしれたせんが、むンタヌネットが広く䜿甚される前は、情報を共有するこずは非垞に困難でした。



JLUnreal Editorに加えた倉曎に぀いお話しおもらえたすか



KN䜕らかの理由で圓時ぱディタヌになかったシステムの1぀は、カメラスプラむンの芖芚化です。



UnrealEdの最初のバヌゞョンでは、カメラをドラッグしおそのパスのポむントを蚭定する必芁がありたした。 この堎合、ポむントを衚瀺するこずはできたしたが、カメラ間のパスを決定するポむント間の接続は衚瀺できたせんでした。









JLポむントツヌポむントゲヌムのようなものですが、数字はありたせん



KNその通り スプラむンにはブレヌクポむントがあり、蚭蚈者はパスがどのように芋えるかを垞に把握できたせんでした。 圌らは、カメラがどのように移動するかを非垞に正確に知りたいず思っおいたした。 そこで私はこのシステムを远加したしたが、圌らはそれを気に入りたした。



ずおも簡単でした。 コヌドの単玔さを意味したす。各䞻芁な制埡点に座暙軞を描画し、次に制埡点を描画しお実際にどこに行ったかを確認したす。 それは蚭蚈者を本圓に助け、そのようなシステムを䜜るこずは非垞に簡単でした。 なぜ远加しなければならないのかわかりたせん。 ティムは圌女が本圓に必芁だずは思っおいなかったず思いたす。



DLこれは面癜いです。Unrealの最初のデモを䞀般に思い出すず、人々が最初に目にしたのは城の呚りを飛んでいるカメラでした。぀たり、Epicはカメラパスを䜜成しなかったようです。









KNその理由は、レベルデザむナヌの倚くが超技術者で、頭の䞭でそのようなこずをシミュレヌトするのに慣れおいたからだず思いたす。 しかし、ビデオゲヌム業界は埐々に成熟したため、さたざたなレベルの経隓を持぀人々のためのツヌルを䜜成する必芁がありたした。 すべおのデザむナヌが゚ンゞニアであったわけではなく、今日ではさらにそうです これはルヌルではなく䟋倖でした。 したがっお、ツヌルは䟿利でシンプルになっおいるはずです。



ずころで、ポヌンが恐竜の頭で瀺されおいる理由はただわかりたせん。



JL 笑はい、ティムず私はこれをむンタビュヌで議論したした ずころで、あなたがした技術的な決定を埌悔したしたか



KNUnrealScriptを䜿いすぎたした。 これは間違いの1぀でした。 UnrealScriptは非垞に柔軟でしたが、遅すぎたした。 UnrealScriptよりもネむティブCでより倚くを曞く必芁がありたした。



真北ず停のグリッチ



[著者のメモむンタビュヌのこの段階で、Deus Ex EditorUnrealEdのバヌゞョンずDeus Ex SDKのドキュメントを開きたした]



JLDeus Ex SDKむンストヌラヌには、Robert White、Sheldon Pacotti、Al Yarusso、およびScott Martinがスポンサヌしおいるように芋えるドキュメントファむルがいく぀かあるDocsフォルダヌがありたす。 これらの人々が誰であり、圌らが䜕に取り組んだかを教えおもらえたすか



KNAlは察話゚ディタヌに関䞎しおいたした。 スコットはAIに取り組みたした。 私がやった... すべお 。 [笑]ずりわけ、私はアシスタントディレクタヌでリヌドプログラマヌでした。 しかし、プロゞェクト党䜓で最初から最埌たで3人の゚ンゞニアしかいなかったため、私たちはすべおを少しやりたした。









クリス・ノルデン巊䞋、゚ル・ダル゜クリスの右䞊、時蚈を手に、ロバヌト・ホワむト䞭倮列、䞭倮のやや右、サングラス着甚、シェルドン・パコッティ右䞋、スコット・マヌティン2回目行、右端、サングラスも



DL「Unrealは垂盎階段をネむティブでサポヌトしおいたせんが、Deus Exに远加されおいたす。」ずいう゚ディタヌのドキュメントのセクションがありたす。 これに぀いお詳しく教えおください。



KN階段は面癜い話です。なぜなら、私たちはレベル党䜓を動き回らなければならなかったからです。その圓時の䞀人称シュヌティングゲヌムでは、この目的のために、䌝統的に傟斜階段ず滑らかな䞊り坂が䜿甚されおいたした。



りォヌレンの法什の1぀蚭蚈が法埋であるためですプレむダヌは、どんな方法でもミッションを完了するこずができるべきだず蚀いたした。 ゲヌムの重芁なアむデアは、望むなら、発射するこずなく、党䜓を実行できるずいうこずでした。 実際、私たちはあたり成功したせんでした。数回撮圱する必芁があるゟヌンがいく぀かありたすが、私たちは非垞に近かったです。



DL開発者は続線で成功したず思いたす。



KNはい、おそらく。



そのため、プレヌダヌはゲヌム党䜓を経隓し、発砲するこずはなかったはずです。 さらに、圌は射撃以倖の䜕もせずにゲヌム党䜓を経隓するこずができたした。 プレむダヌはゲヌム党䜓を通り抜けるこずができ、敵に怜出されるこずはありたせんでした。 完党に異なる方法でそれを通過するこずが可胜でした。



JL垂盎階段の欠劂は、アンリアルテックアドバむザリヌグルヌプミヌティングでティムず話し合ったトピックの1぀でしたか



KN答えるには、「Fuck you、Tim」ずいうスクリプトコヌドを芋぀けお調べる必芁がありたす[笑]。これは怒ったずきに私たちがやったこずです。埌でこれを芚えおおくためにコメントを曞き留めたした。



垂盎ラダヌのサポヌトを远加する方法に぀いお考え始めたずき、最初に「ゞオメトリを䜜成したしょう。次に、プレむダヌが同期アニメヌションでバヌを぀かむこずができるように、トリッキヌな物理的トリックを行うこずができたす」ず考えたした。 しかし、私たちが決めた埌-たあ、これはすべお地獄であり、耇雑すぎたす。



JL[笑]



KNデザむナヌがこの仕組みを䜜成するこずを芁求したため、これを非垞に迅速に行わなければなりたせんでした。



したがっお、結果ずしお、私は地獄のようなハックに行かなければなりたせんでした。 ゚ンゞンには「テクスチャグルヌプ」ずいう抂念がありたした。 本質的に、それは特定のタむプのテクスチャに割り圓おられた文字列ラベルであり、それらを゜ヌトしやすくしたす。 コヌドでリク゚ストできたす。 そこで私たちは考えたした「なぜアヌティストは登れるようにテクスチャを䜜らないのですか」 その埌、単にそれらをテクスチャグルヌプに远加し、レむキャストを実行しおそれらを認識し、いく぀かの制限を加えお、プレヌダヌを圌の動きの方向に固定したした。 これはうたく機胜したしたが、垞に完璧ずは限りたせんでした。プレむダヌがテクスチャの最䞊郚に登ったずき、ビヌムはもはや攟射されず、プレむダヌをプラットフォヌムに抌し䞊げる必芁があったためです。 ぀たり、゜リュヌションは䞍完党ですが、結果ずしお機胜したした。 安くお簡単なハックでした。



今日の読者は、「゚ンゞンに階段がなかったのはなぜですか しかし、圓時は䜕もありたせんでした。 これらは単なるBSPフラグメントであり、静的メッシュはありたせんでした。そのようなものはありたせんでした。









JLUnrealEdには非垞にクヌルな螺旋階段ゞェネレヌタヌがありたした笑が、垂盎階段はありたせんでした。



KNええ、そうです... BSPに穎が開いたので、私たちはそれを䜿甚しおデザむナヌをscったようです。 近くに䜕もなければ、階段はきれいに芋えたした。 ただし、BSPで角スラむスを䜜成し始めるずすぐに、BSPに小さな穎を開けるこずができたすが、穎自䜓は芋えたせん。 この機胜は倚くの痛みを匕き起こし、その䜿甚を犁止したした。 圌女は良さそうに芋えたが、壊れおいた...



DLドキュメントには、マップに関する情報たずえば、マルチナヌザヌかどうか、マップの䜜成者の名前、ミッションが完了した堎所、ミッション番号などを含むDeusExLevelInfoずいうクラスも蚘茉されおいたす。 しかし、TrueNorthに぀いおお聞きしたいず思いたす。



KN[笑] BAMタむプのUnrealBinary Angle Measurement゚ンゞンでした



JLこれらのクレむゞヌな数字は䜕ですか



KN圓時、浮動小数点挔算は非垞に高䟡でした。 鉄は匱かったが、十分な蚘憶がなかった。 360床は8ビットの数倀ではなく、255単䜍の粟床、぀たり1単䜍あたり玄1.4床で十分ではありたせん。 ティムはオリ゚ンテヌションに16ビットの数倀を䜿甚し、これにより粟床が向䞊したした。



プログラマヌにずっお、これらの数字はすべお非垞に簡単です。 これらは2床で問題ありたせん。すべおを頭の䞭で蚈算できたす。 しかし、デザむナヌずアヌティストは問題を抱えおいたした。 そのため、開発者がそれらを芚えやすくするために、簡単な単玔化を考え出したした。



[線集者ず䜜業しおいる間、クリスはデコレヌションクラスに参加したした]















KNデコレヌションも倧きなクラスでした。 察話できるすべおのメッシュは装食です。 ぀たり、ゲヌム内のほずんどすべおです



JLドキュメントの装食セクションでは、「以䞋にリストされおいないフィヌルドの䞀郚を倉曎するず、゚ディタヌがクラッシュする可胜性があるこずを譊告しおいたす。」 なぜこれが起こったのか芚えおいたせんか



KN[笑]正盎、芚えおない。 デコレヌションは非垞に倧きなクラスであり、゚ンゞンず奇劙な方法で盞互䜜甚する非垞に倚くのEpic機胜があったため、特定のフィヌルドが予期しない動䜜を匕き起こす理由を技術的な埮劙さを理解しおいないデザむナヌに説明するのではなく、圌らは「それを䜿わないでください。さもないず゚ディタヌがクラッシュしたす。」



JL[笑]



KN恐ろしい戊術のようなものです。 プログラマヌの䌚議で、私たちは、これがBSPチェヌンの損傷に぀ながるこずをナヌザヌに説明する方法を疑問に思いたした。 ゚ディタヌがクラッシュするこずを䌝えたしょう。



コヌドをもう䞀床調査する必芁がありたすが、あたりにも深く詐欺されおいるナヌザヌを怖がらせるために、䞀郚の堎所で意図的な倱敗を隠しおいるずいう眪さえあるようです。



JL続けたしょう。 ParticleGeneratorセクションには、「䞻な機胜の1぀は、トリガヌずunTriggersを䜿甚しおオンずオフを切り替えるこずができるこずです。」 ぀たり、䜿甚したアンリアル゚ンゞンのバヌゞョンでは、パヌティクルをオンたたはオフにするこずは䞍可胜でしたか



KN圓時は違いたす。 パヌティクルシステムを挿入した堎合、垞に存圚し、オフにはなりたせんでした。 これは奇劙な芋萜ずしだず私には思えたす。



そうでなければ、Unrealパヌティクルシステムは最高でした。 ほずんどはアセンブラヌで曞かれおいたす。 それは手続き型であり、他のすべおず比范しお非垞によく曞かれおいたす。 デザむナヌは圌女を愛しおいたした。 実際、あたりにも倚くの。 フレヌムレヌト党䜓を殺すこずが可胜でしたが、圌らは倢䞭になり、たすたす透明なレむダヌを远加したした。



圓時、ハヌドりェアレンダリングはただ普及しおいたせんでしたが、゜フトりェアレンダリングをサポヌトする必芁がありたした。 Timは玠晎らしいプログラミングスキルを持ち、優れた゜フトりェアレンダラヌを䜜成したした。圌は玠晎らしかったです。



[ゲヌム内のさたざたなオブゞェクトを芋るず、[プロパティ]パネルに異垞な名前のカテゎリがあるこずに気付きたした]



JLこの匂いの特性は䜕ですか



KN動物は痕跡を取るために嗅芚が必芁でした。 実際、犬は臭気ノヌドを远跡できたす。 私が正しく芚えおいお、レベルを移動するず、プレむダヌは特定の期間有効だった匂いノヌドを残すこずができたす。したがっお、犬が圌の匂いを嗅ぐこずができるように、それを䜜りたした。



DL぀たり、箱の埌ろに隠れるず、人々はあなたを芋぀けるこずができたせんが、犬は芋぀けるこずができたす



。しかし、結局圌は切り取られたようです。グラフィカルなフィヌドバックがなかったため、この抂念をプレヌダヌに説明するこずは困難でした。















[ゲヌム内で最も象城的なオブゞェクトの1぀であるむントロレベルを開きたす。この郚屋には、巚倧な手の像が回転するグロヌブを持った倧きな恐ろしい郚屋がありたす。ゲヌムのオヌプニングビデオで圌女 を芋せおくれたす。]



DL質問がありたす。床の䞋にこのゞオメトリのミラヌは衚瀺されたせん。他のゲヌムでは、床の裏に重耇したゞオメトリを配眮するこずでミラヌがシミュレヌトされたした...















KNいいえ、鏡は本物でした非垞に遅いため、デザむナヌにめったに䜿甚しないように䟝頌したしたが、これらは実際のミラヌです。



実際、レヌザヌコヌドを曞いたずき... [笑]



DL[笑]あなたが䜕を埗おいるかわかりたす...



KN...私は実際に鏡をチェックしなければなりたせんでした。すべおのデバむスのコヌドをテストするテストレベルがありたした。レヌザヌポむンタヌコヌドを曞いたずき、反射ミラヌディスコボヌルを䜜成し、䞡端にミラヌのある郚屋を䜜りたした。レヌザヌポむンタヌを取り出し、ディスコボヌルに向けるず、うたくいきたした



もちろん、すべおのラむンをトレヌスしなければならなかったため、フレヌムレヌトはどこよりも䜎くなりたした...



Light WaveLWO23Dコマンドラむンツヌルをご芧ください



[著者泚LWOはLightwave Objectの略です。これは、フォヌマットの3Dゞオメトリの゜フトりェアパッケヌゞですLightwaveの3D䌚瀟NewTek瀟のチヌムデりス゚クスしばらく]ずしおもテキサス州に䜍眮しお、















TackのDeus Ex Labのスクリヌンショット



JLなぜあなたのチヌムはLightwaveを䜿甚するこずに決めたしたか



KN私たちのアヌティストは圌をよく知っおいたした。 したがっお、適応する必芁がありたした。



DL゚クスポヌタヌをコマンドラむンツヌルずしお曞いた理由に぀いお詳しく教えおください。



KNそのずき、そしお今でも、タスクを自動化するための小さなコマンドラむンツヌルを曞くこずがよくありたす。 私は昔ながらのプログラマヌであり、䞍必芁な合䜵症は奜きではありたせん。 私はほずんどC ++が嫌いです。 私はパタヌンが奜きではありたせん。 時間のかかるものすべおが奜きではありたせん。



コマンドラむンツヌルを䜜成するずきは、Win32バッチファむルを䜜成し、組み蟌みのすべおを取り陀き、空のファむルから始めお、 int main()



、先に進みたす。 これは、問題を匕き起こさない迅速でポヌタブルな゜リュヌションです。



DL静的メッシュの゚クスポヌトはかなり暙準的なプロセスだず思いたす。 しかし、アニメヌションをどのように゚クスポヌトしたか教えおください。















TackのDeus Ex Labのスクリヌンショット



KNゲヌムには骚栌アニメヌションはありたせんでした。 私はそれが実装されおいる時代の単䞀の゚ンゞンを知りたせん。 したがっお、すべおは頂点の混合によっお行われたした。 スキニングは圓時非垞に高䟡でした。 GPUはありたせん。CPUですべおを蚈算する必芁があり、䜕らかの方法で浮動小数点蚈算を避けたした。



Lightwaveの内郚で、デザむナヌは骚栌アニメヌションを䜜成し、そのキヌフレヌムを衚瀺したした。 アニメヌションをミックスするには共通の基盀から始める必芁があるため、Tポヌズを䜜成する必芁がありたした。 ぀たり、適切なミックスでは、アニメヌションは基本的にTポヌズからのオフセットでした。 混合ぱンゞンの偎面で行われたした。



JLそれで、Unrealでは、すべおが同じでしたか



KNおそらくはい。 ティムが次のバヌゞョンに骚栌アニメヌションを远加したずは思わない。



トヌキングヘッドConvEditずLipsink



[ConvEditフォルダヌを開きたす]









JLConvEditに぀いお教えおください



KNAlの発案によるもので、Visual Basicで曞いおいたす。



JL圓時のUnrealEdず同じです。



はい、圓時は、むンタヌフェむスを簡単に実装する機䌚はあたりありたせんでした。 Delphiおよび他のいく぀かのUIフレヌムワヌクがありたした。 それらを䜿甚しなかった堎合は、たずえばWin32 API、GDIなど、すべおネむティブに蚘述する必芁がありたした。 それは倧きな問題でした。



぀たり、今日ではかなり原始的なように芋えるVisual Basicは、圓時非垞に優れおいたした。Cの前身であるBasicに䌌た独自のプログラミング蚀語を備えたシンプルなビゞュアルフレヌムワヌクです。 圌は私たちに関数のプロトタむプを䜜成し、ツヌルを非垞に迅速に曞くこずを蚱可したした。



[泚Visual Basicがその時代のゲヌム開発ツヌルでどのように䜿甚されたかに興味がある堎合は、 アンリアル゚ディタヌに぀いおのティムスりィヌニヌずのむンタビュヌを読んでください]



䞻にシェルドンが䜿甚しおいたした。 圌はカメラを制埡するツヌル、音を制埡するツヌルを必芁ずしおいたした。 圌は、誰も䜿甚したこずのない映画のようなツヌルを倚数䜿甚したいず考えたした。 最初に挔壇ズヌムずは䜕かを孊び、シェルドンずこのゲヌムに取り組みたした。



今日でもこのツヌルはただ䜿甚されおいるず思いたす。



ずころで、シェルドンはトンネル手銖症候矀RSI、反埩性緊匵障害を患っおいたため、アザラシは圌にずっお拷問になりたした。 圌は、Dragon Dictateの音声転写を䜿甚しおDeus Exにほが完党に取り組みたしたが、圓時は今日よりもはるかに悪かったです。 この症候矀は非垞に匷かったため、シェルドンは装具を着甚する必芁さえありたした。

















JLわあ 知りたせんでした ゲヌムには倚くのダむアログず倚数のブランチがありたした...



KN1぀のミッションでも倧量のデヌタがありたす。



シェルドンは、ゲヌムず倚くのむンタラクティブな察話を匷力に制埡したいず考えおいたした。 圌はプレヌダヌに有意矩な遞択をしおもらいたかった。 圌ずりォヌレンは、遞択せずにダむアログをクリックする必芁がないこずを嫌っおいたした。 圌らはプレむダヌがキャラクタヌずやり取りし、重芁なものを遞択するこずを望んでいたので、ゲヌムは旗を立お、パッセヌゞ䞭のキャラクタヌずのやり取りず行動を芚えおいたした。



JLDeus Exの最初のりォヌクスルヌから、アンナナバラのオフィスでのブリヌフィングを芚えおいたす。 すべおのビデオゲヌムでい぀ものように、私はNPCが察話を完了するたで、あらゆる皮類のナンセンスをしおオフィスを走り回りたした。 突然、圌女は䌚話を止め、私に向き盎り、「䞀䜓䜕をしおいるの」ず尋ねたした。



KN[笑]



DL少しの間、私は凍り぀いお、「これは本圓に起こったのですか」ず自問したした。ゲヌムに没頭するずいう点で、私にずっおはずおも重芁な出来事でした。 これが芋られる前の単䞀のゲヌムはありたせん。 これは、䌚話゚ディタが原因のようです。



KNりォヌレンの戒めの1぀は、「プレヌダヌが誰かのオフィスにいお、動物のように振る舞い、物を壊す堎合、キャラクタヌは䜕かを蚀わなければなりたせん」 圌はプレヌダヌを無芖すべきではありたせん。なぜなら、それは非珟実的だからです。」



JLツヌルを䜜成するのが特に難しいず刀明したカットシヌン関連の偎面はありたしたか



KN私たちはたくさんの察話をしたしたが、それらはすべお声をかけられたした。 私たちは俳優ずの察話を録音スタゞオで数週間過ごしたした。 これは、唇の動きを同期させるこずに぀いお考える必芁があるこずを意味したすlipsyne。 「非垞に倚くのダむアログでリップシンクを䜜成する方法は」ず思ったのは、結局のずころ、フレヌズだけでなく、いく぀かの蚀語もありたした。



圓時、巊官に圹立぀ツヌルはあたりありたせんでした。 ほずんどの開発者は前凊理を実行したした。ツヌルでダむアログを実行し、デヌタファむルを衚瀺しおから再生したした。 しかし、私は決定したした「私たちはこれのための時間がありたせん、そしお、あなたが声を再録音しなければならないならば、あなたは再びすべおをやり盎す必芁があるでしょう。」



だから私は、動的なサりンド分析を䜿甚しおこれをリアルタむムで行う䜕らかの方法がなければならないず考え始めたした。 倧孊で電気工孊を孊び、誰にも蚀わずに自分で理解するこずにしたした。



JL[笑]



KN「これができるかどうか芋お、みんなを驚かせたす」ず思いたした。 繰り返したすが、私は誰も以前にこのようなこずをしたこずはないず思いたすが、今日、このテクニックはどこにでもありたす。



圓時、私が芋たすべおの䞭で、そのようなシステムに最も近いのはHalf-Lifeでした。 開発者はEnvelope Followingテクニックを䜿甚したした。これは文字通り、サりンドの音量に応じお口を開閉したす。 システムは機胜したしたが、あたりリアルに芋えたせんでした。



DL本質的に、それは「顎のけいれん」でした。



KNはい、正確に、正確に。



Gabe Newellずこのタスクをどのように達成したかを䞀床話し合ったずきのこずを芚えおいたす。「ああ、 Envelope Followを䜿えばそれで十分です。 他のすべおは耇雑すぎたす。」



それから私は家に戻り、数孊的蚈算を掚定し始め、それからFFT 高速フヌリ゚倉換 を実行するシステムを曞きたした。 繰り返したすが、浮動小数点蚈算は非垞に高䟡であり、おそらくそれらをシミュレヌトする敎数近䌌を蚘述したした。



圌女はリアルタむムで短い音声録音を分析し、䞻芁な呚波数成分を抜出し、6〜7぀の異なる音玠に結び付けたした。



ひそかに、アヌティストの䞀人にいく぀かのブレンドの圢ブレンドシェむプをシミュレヌトするよう䟝頌したした。「ああ」、「a」、閉じた唇などが必芁でした。 圌は理由を尋ねたした、そしお、私は圌が単にこれをしお、私にデヌタを䞎えたず答えたした。















高速フヌリ゚倉換りィキペディアの画像およびプレストンブレア音玠シリヌズ



JL[笑]この゜リュヌションは、Deus Exで䜿甚したアニメヌションの組み合わせに合っおいるようです。



KNはい、正確に、完璧です。



それで、圌は私にデヌタを䞎え、私は数孊的蚈算を曞き、できる限り手䜜業でフォヌムを添付したした。 私は真剣な研究をしたせんでした。システムはパフォヌマンスの点で非垞に高䟡でした。



私は真ん䞭に巚倧な頭を持぀テストレベルを䜜成し、圌女に2、3行を送りたした。 ドむツ語、英語、フランス語でフレヌズをチェックしたしたが、すべおが完党に同期しおいたした。 「くそ、これはすごい 本圓にうたくいきたした」



りォヌレンを芋぀けお、圌に蚀った、「私はあなたに䜕かクヌルなものを芋せたい」。 圌はst然ずしたようです。 [笑]圌は私に尋ねたした「䞀䜓䜕だ、これをゲヌムに入れるこずができたすか すごい」



その結果、このシステムを䜿甚したゲヌムをリリヌスしたしたが、パフォヌマンスのために倧幅に削枛する必芁があり、そのために芖芚的な品質が䜎䞋したした。 しかし、私の最初のテストレベルは玠晎らしかったです。 私は今でもこれが最初のリアルタむムリップシンクシステムだず思いたす。 以前にこれをやった人はいたせん。



おそらく特蚱を取埗する䟡倀があったのでしょう。 しかし、私はそれが悪質な行為だず思うので、゜フトりェア特蚱を信じたせん...



たた、このシステムをAnacronoxで䜿甚したいダラスのアヌトディレクタヌの1人ずの倧きな議論もありたした。 圌女は私たちのゲヌムの前に出おくるべきだった。 「共有しおもかたいたせんが、Deus Exが登堎する最初のゲヌムになりたいです。」 圌は蚀った「いいえ、あなたは私たちにそれを䞎えなければなりたせん」圌はホヌルで私たちに実際に叫んだ。 「いいえ、私はすべきではありたせん」ず答え、りォヌレンは私を支えたした。 最初にゲヌムをリリヌスしたので、これはずにかく重芁ではありたせんでした。 実際、私たちはそれを手攟したくなかったので、結果ずしお、圌らは独自にシステムの独自のバヌゞョンを実装したず思いたす。 利己的だったかもしれたせんが、この機胜を実蚌できるように、最初に卒業しおほしかったです。



Ion Stormが制䜜した他のすべおはダラスで開発されたした DominionStorm Over Gift 3 、 Daikatana 、 Anacronox-すべおはダラスで行われたした。 Deus ExのみがAustinで䜜成され、私たちのチヌムだけがいお、他の人はいたせんでした。 私たちはバブルにあり、ダラスのオフィスからはたったく孀立しおおり、これは意図的に行われたした。 私たちは束をいじりたくはありたせんでした...私は率盎になり、圌らのすべおのゎミを束ねたす。 この分離は完党に意図的であり、私たちにずっお非垞に重芁です。 私たちのチヌムず圌らのチヌムはテクノロゞヌを亀換せず、実際の連絡先も亀換したせんでした。



おわりに



DL芁玄するず、この蚘事を読んでいるツヌル開発者にアドバむスをいただければ、䜕ず蚀いたすか



KN顧客の話を聞いおください。 ツヌルを真空で曞かないでください。 ゚ンゞニアずしお、「この方法でこのツヌルを䜿甚できたす。この方法が最も効果的であるため、このように蚘述したす。」



しかし、ほずんどい぀もあなたは間違っおいたす。 デザむナヌずアヌティストのワヌクフロヌは非垞に異なるため、デザむナヌずアヌティストの話を聞く必芁がありたす。 それらは他ずは完党に異なる働きをしたす。 このツヌルはあなたが䜿甚するこずはありたせん。ほずんどの堎合、圌らのためです。



DL䞀緒に働いたチヌムでそのようなメンタリティに出䌚ったこずはありたすか そしお、これにどのように察凊したしたか



KNプログラマヌに䌝える必芁があるのは、「ナヌザヌにこの問題があるず思うのはなぜですか 問題はコヌドにあるず思いたすか それずも、画面の構造に問題があるのでしょうか フォントが小さすぎたせんか 間違ったボタンの色 おそらく、あなたは非暙準的なこずをしおいるのでしょうか」



なぜなら、プロフェッショナルなデザむンのほずんどのツヌルを芋るず、通垞はかなり䞀貫しおいるからです。 物事の仕組みに関する蚭蚈ガむドがありたす。



クリ゚むティブチヌムはこれらのツヌルを䜿甚できる必芁がありたす。 ドキュメントを読む必芁があるずいうこずではありたせん。 理想的な䞖界では、すべおが明癜なはずです。



今日はUX / UIデザむナヌがいたすが、圓時は䜕もなかったので、ナヌザヌからのフィヌドバックを埗ながら、自分でむンタヌフェむスデザむンを䜜成する必芁がありたした。



そのため、ナヌザヌの隣に座っお、ツヌルの䜿甚方法を確認しおください。 Lightwaveでの動䜜を確認したした。 ツヌルの最初のバヌゞョンを曞いたずき、私たちは䜕をすべきかを促さずに近くに座っお、それらを芋お、「これに問題がありたした」たたは「それを芋぀けるためにメニュヌに登らなければならない」などのメモを䜜成したしたホットキヌにする䟡倀がありたす。」 それらを芋お、孊び、適応するだけです。



぀たり、デザむナヌのワヌクフロヌに぀いお本圓に考える必芁がありたす。 䞍芁な動きを最小限に抑え、メニュヌのクロヌルを最小限に抑え、ホットキヌを远加する必芁がありたす。 ワヌクフロヌを高速化するため、すべおの機胜のキヌボヌドショヌトカットを積極的に掚進したした。 ツヌルを孊習する過皋で、ホットキヌを䜿甚しお䜜業を倧幅に加速したす。メニュヌを登る必芁はありたせん。



゚ンゞニアのための叀兞的なtrapに陥る必芁はありたせん。「よく知っおいたす。楜噚を曞き留めたした。どのように機胜するかを知っおいたす。 䜿甚できない堎合、あなたはただのバカです。」 これは、ツヌルを開発するずきに起こりうる最悪の事態です。



JL玠晎らしいアドバむス。 クリス、どうもありがずう



All Articles