Source ( Source 1 [ 1 ]とも呼ばれる)は、 Valveが開発した3Dゲーム エンジンです。2004 年に、Half-Life: Source、Counter-Strike: Source、Half-Life 2のリリースとともにGoldSrcの後継としてデビューしました。Valve は、 Team Fortress 2、Counter-Strike: Global Offensive、Dota 2、PortalおよびLeft 4 Deadシリーズなど、その後の多くのゲームで Source を使用しました。Sourceを使用しているその他の注目すべきサードパーティ ゲームには、 Titanfallシリーズのほとんどのゲーム、Vampire: The Masquerade – Bloodlines、Dear Esther、The Stanley Parable、Garry's Modなどがあります。Valve は現在もいくつかの Source ゲームのサポートを続けており、2015 年にSource 2に置き換えられるまで、エンジンの新しいブランチを段階的にリリースしました。
ソースコードは、遠く離れたところにあるGoldSrcエンジンに由来しており、GoldSrcエンジン自体は、ジョン・カーマックのQuakeエンジンを大幅に改変したもので、 Quake IIエンジンのコードも一部含まれています。カーマックは2004年に自身のブログで「Half-Life 2にはまだ初期のQuakeコードが残っている」とコメントしました。[ 2 ] Valveの従業員であるエリック・ジョンソンは、Valve開発者コミュニティでエンジンの命名法について説明しました。 [ 3 ]
Half-Lifeのリリースが間近に迫った頃(1 週間以内)、既に着手する必要のあるプロジェクトがいくつかあることが分かりましたが、ゲームの出荷版にコードをコミットするリスクを冒すことはできませんでした。その時点で、VSSのコードをフォークしてと の両方にしました。その後数年間、社内ではこれらの用語を「Goldsource」と「Source」と呼んでいました。少なくとも当初は、Goldsrc ブランチのコードは、現在リリースされているコードベースを指し、Src は、私たちが取り組んでいた次のよりリスクの高いテクノロジーのセットを指していました。E3でHalf-Life 2 を初めて披露する段階になったとき、社内コミュニケーションの一部として「Source」エンジンと「Goldsource」エンジンを区別して呼ぶことになり、その名前が定着しました。
/$Goldsrc/$Src
Source はこのフォーク以降、部分ごとに開発され、Valve の内部プロジェクトで GoldSrc を徐々に置き換えていきました[ 4 ]。また、その異例なモジュール性の背景にある理由も部分的に説明しています。Valve による Source の開発は、それ以来、ライセンスされたミドルウェアと社内開発のコードの組み合わせで行われてきました。Source の古いバージョンでは、ビデオ再生にBink Video を使用していますが[ 5 ]、Source エンジンのより新しいリリースでは、メニューの背景、フルモーションビデオ、スプラッシュスクリーンにWebMビデオを使用しています[ 6 ] 。
Source は、競合製品のように後方互換性を損なう「バージョンジャンプ」ではなく、新しいテクノロジーに合わせて段階的に進化するように作られました。 Source 内のさまざまなシステムは、個別に更新できる別々のモジュールで表現されています。Steam を使用すると、 Valve はこれらの更新を多数のユーザーに自動的に配布できます。ただし、実際には、この互換性の連鎖に時折途切れが生じています。Half -Life 2: Episode OneとThe Orange Boxのリリースでは、開発者がコード、場合によってはコンテンツをアップグレードしない限り、古いゲームやmodを実行できない新しいバージョンのエンジンが導入されました。 [ 7 ]どちらの場合も、競合エンジンよりもバージョンを更新するのに必要な作業は大幅に少なくて済みました。

