logoProgram Video Games

Game Architecture From First Principles

Build 4 vertical slices from scratch without engine abstractions. Just grit and code.

Metroidvania Game Preview RPG Game Preview Strategy Game Preview Roguelike Game Preview
๐ŸŽฎ
4 Vertical Slices
From nothing to a playable demo
โšก
40+ Hours
Of hands-on coding
๐Ÿš€
9 Months
Direct access to teacher
Monthly Lifetime
One-time payment saves 17%
COMPLETE COURSE
Standard Edition
$99.7/m $34.7/m
for 12 months
  • All 4 game architectures
  • Course community access
  • Lifetime updates
  • Standard support
  • Monthly payment option includes 7 day free trial
Start Monthly โ†’
(Instant Access)
FINAL PRICE
Standard Access
$99.7/m
for 12 months
  • Regular course access
  • Community access
  • Standard support
  • Future updates
Buy Full Price โ†’
(September 2025)

Course Curriculum

01

Metroidvania →

3 Weeks - Free Previews Available
02

RPG →

3 Weeks

Metroidvania Course Content

Steven
Steven
Skool
"Hey Dylan Iโ€™m really enjoying the course so far. Iโ€™ve spent some time catching up lately and I think itโ€™s awesome you did a custom level editor. Iโ€™m looking forward to the rest!"
Steven
Anton
Skool
"Awesome, thanks for the fantastic course! I'm loving the experience!"
Steven
Laurent
Skool
"...I've implemented some collision algorithms in previous projects (not with ODIN) but Dylan's way of doing things is more efficient and smarter than mine.
That gives me more motivation to speed up my learning process !
Thanks"
01. Getting Started and MindsetPreview06:57
02. Building a Simple LevelPreview07:57
03. Creating the PlayerPreview01:53
04. Basic Left Right MovementPreview00:50
05. Entities, Game State, Physics UpdatePreview15:04
06. Command Buffers - Better Debug Drawing04:14
07. Enemy Behaviors08:26
08. Health and Safe Zone09:28
09. Animations08:01
10. Finite State Machine for Player Movement06:25
11. Attacking12:32
12. LDtk Crash Course16:55
13. Parsing LDtk Level Data06:52
14. Combining Collision Shapes17:57
15. Loading and Drawing Tiles05:08
16. Simple Camera Snapping + Jump Improvements05:54
17. Loading an Enemy from LDtk06:14
18. Enemy Hit Feedback and Animating Enemies06:57
19. Hazards and Obstacles11:25
20. Level Transitions17:36
21. Sound Effects and Music05:01
22. Player Health UI05:41
23. Checkpoints07:46
24. Ability Gating - Dash11:19
25. Main Menu10:32
26. Saving and Loading13:19
27. Composing Enemy Behaviour12:15
28. Inventory System15:58
29. Map System08:41
30. Boss BattlePreview38:52
31. Custom Level Editor Introduction04:44
32. Designing a Binary File Format31:17
33. Placing and Removing Tiles22:57
34. Spike Tool07:36
35. Zoom, Pan Level Mode10:14
36. Handling Multiple Levels35:46
37. Level Resizing11:40
38. Undo and Redo28:44
39. Autotiling10:20
40. Level Transitions22:59
41. Editor Side Panel IMGUI10:53
42. (UPDATE) Removing Implicit Allocations04:55
43. Finalising Level Placement Tool24:07
44. Particle System55:47
45. Attack Combo and Screen Shake18:10
46. Entity Homogenisation and Placement13:34
47. Entity Spawners12:17
48. Hitboxes and Hurtboxes13:14
49. Checkpoints and Powerups23:06
 
~11 hours of video
Each lesson has a text-only version

RPG Course Content

  • Build a living fantasy village with NPCs who follow realistic daily schedules
  • Create complex dialogue trees and quest systems that react to player choices
  • Venture into wilderness areas filled with monsters
  • Master turn-based combat with unique character abilities and status effects
  • Design challenging enemy AI with distinct behavior patterns
  • Craft an epic dungeon crawl culminating in a strategic boss battle
  • Learn all the essential systems behind classic RPGs while building your own from scratch

Starting March 2025

03

Strategy →

3 Weeks
04

Roguelike →

3 Weeks

Strategy Course Content

Lessons to be decided

Starting ~June 2025

Roguelike Course Content

Lessons to be decided

Starting ~September 2025

Standard courses teach engine usage.

