C++で作るゲームエンジンフレームワーク (倉庫番とシューティングゲームで学ぶエンジン構造)

ゲームエンジンを理解したいなら、自分で作ってみるのが一番の近道です。 C++でコンソールゲームエンジンの核心構造を実装し、倉庫番やシューティングゲームまで完成させるプロジェクト型講義です。 UnrealやUnityエンジンの構造を深く理解するための視点を提供します。

難易度 初級

受講期間 無制限

C++
C++
oop
oop
Architecture
Architecture
C++
C++
oop
oop
Architecture
Architecture

学習した受講者のレビュー

5.0

5.0

박창후

52% 受講後に作成

普段アンリアルエンジンを使いながらも、この機能が内部的にどのように動いているのか、なぜこのような構造で設計されたのか、常に漠然とした疑問がありました。市販されている講義のほとんどはエンジンのインターフェースの使い方だけに偏っており、物足りなさを感じていましたが、今回本当に素晴らしい講義に出会えたと思います。 最も満足した点は、エンジンの根本的なメカニズムを自分の手で直接実装できたことです。単に機能を作るだけでなく、アクターのライフサイクルやティックシステムを直接設計してみることで、オブジェクト指向的なコード構造とは何かを深く考えることができました。おかげで、以前は実装することだけに精一杯で乱雑だったコードが、少しずつ秩序を取り戻していくような気分です。 特にカスタムRTTIを実装してメモリを管理する部分が印象深かったです。エンジンが提供する機能をそのまま使うのではなく、ランタイム型情報を直接管理し、安全にキャスティングする原理を学んだことで、C++とメモリ構造に対する自信が大きくつきました。エンジンをDLLとして分離して連動させる過程も新鮮でしたが、一般的なチュートリアルではなかなか接することのできない実務的な知識であり、CSの勉強にも非常に役立ちました。 講義を完走した今では、アンリアルエンジンのクラス名や変数の一つひとつが、以前とは確実に違って見えます。エンジンの巨大な構造を正しく理解したい方や、真の実力を備えた開発者として成長したい方に、この講義をぜひお勧めしたいです。素晴らしいガイドとなってくださった講師の方に心から感謝申し上げます。

5.0

안희준

100% 受講後に作成

商用エンジンが提供する機能を単に利用するだけでなく、ゲームエンジンの根本的な内部構造を自ら設計し、理解したいと考えている方に強くおすすめします。 この講義を通じて、アクターのライフサイクルやティック(Tick)管理など、核心機能の動作原理に関する深い洞察を得ることができました。特に、C++で直接メモリを制御してリソースリークを防ぐ方法や、カスタムRTTIを実装してオブジェクトの継承と安全なダウンキャストを処理する原理などは、表面的な学習では決して得られない貴重な経験でした。また、エンジンをDLLとしてビルドして分離・連動させる過程は、大学の専攻授業や一般的なチュートリアルではなかなか接することのできない実務的なCS知識まで補ってくれました。UnrealやUnityのようなエンジンが内部でどのように動いているのか、その「真の理由」を知りたい開発者なら、ぜひ受講してみてください。

5.0

최재우

100% 受講後に作成

以前は紛らわしかったCSの知識が、今では正確に説明できるほど概念がしっかりと整理されました。また、倉庫番やシューティングゲームを直接設計し、RTTIや衝突機能などを学んでいくうちに、今では自分でゲームを作れるという自信がつきました!周りの友人にもぜひ勧めたいです!

受講後に得られること

  • C++で自作ゲームエンジン制作

  • C++スマートポインタおよびテンプレートの活用能力

  • ゲームループとアクターレベルの構造設計

  • DLLベースのモジュール構造の実装

  • カスタムRTTIシステムの制作

  • 二重バッファリングの直接実装

  • 衝突システム(AABB)の直接実装

  • 倉庫番および飛行シューティングゲーム完成


この講義を受講して、受講生はこのように変わりました

