YOUR NEXT STEP

Intro to C Game Programming by Dave Churchill

Dave Churchill · 22 lessons · Free on YouTube

LESSON 19 / 22

COMP4300 - Game Programming - Lecture 19 - Cache Coherency Memory Pooling

←Next

About this course

Turn your curiosity about game development into practical engine-building skills with this free online course focused on modern C++ and hands-on 2D game programming. Instead of staying at a theoretical level, you will learn how real-time games are structured, how data flows through an engine, and how to write code that is both clear and fast enough for interactive simulations.

You will start by strengthening essential C++ foundations with a game developer mindset: memory choices, performance implications, and code organization that scales. From there, the course uses SFML so you can focus on the engine concepts that matter most, without getting buried in low-level graphics setup. As you progress, you will build systems for rendering, input handling, textures and asset management, and a robust action layer that keeps controls cleanly separated from gameplay behavior.

A major theme is the Entity-Component-System approach, a widely used architecture that helps you avoid rigid class hierarchies while keeping your code flexible and cache-friendly. You will explore entity management, 2D game math, collision detection workflows, ray casting, cameras and views, and how these pieces connect inside a game loop. The later parts of the course push toward professional concerns: pathfinding and steering behaviors for believable NPC movement, saving progress, debugging-friendly tools, and an advanced main loop that handles timing smoothly.

You will also look at performance through the lens of cache coherency, memory pooling, and profiling, developing the instinct to measure and optimize bottlenecks instead of guessing. Finally, you will be introduced to shaders and particle systems, giving you a clear pathway from basic engine construction to the kinds of visuals and effects seen in polished games. By the end, you will have a strong foundation for building your own projects and for communicating game-engine decisions in a portfolio or interview setting.

THERE IS ALWAYS MORE

Keep feeding your curiosity.

Explore more courses
From the community, for the community

Found a great course?

Share it. Our team will review it before adding it to the catalog.