This course teaches engine creation.

Frequently Asked Questions

What makes this course different?

It's efficient: 5 modules of focused, practical learning. No fluff.

It's innovative: We're using Odin - a modern language gaining traction in game dev circles.

It's practical: We use Raylib to shortcut our graphics while still giving us control over the engines.

It's hands-on: You're building working demos for each type of game.

It's foundational: The skills you learn here apply to any game you'll want to build next.

Do I need programming experience?

Yes, at least a little bit. I recommend going through the Free Pong Course if you aren't at all familiar with Odin and Raylib.

What if it's not right for me?

No problem! Just send me an email requesting a refund. If it's within 14 days I'll refund you. No questions asked. Early-Access refunds are available up until launch day + 14 days, so stay tuned.

What if I need help?

The course is hosted on the Skool platform, so you may ask questions in there and I will personally assist you.

As well as that, there is a public Discord server.

I've made Pong. How is this different?

Pong is a great start. It has some basics used in a lot of action games. What it doesn't have is: state management, memory management, UI, saving and loading, streaming resources, multi-threading, procedural generation... etc.

Will this help me make the games I really want to create?

Yes. The modules have been carefully chosen to cover a wide variety of topics that are useful in many different game types.

Shape the future of game development
$347 Lifetime Access โ†’ $34.7/m x12 โ†’

I already have a free intermediate game programming course on YouTube

102,224+
students
99.5%
thumbs up

I'm distilling everything I learnt making that course and over the last few years of game programming into this course.

Here's what people are saying:

@manasjoshi2939
@manasjoshi2939
YouTube
"Really great video! keep it up ๐Ÿ™Œ"
@henryzhang6512
@henryzhang6512
YouTube
"This is really good stuff I wish I knew earlier"
@ozzy0794
@ozzy0794
YouTube
very good video as always!
@kadirsugar7894
@kadirsugar7894
YouTube
Awesome thank you
@lysikasaito
@lysikasaito
YouTube
fantastic video! what nerdfont are you using in vim?
@kotvkvante22
@kotvkvante22
YouTube
you need to increase sound volume. but as always great work
@andrejandrej5664
@andrejandrej5664
YouTube
Hello, what app are you using to draw? Btw thanks for great videos!
@AmixamMM
@AmixamMM
YouTube
is it still going on? it's a great serie ! ^^
@maxdenning3991
@maxdenning3991
YouTube
@DylanFalconer Thanks for the response! I will check out the newest episode. In my own project I had just decided to store the physics bodies of an entity with the entity data, but that might change. Great videos!
@Supershreeko
@Supershreeko
YouTube
Amazing! I'll be sure to share this series with my friends
@lautarolavecchia5995
@lautarolavecchia5995
YouTube
looking forward to this series, very interesting project
@alfonsodonotsi6691
@alfonsodonotsi6691
YouTube
This is amazing, and I love your code editor setup
@CraftyCrab_Ch
@CraftyCrab_Ch
YouTube
WoW! WoW! What am I looking at? This ... Is .... AWESOME!!!!! ๐Ÿ˜๐Ÿ˜๐Ÿ˜
@vapandris
@vapandris
YouTube
Yes!! I can't wait to watch this after work <3
@joegoosebass3958
@joegoosebass3958
YouTube
Great, im going to run through this course starting this evening, thank you!
@doomerdaniel
@doomerdaniel
YouTube
Thanks the incredible project!
@ahuman32478
@ahuman32478
YouTube
Programming is amazing
@ooichu_
@ooichu_
YouTube
Nice Super Crate Box clone!
@kotvkvante22
@kotvkvante22
YouTube
you have great videos. do not rush
@Ferenc-Racz
@Ferenc-Racz
YouTube
Nice and effective video. Congratulations. Nice job! :)
@videocloud6722
@videocloud6722
YouTube
Very Cool, Very Clever Writing. you are programming like a master. God bless you.
@interactiveslums213
@interactiveslums213
YouTube
although I have been studying C & OpenGL for Graphics Dev, this series has presented interesting ideas.
@crix_h3eadshotgg992
@crix_h3eadshotgg992
YouTube
Here, have some motivation :D
@avivjan9190
@avivjan9190
YouTube
amazing series , love your videos, and thank you very much !
@nathanosullivan2296
@nathanosullivan2296
YouTube
Glad to see another video in this series, it's been extremely interesting so far.
@magikworx3748
@magikworx3748
YouTube
I really like this compact format. Great series so far.
@joelpetersson8742
@joelpetersson8742
YouTube
Fantastic work!
@alfonsodonotsi6691
@alfonsodonotsi6691
YouTube
Amazing content
@ozzy0794
@ozzy0794
YouTube
Very good! Thank you for the videos!
@SpookyGuyAbhiii
@SpookyGuyAbhiii
YouTube
This is an awesome way to learn C and game dev. Love it
@t3v727
@t3v727
YouTube
very nice it's cool to see that you are still up and going with the series
@harryhopkinson162
@harryhopkinson162
YouTube
Great video, loving this series.
@vapandris
@vapandris
YouTube
Amazing series, keep it rolling :D
@cemgecgel4284
@cemgecgel4284
YouTube
Nice one!
@Supershreeko
@Supershreeko
YouTube
Amazing! I'll be sure to share this series with my friends
@lautarolavecchia5995
@lautarolavecchia5995
YouTube
looking forward to this series, very interesting project
@blankRiot96
@blankRiot96
YouTube
Really love the tutorial series, you don't go indepth into pointless things like how to download files from the internet, like most tutorials I see You actually state the prerequisites AND continue to acknowledge that said person would already know how the prerequisites during the tutorial Awesome content, subscribed
@codingwithSida
@codingwithSida
YouTube
yoo thanks so much, nice vid
@nh4843
@nh4843
YouTube
it's really nice to see you back!! nice video btw
@jokke9
@jokke9
YouTube
very nice video. keep up the good work!
@kae2018
@kae2018
YouTube
Amazing video :)
@lewisliewguozhang5760
@lewisliewguozhang5760
YouTube
Been following this series since part 1! Learned so many things and I may need to rewatch most of it again as im not too familiar with OpenGL and shaders so still struggling to keep up. Thanks Dylan!
@jenpen3249
@jenpen3249
YouTube
this is a great series dylan!
@avivjan9190
@avivjan9190
YouTube
Love your videos I'm a new subscriber, keep up the amazing content you helping me a lot, thank you !! Looking forward for the next video in the series!
@nebbbe3930
@nebbbe3930
YouTube
such a good series, hope there's more to come!
Ready to start building your own games?
$347 Lifetime Access โ†’ $34.7/m x12 โ†’