「あやふやだったCSの概念を、今では正確に説明できるようになりました。」

「機能の実装中心から脱却し、エンジン構造に合った設計方式とは何なのか、感覚を掴めるようになりました。」

「実際に実装してみることで、Unreal Engineのコードが違って見えるようになりました。」

「RTTIとDLL構造を理解することで、エンジンがどのように動作するのかが分かるようになりました。」


実際の受講生たちの1週間のプロジェクト成果物


ゲームエンジンを理解したいなら、自分で作ってみてください。

ゲームエンジンはどのように動作するのでしょうか?

この講義はゲームエンジンを単に使用するのではなく、
自ら作ってみることで構造を身につけたい方のための講義です。

C++で直接ゲームエンジンを実装しながら
エンジンの構造を理解することを目指します。

C++でコンソールゲームエンジンを直接実装し、
自作したエンジンを活用して2つのゲームまで完成させてみてください。


単にゲームを作るだけの授業ではありません。

すでに作られたエンジンを使用するのではなく、
ゲームエンジンの核心構造直接設計し、実装するプロセスが進められます。 yourself.


エンジンの中核構造を直接制作します。

単なる機能の実装ではなく、商用エンジンの構造を理解するための核心要素を自ら作り上げます。

  • C++ オブジェクト指向プログラミング(Object-Oriented Programming) ベースのゲームエンジン設計

  • ゲームループ(Game Loop) アーキテクチャ

  • アクター(Actor)とレベル(Level)ベースのワールド管理システム

  • 固定フレームベースのアップデート構造

  • 入力処理システム

  • ダブルバッファリングレン더링 시스템

  • AABBベースの衝突判定システム

  • DLL分離によるエンジン/コンテンツアーキテクチャ設計(Engine/Game Architecture)

  • カスタムタイプシステム (RTTI)

作成したエンジンでゲームまで完成させます。

講義進行タイムライン

この講義はエンジンを作って終わりではありません。

自作したエンジンをベースに、完成度の高いゲームを実際に制作します。

「エンジン → ゲーム」まで続く全体の流れを経験することになります。


1. 倉庫番ゲーム

独自に実装したエンジンを活用した最初のゲームプロジェクトです。
ルールが重視されるパズルゲームである「倉庫番」を制作します。

自作エンジンをベースに実装された倉庫番パズルゲーム

リアルタイム入力・衝突・レンダリングシステムがすべて適用された構造です。

2. シューティングゲーム

独自に実装したエンジンを活用した2番目のゲームプロジェクトです。
リアルタイムの入力処理、動的なアクター生成、衝突判定を直接実装してみることができるシューティングゲームを制作します。

直接実装したエンジンをベースに制作されたリアルタイム飛行シューティングゲーム
リアルタイム入力処理、衝突判定、レンダリングシステムが有機的に動作する構造です

講義企画の背景

ゲーム開発2年目の壁を打ち破り、Unreal Engineのソースコードを読み解く力を養う講座

機能の実装を超えて、エンジンがなぜそのように動作するのかを理解する開発者へと成長することを目指します。


長期間UnityとUnreal、そしてC++ベースのゲーム開発を教えながら、多くの受講生からこのような質問を受けました。

「エンジンがなぜこのように動作するのか分かりません。」
「Tickは分かりますが、全体構造がピンときません。」
「アクターのライフサイクルが頭の中で描けません。」
"単純な機能実装は可能ですが、構造を説明するのが難しいです。"

商用エンジンはすでに完成されているため、その内部構造を直接経験する機会がほとんどありません。

そのため、ほとんどの学習は次のようになります:
→ 機能は知っているが、構造や動作原理は知らない状態


AIがコードを生成してくれる時代だからこそ、そのコードがなぜそのように動作するのかを判断する能力が重要になっています。.

AIを使用する開発者ではなく、AIを活用できる開発者にならなければなりません。

