このプロジェクトについて

Irreden Engineは、独特なビジュアルスタイルを持つゲームを作成するためのアイソメトリックな「ピクセル化可能」ボクセルコンテンツおよびゲームエンジンです。このエンジンはC++23で構築され、WindowsではデフォルトでOpenGL、macOSではMetalという複数のバックエンドをサポートしています。コンポーネントを静的ライブラリとしてコンパイルするモジュラーアーキテクチャを採用しており、柔軟な統合と開発が可能です。 主なモジュールには以下が含まれます: - **IRRender**:メッシュレスボクセルレンダリングをコンピュートシェーダーで処理し、3Dボクセルを2Dアイソメトリックキャンバスに変換します。補間されたピクセルスクロールでスムーズなカメラ移動を実現し、複数のボクセルキャンバスをサポートします。 - **IRECS**:キャッシュ効率の高いアーキタイプベースのエンティティ・コンポーネント・システム(ECS)フレームワークで、ラムダによるシステム定義やバッチエンティティ作成が可能です。 - **IRAudio**:オーディオデバイスのプロービングと接続、コントローラー用のMIDI入力、リアルタイムオーディオストリーム(開発中)をサポートします。 - **IRInput**:GLFWによるウィンドウ作成と、ゲームループと同期したキーボード、マウス、ゲームパッドの入力を管理します。 - **IRScript**:ランタイム構成用のLua C APIラッパーを提供し、将来的にフルLuaベースの実装も検討されています。 - **IRVideo**:FFmpegを使用したMP4/H264フレームバッファキャプチャを可能にし、ランタイムで録画を切り替えることができます。 - **IRMath**:アイソメトリック計算、GLMラッパー、アニメーション用のイージング関数を含みます。 - **IRTime**:一貫した更新のための固定FPSイベントと、レンダリング用の無制限FPSイベントを提供します。 このエンジンは、`creations/game/`ディレクトリ構造を通じてプライベートゲームプロジェクトの統合をサポートしており、CMakeターゲットを自動的に検出します。依存関係には、RtAudio、RtMidi、GLFW、GLM、EasyProfiler、SpdLogger、Fmt、Glad、StbImage、MeshOptimizer、Assimp、enkiTS、Lua、FFmpegが含まれます。開発ツールには、構成、ビルド、テスト、フォーマット、リンティング用のCMakeプリセットがあります。このプロジェクトは、エンジン設計に関するフィードバックや、問題の報告、プリファブの変更、オープンソースプロジェクトの公開による貢献を歓迎しています。