99% of indie games don't get published. 96% of indie games fail.

I believe there are many reasons for this, but one of them is that game development is notoriously difficult. Even if you use a third-party engine.

Don't get me wrong. If it makes sense for you to use an engine, then you should absolutely do that.

However, I believe there are a few things to consider.

Engines pigeon hole you into their way of doing things. Trying to do something outside the usual constraints is very painful and sometimes impossible.

If you want to make programming games your career, then learning fundamentals allows you to learn a new engine much quicker.

Do you remember when Unity was trying to retroactively add an install-fee that would have bankrupted many indie studios? Mark my words, this was just their first attempt and more of this will happen in the future.

My point is, there is a fundamental lack of control when using these third-party tools and you must be aware of the trade-off.

For many devs, the trade-off is worth it - especially those not really interested in programming.

For the rest of us, those who want to understand our creations down to the last byte, those who want control of their own projects, it's up to us.

That's why I'm building this course - to give other indies the tools they need to bring to life the game ideas that keep them up at night.

You will actually understand what an "entity system" is, how to create "scenes" (what is that, anyway?), levels, handle configurations, and a bunch of things that are not obvious.

You'll be able to take a game idea and push it forward relentlessly, without wasting a bunch of time.

In the past few years, I've helped more than 100K people with my C game + engine course on YouTube. I've helped hundreds of programmers get started with the free Pong course.

I hope to help many more with this in-depth look at how to create mechanics from games you love.

Cheers,
— Dylan

Join 100+ other indie devs

Close
Steven
Steven Skool
"Hey Dylan I'm really enjoying the course so far. I've spent some time catching up lately and I think it's awesome you did a custom level editor. I'm looking forward to the rest!"
Anton
Anton Skool
"Awesome, thanks for the fantastic course! I'm loving the experience!"
Laurent
Laurent Skool
"I've implemented some collision algorithms in previous projects (not with ODIN) but Dylan's way of doing things is more efficient and smarter than mine.
That gives me more motivation to speed up my learning process!
Thanks"
  • Learn engine architecture from first principles
  • Build 4 complete games from scratch
  • Get lifetime access to all course materials