商用エンジンをそのまま使うことを超え、エンジンの構造を理解し、ソースコードを読み解ける開発者へと成長したいのであれば、この講義が良い出発点になるはずです。


そこで、この講義を作りました

エンジンを直接実装してみれば

  • ゲームループがなぜそのように回るのか

  • BeginPlay / Tick などのイベントがどのように流れるのか

  • Actor / Levelがなぜ分離されているのか

  • 衝突判定はどのような方式で処理するのか

  • エンジンとゲームがどのように分かれているのか

これらすべての流れが自然につながり、理解できるようになります。

このような方におすすめです!

講義の受講をおすすめする方

講義の目標

単に結果物を作るだけの講義ではありません。

エンジンを見る視点」を養う講義です。

商用エンジンの構造を理解できる基準を作り、
コードを読むときに「なぜこのように設計されたのか」が見えるようにし、
単なる実装ではなく設計ベースの開発能力を身につけさせます

この講義は、テストフレンドリーな実務アーキテクチャを完成させることよりも
ゲームエンジンの核心的な構造を直接実装し、理解することに焦点を当てています。
そのため、一部の設計は学習の難易度を下げ、核心的な概念に集中できるように意図的に簡素化しました。

自ら作りながら体得するエンジン設計能力

→ 単なる機能の実装ではなく、構造を理解する経験を提供します。

エンジンの中核構造を直接実装し、
ゲームループライフサイクルを理解して
全体の流れを設計できる能力を身につけることができます。

オブジェクト指向ベースのActor/Level構造を設計し、
ゲームワールドを体系的に構成して
拡張可能な構造を作る方法を習得します。

フレームベースのアップデートと時間処理(deltaTime)を理解し、フレームに依存しないゲームロジックを実装できる基礎設計能力を身につけることができます。

入力処理、衝突判定、レンダリングの流れを直接実装し、
ゲームシステムがどのように繋がっているのかを
構造的に理解できるようになります。how game systems are interconnected.

エンジンとゲームロジックを分離する構造(DLLベース)を経験し、実際の商用エンジンに近いプロジェクト設計の感覚を自然に身につけることができます。, you will naturally acquire project design sensibilities similar to those of actual commercial engines.

エンジンを「使うレベル」を超え
内部構造を説明し、自ら設計できる
開発者へと成長することになります。

この講義は、単にコードを書き写して作るだけの講義ではありません。

エンジンを理解する視点を養い、
自ら設計できる開発者へと成長する過程です。

今すぐ直接作ってみてください。

受講前のご案内

実習環境

  • オペレーティングシステムおよびバージョン(OS): Windows 11 推奨 (10 可能)

  • 使用ツール: Visual Studio 2022 Community (Visual C++ 開発環境)

  • PC仕様:Visual Studio 2022が動作可能な事務用PCレベルの性能

学習資料

  • 講義で使用された例題 - (Zip圧縮ファイル)

  • 講義資料(Inflearn動画下部のノート資料)

こんな方に
おすすめです

学習対象は
誰でしょう?

  • アンリアルエンジンを学んでいるが、内部構造が理解できず不安を感じている受講生

  • 商用ゲームエンジンを使用しているが、内部構造を説明できずにもどかしさを感じている開発者

  • C++の文法は知っているが、フレームワークの設計で行き詰まっている開発者

  • エンジンの構造に関する質問が出るのではないかと面接を恐れている就活生

前提知識、
必要でしょうか?

  • この講義は、C++の基礎文法を理解している方を対象としています。

  • クラス、ポインタ、参照の概念を一度でも使ったことがあれば、十分に受講可能です。

  • Visual Studioで簡単なC++プロジェクトを作成し、実行した経験があると役立ちます。

  • ゲームエンジンの構造に初めて触れる方でも受講いただけるよう、基礎から解説します。

こんにちは
ronniejです。

キャリア認証

75

受講生

17

受講レビュー

1

回答

5.0

講座評価

1

講座

