表示パターン
掲載日
23/11/13
更新日
23/11/13
作品形式
フリースタイル
チーム名
Osakazyuuzi
タイトル

ECSEngine_NextLevel

総合月間ランキング--週間ランキング--
  • 応援数30突破
  • 応援数10突破
閲覧数 --応援数 --
ECSEngine_NextLevelの画像 1

EntityComponentSystemを取り入れた独自のゲームエンジンです。1番の特徴はコンポーネントをポインタで管理せず連続したメモリ配置にすることで、ヒット率が高い設計にしています。

個人制作DirectX独自エンジンシミュレーション

作品紹介PDF

バージョン情報

更新情報はありません。

作品紹介

独自のエンジンとして特化を目指したのはパフォーマンスで、工夫したところは4つあります。 1つ目はECSの設計です。データと処理を分離することで高速かつ汎用性が高い設計を目指しました。 2つ目はコンポーネントの管理方法です。ポリモーフィズムを利用する方法でのポインタ先を参照する過程で生まれるキャッシュミスが気になり、コンポーネントをポインタで管理しない設計、メモリが連続する設計を作成しました。また、エンティティーはビットでコンポーネントの所持を高速で判断できるようにしました。 3つ目はエンティティーの管理方法です。コンポーネントと同じようにポインタで管理しない設計しました。他にもエンティティの配列番号を上位ビットに、要素のバージョンを下位ビットにと組み合わせた識別ビットを使用し管理する設計です。 4つ目はマルチスレッド関係です。エンティティの生成やコンポーネントの追加など異なるスレッドにて問題が出る処理をコマンドとして登録し、シングルスレッドにてそれらの処理を行うようにし、問題なくマルチスレッドが行えるようにしました。 これらのパフォーマンスに特化することに加えて、エディターを表示したり、ワールドやアセットのシリアライズやデシリアライズを行ったりすることで、エンジンとしてのクオリティを上げることを工夫しました。

システム概要

プレイ人数
-
対応端末
-
操作方法
-
想定プレイ時間
-

メンバー情報

白井颯真(製作全般)

実況動画

実況動画はまだ登録されていません。