MiyadaikuEngine 1.0
Note
昨年度(2021年度)も自作ゲームエンジンを開発していましたが、新たに2022年夏ごろより開発をはじめました。
目標・設計思想
本エンジンのおもな目標は3つです。
- マルチプラットフォーム対応
- 開発イテレーションの向上
- ソースコードの品質の向上、維持
アーキテクチャ概要
先述の目標から、エンジン設計を丁寧に時間をかけて行いました。
エンジンそのものの土台となる、コア部分を重視して開発しています。
大きな特徴は4つあります。
- ApplicationとEditorの完全分離(別exeファイル)
- ApplicationとEditor間のプロセス間通信(IPC)
- C#スクリプトで記述するゲームロジック
- C#とWPF、MVVMパターンを用いて開発されたエディタ
特徴とその解説
今後の開発予定
長期的に開発を続けます。
備考:参考にしたもの
CEDECなどの講演をはじめとして、様々な書籍や既存のゲームエンジンなどを参考にしています。
書籍など
数多くありますが、一部を紹介します。
- 「ゲームエンジンアーキテクチャ 第3版」
ゲームエンジン設計の考え方や、必要な機能を知りました。 - 「C++のためのAPIデザイン」
C++でのライブラリ自作に関する知識を得ました。 - 「.NETのクラスライブラリ設計 改訂新版」
C#のエディタやスクリプト用のAPI設計と実装の参考にしました。 - 「Effective C# 6.0/7.0」、More Effective C# 6.0/7.0」
C#のコードやAPIをよりよくする際の参考にしました。 - 「Direct3D12 ゲームグラフィックス実践ガイド」
DirectX12などの最新世代グラフィックAPI設計を知りました。 - 「実例で学ぶゲーム3D数学」
算術ライブラリ自作のために、数学について復習する目的で読みました。
ほか多数。
ゲームエンジン、ライブラリなど
ゲームエンジン開発をするためには、先人のノウハウを知っておく必要があります。
そこで、既存のものについて、エンジンソースを読むなどの調査をし、多くの時間を割いています。
- Unity:全般的なエンジン設計
- UnrealEngine:エンジンソースを含む。レンダラ設計など。
- GodotEngine:C#スクリプトなど
- SpartanEngine
- LumixEngine
- RE Engine(カプコン):最適なエンジン設計を求めているうちに、近い設計になっていました。それに気づいて以来、過去のCEDECの講演資料などを熟読して参考にしています。また、2022年9月の「オープンカンファレンス RE:2022」にも自主的に参加し、知識を得ています。
- Cyllista Game Engine(Cygames):過去のCEDECの講演資料などを熟読して参考にしています。
ほか多数。