Make your own 2D rendering library in C++ and OpenGL!

The first step in making C++ games / a game engine from scratch!

$11.99 (94% OFF)
Get Course Now

About This Course

<div>Low-level game developers: do you want to make your own 2D game/game engine from scratch?</div><div><br></div><div>The best place to start is making a 2D library in OpenGL! This library will allow you to make your own 2D games from scratch, and it can also be the starting point for your own game engine! And I will guide you step by step. You also get 20+ guided challenges to do on your own! I will show you how to implement all the things that you need in a 2D library, like text rendering, texture rendering, a proper texture atlas, and a batch renderer.</div><div><br></div><div><span style="font-size: 1rem;">You just need basic OpenGL experience! (I don't recap basic OpenGL things)</span></div><div><br></div><div><span style="font-size: 1rem;">This is also where I started. After making my own 2D library in OpenGL, I unlocked so many cool projects. If you check my YouTube channel (Low Level Game Dev), all 2D games and projects you see there are made using my 2D library! I even made a game engine and published a Steam game, all starting from this one 2D library that we are going to make together now!</span></div><div><br></div><div>Everyone can make a 2D game using a library like Raylib or SFML, but trust me, it feels totally different to make a game using your own 2D library! It's much cooler, and you can design the library to your exact liking!</div><div><br></div><div>Have you ever gotten stuck while making a bigger project? I have seen so many students start over projects from scratch because their code becomes unmaintainable. Or maybe you just had too many bugs in your code. And the bigger the project is, the harder it gets to maintain it. But there is a way to not have that problem again. You just have to approach your coding a little differently. It is something called approach-based design, and it's not hard, but you just need someone to constantly remind you about it so you form the habit.</div><div><br></div><div><span style="font-size: 1rem;">So, besides the 2D library that we will make together, I will constantly point out how I made certain decisions and how I organized my code. In this way, you will unlearn the common programming mistakes and learn some actual good programming practices for the rest of your life.</span></div><div><br></div><div><span style="font-size: 1rem;">I will also teach you the 5 pillars of a good library design. And you won't just get some boring theory; we will use these principles for the entire library so that by the end of the course, you will know how to design a good C++ library and also robust code in general. This skill will apply to your next projects, like making a big game or a game engine! I also bring some cool examples from other good C++ libraries.</span></div><div><br></div><div><span style="font-size: 1rem;">Good code comes from some simple good habits, like learning to check for failure points. People usually teach design patterns and algorithms instead of focusing on these details, and that's why once you make a big project, you start having problems. So in this course, I highlight all of these little things so you learn to recognize them and apply them in your own projects!</span></div><div><br></div><div>Things Included:</div><div><ul><li><span style="font-size: 1rem;">How to make a 2D library in OpenGL - The perfect start for your low-level game dev journey!</span></li><li><span style="font-size: 1rem;">How to implement a 2D batch renderer - This is basically how a 2D rendering library should be implemented.</span></li><li><span style="font-size: 1rem;">Proper texture atlas implementation. - Texture atlases have an annoying bug that I show how to properly fix!</span></li><li><span style="font-size: 1rem;">Text rendering - This is the hardest topic, but I will help you get through it and have a proper implementation!</span></li><li><span style="font-size: 1rem;">How to organize a C/C++ library - I have seen so many beginners organize libraries in weird ways, that's ok, it also took me many years, but with this course, I will help you skip that process!</span></li><li><span style="font-size: 1rem;">The 5 pillars of good library design - I will teach you practices that actually make your library easy to use and easy to debug.</span></li><li><span style="font-size: 1rem;">How to use CMake - I have a full CMake tutorial included, and I also show how I configure CMake for a library.</span></li><li><span style="font-size: 1rem;">Guided challenges to do on your own - you don't learn unless you practice, so I have 20+ guided challenges for you!</span></li><li><span style="font-size: 1rem;">Directions to continue adding UI rendering to this library - I will give you some tips about what to do after finishing the library!</span></li></ul></div><div><span style="font-size: 1rem;">Throughout my YouTube career, I have seen so many people make the exact same mistakes, so I can confidently say that this course will place you on the right track to making your own games or game engine from scratch in C++. All starting from this 2D rendering library. And yes, you can also make this on your own, but after making so many games, I know all the pitfalls there are in making such a project, like texture atlas problems or font rendering problems. I will point them out for you, so you can focus on writing code instead of searching the sollution for a bug that you don't even understand (I was in that situation).</span></div><div><br></div><div>So you get a 2D library course in OpenGL + how to properly design C++ libraries + good coding practices + many other small details +&nbsp;</div><div><br></div><div>Some cool extras!</div><div><ul><li>A cheat sheet for the 5 pillars of good library design</li><li><span style="font-size: 1rem;">Extra: A quiz for the 5 pillars of good library design</span></li><li><span style="font-size: 1rem;">More Extra: Cool debugging tips.</span></li><li><span style="font-size: 1rem;">Even More: Cool project ideas you can implement with the library after you finish</span></li><li><span style="font-size: 1rem;">And finally, you can share your result pictures with other students!</span></li></ul></div><div><span style="font-size: 1rem;">I put a lot of work into planning, scripting, and editing this course to make it clear and easy to follow, so it will work for you! If you're still not sure, you can look at the first lessons for free!</span></div><div><br></div><div>So join my course now to take your first step on your C++ gamedev journey and make your own 2D library!</div><div><br></div><div>P.S. - Yes, you can learn all these things online for free. That's how I learned, too, in my 10 years of coding. But this course is a shortcut that helps you skip common mistakes. If you want to do projects like the ones I show on my YouTube channel, this course is made to help you get there faster than the 10 years I had to spend!</div>

What you'll learn:

  • Make your own 2D rendering library in C++ and OpenGL
  • Implement proper text rendering
  • How to design a good C/C++ library
  • Implement a 2D batch renderer
  • Implement propper texture rendering for 2D games
  • Learn CMake
  • How to approach coding difficult things