チャン・セユン
@ronniej

現フリーランス開発者 / 講師 / 著者 / 訳者
元ユニティ・テクノロジーズ・ジャパン エンジニア
https://ronniej.sfuhost.com/


「機能ではなく構造を理解する開発者」

UnityとUnrealを使用してゲームを作る方法はたくさんあります。

しかし、実際に授業を進めていく中で
多くの受講生が共通して抱える問題がありました。

「機能は作れますが、なぜこのように動作するのかは分かりません。」


私はこの問題を解決するために
単に機能を実装するのではなく、
エンジンの構造を直接理解する方式の授業を作ってきました。thay vì chỉ đơn thuần là hiện thực hóa các tính năng.


このような経験を伝えます

  • ゲームループとオブジェクトのライフサイクルを直接設計し、実装する経験

  • RTTI、DLL分離、レンダリング、衝突システムなど、エンジンの中核構造の理解

  • 商用エンジン(Unity/Unreal)の動作原理を結びつけて理解する方法


このような方のための講義です

  • 機能は実装できるものの、構造が理解できずに行き詰まっている方

  • Unity/Unrealをより深く理解したい方

  • エンジンを「使う段階」から「理解する段階」へと進みたい方


著書および活動

📘Unityを活用したRPGゲーム開発』 著者
📗プロジェクトベースで学ぶUnreal Engine 5ゲーム開発』 他多数翻訳

🎮 NCSoft、ネクソン、ネオプル、ゴルフゾンなどの企業研修およびブートキャンプを進行


 

👉 講義は「早く作る方法」ではなく
「なぜそのように動作するのかを理解する過程」に集中します。

もっと見る

受講レビュー

全体

17件

5.0

