エンバークスタジオと開発中のRust製ゲームエンジン

エンバークスタジオとRustとプロシージャル

Embark Studios とは?

  • ストックホルムを拠点とするゲーム スタジオ

  • 元DICEのCEO Patrick Soderlund(パトリック・ソダーランド)が2018年に設立

  • Frostbiteの技術を支えたJohan Anderssonなど、DICEとFrostbiteの中心人物達が集う

  • 設立3年目の2021年11月の従業員数規模は250人

  • ネクソンが2019年にEmbark Studiosを子会社化

ーーメンバーについてーー

Patrick Soderlund

EA DICEのCEOとGMを務め、2012年以降はEA GamesとEA Studios、EA Worldwide Studiosを率い、Frostbiteの初期開発やEAの技術戦略を長年に渡って支えた。

DICEやEA Studiosを率いたPatrick Soderlund氏が新スタジオ「Embark Studios」を設立

Johan Andersson

DICEのレンダリングアーキテクトを務め「Frostbite」の技術ディレクターとして活躍

「Frostbite」採用フランチャイズに言及したJohan Andersson氏

Robert Runesson

長年DICEのアートディレクターとして活躍

Magnus Nordin

DICEの研究開発部門を率いた

Jenny Huldschiner

EAのシニアディレクターを務めた

Stefan Strandberg

BattlefieldシリーズのオーディオディレクターやBattlefield 1のクリエイティブディレクターを務めた

DICEとFrostbiteの中心人物達が集う「Embark Studios」

Frostbiteについて

FrostbiteはEA DICEが開発した、EAの内製ゲームエンジン

『バトルフィールド』シリーズで導入されたのち、『ニード・フォー・スピード』『FIFA』『Star Wars バトルフロント』シリーズなど、ジャンルを問わず複数のEA傘下スタジオで採用されるようになった。

Frostbite (ゲームエンジン) – Wikipedia

元BioWareのGMが、EAのゲームエンジンFrostbiteの難点を指摘。F1カーに例え、高性能ながら取り扱いが難しいと語る – AUTOMATON

Embark Studios ホームページ

Embark Studios Open Source – embark.dev デベロッパー

Embark Studios – YouTube

元DICEの中心人物が集まる”Embark Studios”のデビュー作「THE FINALS」のクローズドベータテスト実施が3月7日に決定

「THE FINALS」クローズドベータテストについて

    * 日本時間2023年3月7日から約2週間に渡って実施。

『ARC Raiders』開発元のもう1つの新作―基本無料のチーム対戦FPS『THE FINALS』発表

リリースが2023年へ延期と発表された、オンライン協力シューター『ARC Raiders』と同じ開発元エンバークスタジオによる新作です。

ーーーーーーーーーーーー

Embark Studios がゲームエンジンのメインプログラミング言語として Rust を選んだ理由

Embark 🦀 の Rust の内部。 私たちの日々の仕事を覗いてみましょう… – アリ V – – 乗船スタジオ – 中くらい

Embark を開始したとき、私たちが構築している長期的な未来のために、Rust を主要言語として選択しました。私たちは言語の安全性と堅牢性、高性能で安全な (ほとんど) バグのないコードを記述し、共通の有効期間/所有権、メモリの安全性、または競合状態の問題なしに恐れることなくリファクタリングおよび変更できる機能を気に入っています。

おそらくさらに重要なのは、Rust を中心に急速に成長しているエコシステムとコミュニティのオープン性と協調性です。crates.io の何万ものオープンソース クレートと、クラス最高のパッケージ システムである cargo により、Rust は未来の言語であると心から信じています。

GitHub – EmbarkStudios-rust-ecosystem- Rust の要望と Embark の追跡 🦀

Arc Raiders は Unreal Engine を使用しています。Rust で書かれている他の未発表のプロジェクトがあります

reddit

Why did Embark Studios chose Rust as the main programming language for their engine- – gamedev

——- – ———– 

私は、Rust で構築された無料でオープンソースのゲーム エンジンであるBevy Engineの作成者/主任開発者です。Embark は私たちのスポンサーの 1 つです。Rust は非常に多くの理由で優れています。

  • ツールは優れており、標準化されています。Rust Analyzer は、お気に入りのテキスト エディターを本格的な IDE に変えます (vscode と vim の統合は素晴らしいです)。Cargo (ビルドシステム) はシンプルで使いやすいです。依存関係の追加とバージョン管理は簡単です。Rust コミュニティには、どのビルド システムを使用するかについてのドラマはありません。Cargo を学習すれば準備完了です。これを、一般的な C++ エンジンとライブラリのサンプルと比較してください。痛みの世界に備える。

  • エコシステムは比較的新しいものですが、大規模で活気があり、最先端の開発に満ちており、(ここでも) 標準化されています。すべてが Cargo を使用しているため、すべてがうまく相互運用されます。私たちが使用する基本的なライブラリの多くは、wgpu (低レベル グラフィック API)、serde (シリアライゼーション フレームワーク)、Naga (シェーダー コンパイラ/トランスパイラー) など、トップクラスのものです。

  • 借用チェッカー/所有モデルは素晴らしいです。手動でメモリを解放する必要はありません。あなたが書くコードは、デフォルトで「安全」になります。はい、これはまだゲーム (およびエンジン) にとって重要です。論理的なデータ認識方法でコードを構造化する必要があります。Bevy ECS (当社のデータレイヤー) は、ハード所有権の問題のほとんどを解決し、Rust のフルパワーを享受しながら、ゲームロジックに集中できるようにします。両方の長所!

  • 一般に信じられていることとは反対に、API を適切に設計すれば、Rust でのコンパイル時間はまったく問題ありません。エンジン全体の「クリーンな」コンパイルは、1 分もかからずに完了します。その後、ゲームに「反復的な」変更を加えると、多くの場合、1 ~ 3 秒で再コンパイルできます。非常に生産的な変更/ビルド/テスト ループがあります。

  • 低レベルのパフォーマンスと柔軟性を提供しながら、言語はしばしば「高レベル」に感じられます。パターン マッチング、トレイト、ジェネリック、クロージャ/lamdbas、async などがあります。Rust を「1 つの公式スクリプト/アプリ ロジック言語」として採用しました。当社の ECS API は、業界で最も人間工学に基づいています。UX 部門では、Unity や Unreal の ECS 実装よりもはるかに進んいると言っても過言ではありません。私たちが使用している API エルゴノミクスのトリックの多くは、Rust でのみ可能です。

  • プラットフォームのサポートは素晴らしいです。Bevy は、Windows、Linux、MacOS、Web、および iOS をサポートしています (Android のサポートも進行中です)。確かに、C++ は錆よりも多くのプラットフォームをサポートしていますが、このギャップは縮まりつつあります。