Source 2006 ブランチは、Valve のゲームで使用された技術で、 Half-Life 2: Episode Oneのリリースで頂点に達しました。HDR レンダリングとカラー補正は、2005 年にDay of Defeat: Sourceを使用して初めて実装され、エンジンのシェーダーを書き直す必要がありました。[ 8 ]前者は、開発者の解説トラックとともに、Half-Life 2: Lost Coastで披露されました。Episode One では、 Phong シェーディングやその他の小さな機能が導入されました。画像ベースのレンダリング技術はHalf-Life 2向けに開発されていましたが、[ 9 ]リリース前にエンジンから削除され、 2006 年にGabe Newellによって、厳密にポリゴンオブジェクトでは不可能なはるかに大きなシーンをサポートするために Source に追加したい技術として再び言及されました。[ 10 ]
Source 2007 ブランチは、 The Orange Boxのリリースに向けて Source エンジンを完全にアップグレードしたものです。アーティスト主導のスレッド化されたパーティクル システムが、それまでハードコードされていたすべてのゲームのエフェクトに取って代わりました。それをサポートするためにプロセス内ツールフレームワークが作成され、 Source Filmmakerの初期ビルドもサポートしました。さらに、顔アニメーション システムは、最新のビデオ カードでハードウェア アクセラレーションされ、「長編映画および放送テレビ」品質になりました。[ 11 ] The Orange Boxが複数のプラットフォームでリリースされたことで、大規模なコードのリファクタリングが可能になり、Source エンジンが複数の CPU コアを活用できるようになりました。[ 12 ]しかし、PC でのサポートは、Left 4 Deadのリリースまで実験的で不安定でした。[ 13 ]マルチプロセッサ サポートは、後に Team Fortress 2 および Day of Defeat: Source にバックポートされました。 [ 15 ] Valveは、The Orange BoxのXbox 360リリースを社内で作成し、コンソールのサポートはメイン エンジン コード ラインに完全に統合されています。これにはアセットコンバータ、クロスプラットフォームプレイ、Xbox Live統合が含まれます。[ 16 ] PlayStation 3版はElectronic Artsに委託され、その過程で様々な問題に見舞われました。Gabe NewellはThe Orange Boxのリリース時にコンソールを批判する際にこれらの問題を挙げました。[ 17 ]
Left 4 Dead ブランチは、 Left 4 Deadシリーズの開発を通じて Source エンジンの多くの側面を刷新したものです。マルチプロセッサのサポートがさらに拡張され、分割画面マルチプレイヤー、追加のポストプロセス効果、Squirrelを使用したイベントスクリプト、非常に動的なAI Directorなどの機能が可能になりました。メニュー インターフェースは、よりコンソール向けになるように設計された新しいレイアウトで再実装されました。このブランチは後にAlien SwarmとPortal 2のリリースにつながり、前者はブランチ開始以来行われた多くの変更の概要を示すソース コードとともにリリースされました。Portal 2 は、Valve が PlayStation 3 への移植の問題を社内で解決し、Steamworks統合と組み合わせることで、彼らが「最高のコンソール版ゲーム」と呼ぶものを作り出した結果でもあります。[ 18 ]
2010 年 4 月、Valve はすべての主要な Source ゲームをOS X向けにリリースし、同じプラットフォームでの Steam クライアントのリリースと同時期にリリースしました。Valve は、今後のすべてのゲームを Windows と Mac 向けに同時にリリースすると発表しました。[ 19 ] [ 20 ] Valve のゲームで最初に Linux をサポートしたのはTeam Fortress 2で、2012 年 10 月に Steam の Linux 版のクローズド ベータ版とともにリリースされました。エンジンの OS X 版と Linux 版の両方でOpenGLが利用され、 Simple DirectMedia Layerによって動作しています。[ 21 ]移植の過程で、Valve はThe Orange Boxまでにリリースされたほとんどのゲームを、別々ではあるものの並行した「シングルプレイヤー」と「マルチプレイヤー」のブランチに再編成しました。これらのブランチのゲーム コードは 2013 年に mod 開発者に公開され、mod 用に指定された Source の現在の安定版リリースとして機能しています。Valve の内部 Steam Pipe 配信システムとOculus Riftのサポートが含まれています。[ 22 ] 2014年5月、NvidiaはTegra 4ベースのAndroid携帯ゲーム機Nvidia Shield向けにPortalとHalf-Life 2の移植版をリリースした。[ 23 ]
Source 2 は、2015 年 3 月に開催されたゲーム開発者会議で、Valve によって Source の後継として発表されました。 [ 24 ]そこで Valve は、開発者は無料で使用でき、Vulkan グラフィック APIのサポートと、Rubikon と呼ばれる新しい社内物理エンジンの使用が可能であると述べました。[ 25 ] [ 26 ] 2015 年 6 月、Valve は、元々 Source で開発されたDota 2を、 Dota 2 Rebornと呼ばれるアップデートで Source 2 に移植すると発表しました。[ 27 ] [ 28 ] Reborn は、同じ月にオプトイン ベータ アップデートとして最初に公開され、2015 年 9 月に正式に元のクライアントを置き換え、このエンジンを使用する最初のゲームとなりました。[ 29 ] [ 30 ]このエンジンは、2010 年代後半までに Source の後継となりました。
Source SDKは Source エンジン用のソフトウェア開発キットであり、Valve がゲームのアセットを開発するために使用するツールの多くが含まれています。アセット パイプライン内の特殊な機能用に設計されたコマンドライン プログラムがいくつか付属しており、より複雑な機能を処理するために設計された GUI ベースのプログラムもいくつか付属しています。Source SDK は Steam を通じて無料のスタンドアロン ツール セットとしてリリースされ、同じアカウントで Source ゲームを購入する必要がありました。2008年後半にLeft 4 Deadがリリースされて以来、Valve は各ゲームのエンジン ビルドに合わせて調整された同じプログラムで構成される「オーサリング ツール」を個々のゲーム向けにリリースし始めました。Team Fortress 2 が無料プレイになった後、Source SDK は事実上すべての Steam ユーザーに公開されました。一部の Source ゲームが Source 2013 にアップデートされたとき、古い Source SDK は段階的に廃止されました。現在、以下の 3 つのアプリケーションは各ゲームのインストールに含まれています。
Source SDK には、Hammer Editor、Model Viewer、Face Poser の 3 つのアプリケーションが同梱されています。Model Viewer は、ユーザーがモデルを表示できるプログラムで、開発を含むさまざまな目的に使用できます。開発者は、このプログラムを使用して、モデルとその対応するアニメーション、アタッチメント ポイント、ボーンなどを表示できます。Face Poser は、顔のアニメーションと振り付けシステムにアクセスするために使用されるツールです。このツールを使用すると、キャラクターの顔の表情、ジェスチャー、動き、リップシンクの音声、シーケンスの表情やその他の演技のキューを編集し、ゲーム エンジンでシーンがどのように見えるかをプレビューできます。[ 31 ]
エンジンの公式レベルエディタであるHammer Editorは、SDKに含まれるレンダリングおよびコンパイルツールを使用して、バイナリ空間分割(BSP)方式でマップを作成します。レベルのジオメトリは、ブラシと呼ばれる3Dポリゴンで作成されます。各面にはテクスチャを割り当てることができ、これにより足音に使用されるサウンドなど、表面のプロパティも定義されます。[ 32 ]また、面をディスプレイスメントに変換することで、丘などのより自然な形状を作成することもできます。
景観オブジェクトや複雑な形状は、ゲームディレクトリから個別の3Dモデルとしてインポートできます。これらのモデルは、物理オブジェクトやインタラクティブな小道具としても使用できます。エディタには、複雑なインタラクティブ要素を作成するために使用できる詳細なロジックI/Oシステムも備わっています。ボタン、 NPC 、非可視トリガーブラシ、マップ小道具などのエンティティ間で、さまざまな応答をトリガーしたり、エンティティの状態を変更したりする信号を送信できます。
Source Dedicated Server (SRCDS) は、クライアントを必要とせずにマルチプレイヤー ゲーム セッションを実行する Source エンジンのスタンドアロン ランチャーです。Windows または Linux から起動でき、カスタム レベルやアセットを使用できます。ほとんどのサードパーティ サーバーは、さらにMetamod :Source と SourceMod も実行しており、これらが連携して、既存のタイトルのゲーム プレイをカスタム変更するためのフレームワークを SRCDS 上に提供します。[ 33 ] [ 34 ]
Source Filmmaker (SFM) は、Source エンジン内で構築された 3D アニメーション アプリケーションです。[ 35 ] Valve によって開発されたこのツールは、元々はDay of Defeat: SourceとTeam Fortress 2 のムービーを作成するために使用されていました。また、Source エンジン ゲームのトレーラーを作成するためにも使用されました。SFM は 2012 年に一般公開されました。
2016年6月、ValveはSource 2 SDKを使用して動作する無料の仮想現実(VR)作成ツールセットであるDestinations Workshop Toolsをリリースした。 [ 36 ]
2005年6月、ValveはValve開発者コミュニティwikiを開設しました。これはValveの静的なSource SDKドキュメントをMediaWikiを基盤とした完全なコミュニティサイトに置き換えたものです。[ 37 ]
Valveのスタッフは、 SIGGRAPH、Game Developer誌、Game Developers Conferenceなどの様々なイベントや出版物向けに、Sourceエンジンの開発の様々な側面を説明する専門的および/または学術的な論文を時折作成している。[ 38 ]
上記のゲームに加えて、Titanfall、Titanfall 2、およびApex Legendsは、Sourceから派生したカスタムエンジンを使用しています。このエンジンは大幅に変更されており、Titanfall 2のリードエンジニアはこのエンジンについて「Sourceの要素はほとんど残っていない」と述べています。[ 42 ]
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)Green
:Sourceエンジンは多種多様なシェーダーをサポートしています。このウィンドウの屈折シェーダーでは、シーンをテクスチャにコピーし、屈折させてからウィンドウの表面に適用する必要があります。HDRを完全にサポートするために、エンジン内のすべてのシェーダーを更新する必要があったため、この屈折シェーダーはコントラストの全範囲をサポートするように改良されました。