17件の受講レビュー

  • awer000님의 프로필 이미지
    awer000

    受講レビュー 1

    平均評価 5.0

    5

    100% 受講後に作成

    本当に大きな助けになりました。 ごく小さなコードの断片から真似して進めていくうちに、いつの間にか立派な2Dゲームを作っている自分に気づきました。 最近アンリアルエンジンも学習していますが、この講義が非常に役に立ちました。 些細な変数名からクラス名まで、ある程度アンリアルのものと一致していたため、アンリアルの構造を理解するのにも役立ちました。 私が一番良かったパートはRTTIですが、実際にランタイムの情報が自分の書いたコードで実装され、ゲーム内でそれが有用に動いているのを見て、大きな喜びを感じました。 講師の方の次の講義も楽しみにしています。 ありがとうございました!

    • wodn6983님의 프로필 이미지
      wodn6983

      受講レビュー 1

      平均評価 5.0

      5

      100% 受講後に作成

      以前は紛らわしかったCSの知識が、今では正確に説明できるほど概念がしっかりと整理されました。また、倉庫番やシューティングゲームを直接設計し、RTTIや衝突機能などを学んでいくうちに、今では自分でゲームを作れるという自信がつきました!周りの友人にもぜひ勧めたいです!

      • futureverever1127님의 프로필 이미지
        futureverever1127

        受講レビュー 1

        平均評価 5.0

        5

        100% 受講後に作成

        RonnieJ講師の「C++で作るゲームエンジンフレームワーク」の授業を通じて、ゲームエンジン開発の基礎を非常にしっかりと固めることができました。 これまで開発を学んできながら、ゲームエンジンやCSに関する様々な概念に触れてきましたが、いざ正確に説明したり体系的に整理したりするのが難しい部分がありました。 この授業を通じて、これまで曖昧だった概念を明確に理解し、自分自身で説明できるほど整理することができました。 エンジンがどのように構成され動作するのかという全般的な流れを理解するにとどまらず、 ゲームループ、アクターとレベルベースのワールド管理、固定フレームアップデート構造、入力処理システム、ダブルバッファリングレンダリング、AABB衝突判定など、 核心的な概念を直接実装してみることで、実際の動作原理まで体得することができました。 DLL分離によるエンジン/コンテンツ構造の設計や、カスタムタイプシステム(RTTI)の実装を経験できたことも非常に助けになりました。 この授業を完走した後、Unreal Engineを学習していますが、Unrealのヘッダーに付くdllキーワードやcastまで自然に理解できるようになりました。 さらに、華やかなグラフィックが溢れている昨今、コンソールベースのゲームを実装することで、よりユニークな自分だけのゲームを作ることができ、満足しています。 講義の構成も学習にとても役立ちました。 毎回の講義ごとに提供される授業資料、動画の下にまとめられた内容、そしてチェックポイントに沿って学習を進めることができ、 重要な概念を逃さず効率的に復習することができました。 この講義は単にゲームを一つ作ってみる授業ではなく、 ゲームエンジンの核心構造を理解し、開発者としての思考プロセスを一段階引き上げることができる講義だと思います。 ゲームエンジン開発を始めようとしている方や、開発の勉強をしている方にとっては、ユニコーンのような、本当に貴重な講義です!!! ゲームエンジンを正しく理解したい方、 そして一段階さらに成長したい開発者の方々に強くおすすめします!!

        • hidolee님의 프로필 이미지
          hidolee

          受講レビュー 1

          平均評価 5.0

          5

          100% 受講後に作成

          商用エンジンが提供する機能を単に利用するだけでなく、ゲームエンジンの根本的な内部構造を自ら設計し、理解したいと考えている方に強くおすすめします。 この講義を通じて、アクターのライフサイクルやティック(Tick)管理など、核心機能の動作原理に関する深い洞察を得ることができました。特に、C++で直接メモリを制御してリソースリークを防ぐ方法や、カスタムRTTIを実装してオブジェクトの継承と安全なダウンキャストを処理する原理などは、表面的な学習では決して得られない貴重な経験でした。また、エンジンをDLLとしてビルドして分離・連動させる過程は、大学の専攻授業や一般的なチュートリアルではなかなか接することのできない実務的なCS知識まで補ってくれました。UnrealやUnityのようなエンジンが内部でどのように動いているのか、その「真の理由」を知りたい開発者なら、ぜひ受講してみてください。

          • hoo01님의 프로필 이미지
            hoo01

            受講レビュー 2

            平均評価 5.0

            5

            52% 受講後に作成

            普段アンリアルエンジンを使いながらも、この機能が内部的にどのように動いているのか、なぜこのような構造で設計されたのか、常に漠然とした疑問がありました。市販されている講義のほとんどはエンジンのインターフェースの使い方だけに偏っており、物足りなさを感じていましたが、今回本当に素晴らしい講義に出会えたと思います。 最も満足した点は、エンジンの根本的なメカニズムを自分の手で直接実装できたことです。単に機能を作るだけでなく、アクターのライフサイクルやティックシステムを直接設計してみることで、オブジェクト指向的なコード構造とは何かを深く考えることができました。おかげで、以前は実装することだけに精一杯で乱雑だったコードが、少しずつ秩序を取り戻していくような気分です。 特にカスタムRTTIを実装してメモリを管理する部分が印象深かったです。エンジンが提供する機能をそのまま使うのではなく、ランタイム型情報を直接管理し、安全にキャスティングする原理を学んだことで、C++とメモリ構造に対する自信が大きくつきました。エンジンをDLLとして分離して連動させる過程も新鮮でしたが、一般的なチュートリアルではなかなか接することのできない実務的な知識であり、CSの勉強にも非常に役立ちました。 講義を完走した今では、アンリアルエンジンのクラス名や変数の一つひとつが、以前とは確実に違って見えます。エンジンの巨大な構造を正しく理解したい方や、真の実力を備えた開発者として成長したい方に、この講義をぜひお勧めしたいです。素晴らしいガイドとなってくださった講師の方に心から感謝申し上げます。

            似ている講座

            同じ分野の他の講座を見てみましょう!