——- – ———– 

未来

私たちの取り組みが、CPU と GPU の両方でグラフィックスの実行可能なプラットフォームとして Rust に明るい光を当てることを願っています。

Rust による独自のレンダリング。 この投稿では、ソフトウェア エンジニアに乗り出す… – トマシュ・スタコウィアク 乗船スタジオ – 中くらい

ーーーーーーー

rust-gpu 0.3 のリリースにより、内部エンジンのすべてのシェーダーが Rust で記述されるようになりました。 開発者向けニュースレターでオープンソースの取り組みについて詳しく読んでください。

さようなら、GLSL!こんにちは、rust !

さようなら、GLSL! こんにちは、ラスト!

rust-gpu

多くのことはまだ実装されていません。つまり、技術的には使用可能ですが、このプロジェクトは本番環境にはほど遠いということです。RustおよびSPIR-Vの特定の機能のサポートは、GitHub で追跡されています。

GitHub – EmbarkStudios-rust-gpu- 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

バックグラウンド

歴史的に、ゲームの GPU プログラミングは、HLSL を記述するか、程度は低いが GLSL を記述することで行われてきました。これらは、何年にもわたってレンダリング API とともに進化してきた単純なプログラミング言語です。ただし、ゲーム エンジンが進化するにつれて、これらの言語は大規模なコードベースを処理するためのメカニズムを提供できず、一般に他のプログラミング言語と比較して遅れをとっています。

これは、一部にはニッチ市場向けのニッチな言語であるためであり、一部には、業界全体が現状維持にかなりの時間と労力を費やしてきたためです。両方の言語に対して全体的に優れた代替手段が存在しますが、いずれも HLSL または GLSL を置き換える場所にはありません。ベンダー ロックされているか、従来のグラフィックス パイプラインをサポートしていないためです。この例には、CUDA と OpenCL が含まれます。そして、この分野で言語を作成する試みがなされてきましたが、どれもゲーム開発コミュニティで顕著な牽引力を得ていません.

このプロジェクトで私たちが望んでいるのは、既存の低レベルで安全な高性能言語を GPU に導入することで、業界を前進させることです。つまりRust。また、見逃すことのできないいくつかの追加の利点があります: 業界最高のパッケージ/モジュール システム、競合状態または範囲外のメモリ アクセスに対する組み込みの安全性、プログラマーを改善するための幅広いツールとユーティリティワークフロー、その他多数!

Embark では、独自の新しいゲーム エンジンをゼロから Rust で構築してきました。以前にRLSLプロトタイプを社内で開発した経験があり、ゲーム、ゲーム エンジン、その他の業界の現在のシェーディング言語の問題に精通している優れたレンダリング エンジニアのチームがあります。そのため、私たちはこの問題の解決を試みる独自の立場にあると考えています。

Rlsl – Rust Like シェーディング言語

GitHub – MaikKlein-rlsl- Rust から SPIR-V コンパイラへ

embarkstudios blog

Embark Studios – Medium

Embark Studios のプロシージャル アーティスト Anastasia Opara によって作成された、この素晴らしい壁ジェネレーターをご覧ください。

ジェネレーターは、Rust を使用して構築されたデータ駆動型ゲーム エンジンである Bevy Engine を使用して作成されています。Rust は、パフォーマンスと安全性、特に安全な並行性のために設計されたマルチパラダイムの汎用プログラミング言語です。Rust は構文的には C++ に似ていますが、借用チェッカーを使用して参照を検証することでメモリの安全性を保証できます。

Bevy Engine で作られた手続き型の壁ジェネレーター

GitHub – EmbarkStudios-texture-synthesis- 🎨 Example-based texture synthesis written in Rust 

 単一の例からのテクスチャ合成とリミキシング – ノルディックゲーム 2019 – YouTube

Next Post

新しいプログラミング言語 Verse を搭載した Unreal Editor For Fortnite が3月23日に配信

土 3月 18 , 2023
新しいプログラミング言語 Verse を搭載した Unreal Editor For Fortnite が3月23日に配信