You've learnt the basics. Now learn the missing pieces between cool game idea and execution.
Program a wide range of mechanics! After taking this course, no matter what your next ideas are, you will be able to bring your ideas to life efficiently and effectively without relying on bloated 3rd party engines.
Using a technique I call the Fractal Code Cycle, we will be able to tackle problems large and small with ease.
5-Module Intensive: Essential Game Mechanics
Format: Videos with accompanying text
Full source code included
We will build these games together:
- Module 1: Fundamentals of Game Programming
- Module 2: Metroidvania (Finishing Nov 19th)
- Module 3: Turn-Based RPG (Starting Nov 26st)
- Module 4: Tower Defence
- Module 5: Roguelike
Why this course stands out:
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.
Fractal Code Cycle
This is a method I've developed to help break down any problem and figure out how to program it.
It's a modification of the Input -> Process -> Output concept, just applied fractally / recursively.
It's nothing fancy. It's dead simple. That's why it's so useful!
New to game programming?
Start with the free 2-hours-to-pong mini-course.
You'll learn foundational information at an efficeint and pleasant pace!
I already have a free intermediate game programming course on YouTube
99.5% of the 102,224+ students gave it a 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 about it:
Expected outcomes
On completion of this course, you'll be able to implement any game mechanic you can dream up.
Thanks to the Fractal Code Cycle method, you'll understand how to break them down, put them back together, or combine the pieces into something new.
Frequently Asked Questions
- 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?
- There is a Discord server in which I can personally answer any questions you may have. If I'm not available, try chatting to the other students!
- 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.
- How does this compare to other online game dev courses?
- It's broad and deep. Vertical slices, by their nature, require going into more depth than a usual course. This course aims to give a strong foundation in a wide range of areas so that you can experiment with game ideas and build something unique.
Ready to demystify game programming?
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 3rd 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.
There's also the Unreal Engine EULA that states you must conform to their politics. Whether you agree or not with their stance right now, there's no reason that can't change in the future.
My point is, there is a fundamental lack of control when using these 3rd 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
Introduction to Game Programming
- Introduction to Odin and Raylib (03:27)
- The Fractal Code Cycle (03:02)
- Basic Game Loop (04:05)
- Drawing Shapes and Sprites (07:36)
- Handling Input (06:28)
- Simple Collision Detection and Resolution (10:51)
- Text Rendering and Memory Allocators (10:11)
- Intro to Scenes (08:22)
Metroidvania
- Getting Started and Mindset (06:57)
- Building a Simple Level (07:57)
- Creating the Player (01:53)
- Basic Left Right Movement (00:50)
- Entities, Game State, Physics Update (15:04)
- Events, Entity Update, Debug Drawing (15:04)
- Command Buffers - Better Debug Drawing (04:14)
- Enemy Behaviors (08:26)
- Health and Safe Zone (09:28)
- Animations (08:01)
- Finite State Machine for Player Movement (06:25)
- Attacking (12:32)
- LDtk Crash Course (16:55)
- Parsing LDtk Level Data (06:52)
- Combining Collision Shapes (17:57)
- Loading and Drawing Tiles (05:08)
- Simple Camera Snapping + Jump Improvements (05:54)
- Loading an Enemy from LDtk (06:14)
- Enemy Hit Feedback and Animating Enemies (06:57)
- Environmental Hazards and Obstacles2024-10-12
- Moving Between Levels2024-10-15
- Sound Effects and Music2024-10-17
- Player Health and UI2024-10-19
- Checkpoints2024-10-22
- Ability Gating2024-10-24
- Main Menu2024-10-26
- Saving and Loading2024-10-29
- Composing Enemy Behaviour2024-11-31
- Inventory System2024-11-02
- Map System2024-11-05
- Boss Battle2024-11-07
- Particle System2024-11-09
- Resolution Independence2024-11-12
- Polish and Optimisation2024-11-14
The rest of the modules are in the planning process.
I expect their size will be similar to the Platformer module
If you have anything you would like to see included, please email me.
really great video! keep it up🙌
this is really good stuff I wish I knew earlier
very good video as always!
Awesome thank you
fantastic video! what nerdfont are you using in vim?
you need to increase sound volume. but as always great work
Hello, what app are you using to draw? Btw thanks for great videos!
is it still going on? it's a great serie ! ^^
@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!
Amazing! I'll be sure to share this series with my friends
looking forward to this series, very interesting project
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
This is amazing, and I love your code editor setup
WoW! WoW! What am I looking at? This ... Is .... AWESOME!!!!! 😍😍😍
Yes!! I can't wait to watch this after work <3
Great, im going to run through this course starting this evening, thank you!
Thanks the incredible project!
Programming is amazing
Nice Super Crate Box clone!
you have great videos. do not rush
Nice and effective video. Congratulations. Nice job! :)
Very Cool, Very Clever Writing. you are programming like a master. God bless you.
although I have been studying C & OpenGL for Graphics Dev, this series has presented interesting ideas.
Here, have some motivation :D
amazing series , love your videos, and thank you very much !
Glad to see another video in this series, it's been extremely interesting so far.
I really like this compact format. Great series so far.
Fantastic work!
Amazing content
Very good! Thank you for the videos!
This is an awesome way to learn C and game dev. Love it
very nice it's cool to see that you are still up and going with the series
Great video, loving this series.
Amazing series, keep it rolling :D
Nice one!
Amazing! I'll be sure to share this series with my friends
looking forward to this series, very interesting project
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
yoo thanks so much, nice vid
it's really nice to see you back!! nice video btw
very nice video. keep up the good work!
Amazing video :)
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!
this is a great series dylan!
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!
such a good series, hope there's more to come!