GameEngineTutorial
このゲームエンジンチュートリアルは、教育目的のために構築されたオープンソースコードテンプレートであり、コミュニティは講義と学習のプロセスに参加します。目標は、一般的なドキュメントを作成する努力を適用することにより、ゲーム開発分野を包含する困難を克服することです。
これにより、明確に定義され構造化されたエンジンを徐々に更新して維持し、個人プロジェクトですべて作業して使用できるようにします。この懸念を念頭に置いて、エンジンは3つのオープンソースコードプロジェクトをマージした結果として作成されました。
-
https://www.mcshaffry.com/GameCode/は、Model-View-Controller(MVC)アーキテクチャパターンに基づくアーキテクチャを提示するゲームエンジンです。
-
https://www.geometrictools.com/は、グラフィックス、数学、物理学に関する科学者の強力な背景を提供するツールです。低レベルのシステムをサポートし、OpenGL / Direct3D実装を分離します。
-
http://irrlicht.sourceforge.net/は、OpenGL / Direct3Dの古いバージョンで実装された多くの視覚的機能を統合するクロスプラットフォームのリアルタイム3Dエンジンです。
これらはゲームエンジンに適合するコアプロジェクトであり、各プロジェクトが他のプロジェクトに欠けているものを補完するように統合されています。リポジトリhttps://github.com/enriquegr84/GameEngineTutorialでプロジェクトの詳細を確認できます
GameEngineAI
使用例として、https://github.com/enriquegr84/GameEngineAIリポジトリで作成された個人的な研究プロジェクトを紹介し、アクションゲーム、特にシューティングゲームに適用できる挑戦的なシステムを見つけることを目指しました。ビデオゲームに正常に適用されたAI技術の現状を分析し、GameEngineTutorialフレームワークを使用してQuake 3 Arenaの修正バージョンに実装された新しいアプローチを紹介します。この新しいアプローチは、次の主な開発段階で分離されています。
-
モデリングフェーズ。仮想世界の離散近似を表すのに必要なデータ構造を定義し、物理シミュレーションを介して離散世界を作成するアルゴリズムを実装します。
-
意思決定フェーズ。両方のプレイヤーのアクションと意思決定計画を実行するためのNPCの基本動作を同時にシミュレートするNPC決闘戦闘用のランタイムミニマックスアルゴリズムを実装します。
-
挑戦的なフェーズ。意思決定アルゴリズムの最も最適なヒューリスティックを、プレーヤーのスキルに基づいた最も挑戦的なヒューリスティックに置き換えるシステムを提案します。プレイヤーのスキルは、制約の少ないミニマックス検索ツリーを使用して学習され、統計として数値で表されます。