C++で作るゲームエンジンフレームワーク (倉庫番とシューティングゲームで学ぶエンジン構造)
ゲームエンジンを理解したいなら、自分で作ってみるのが一番の近道です。 C++でコンソールゲームエンジンの核心構造を実装し、倉庫番やシューティングゲームまで完成させるプロジェクト型講義です。 UnrealやUnityエンジンの構造を深く理解するための視点を提供します。
お知らせ
3 件
こんにちは、チャン・セユンです。
「C++で作るゲームエンジンフレームワーク」講座に新しいパートが追加されました。今回のアップデートでは、既存の講義で完成させたActor中心のゲームエンジンを、Componentベースの構造へと拡張します。
Transform、SpriteRenderer、BoxCollisionの役割をComponentとして分離し、親子関係を表現するTransform Scene Graphを実装します。その後、倉庫番とシューティングゲームを新しい構造にアップデートし、最後にはPrefab、ActorID、DOD/ECSへと続く拡張の方向性についても共に見ていきます。
今回の拡張講義の内容は、完全に新しくゲームエンジンを作るのではなく、既存の講義で作成したエンジンとゲームコードを直接リファクタリングしながら、Component構造がなぜ必要なのかを体験できるように構成しました。
新規講義の動画とともに、各講義の授業ノート、段階別のプロジェクトZIPファイルもすべてアップロードしました。
既存の講義を完走された方は、既存の最終講義以降の新規パートから続けて受講してください。
講義を復習されている方にとっても、Actor、Component、Scene Graphの関係を整理するのに役立つはずです。
新しく拡張された講義でお会いしましょう!ありがとうございます!
レンダリングパイプラインの各段階別にまとめたシリーズ記事を共有します。
Vertex Shader、Rasterizer、Pixel Shaderといった用語を、単なる機能説明ではなく、GPUがなぜこのような構造に発展したのかを中心に説明するよう努めました。
また、Draw CallとCPU/GPUのボトルネック構造、ゲームエンジンの最適化まで関連付けてまとめました。
DirectX、OpenGL、Vulkan、Unity、Unreal Engineのレン더링構造を勉強されている方々のお役に立てれば幸いです。
https://ronniej.sfuhost.com/rendering-pipeline-series-guide/
こんにちは、チャン・セユンです!
講義で扱ったRTTI(TypeIdベース)の内容をもとに、さらに一歩踏み込んだまとめ記事とサンプルコードを共有したく、投稿を作成しました。
講義ではタイプを区分してキャスティングする構造を直接実装することに集中しましたが、今回の記事ではその流れを引き継ぎ、
dynamic_castから始めてカスタムRTTI、そしてアンリアルエンジンで使用されるタイプシステムの概念やTSubclassOfのようにタイプ情報を活用してオブジェクトを生成する構造までをまとめてみました。特に講義で実装した構造が実際にどのように拡張できるのか、そしてエンジン内部ではどのような形で活用されているのかを理解するのに役立つよう構成しました。
関連記事は以下のリンクからご確認いただけます。
👉https://ronniej.sfuhost.com/cpp-rtti-guide/また、カスタムRTTIを実装する部分からブログ記事に含まれているコードは、すべて直接実行できるようにサンプルプロジェクトとしてまとめてあります。
👉https://github.com/hamtol2/Cpp_RTTI/講義の内容を一度整理してみたり、もう少し深く理解したいと思っている方々のお役に立てれば幸いです 🙂

