"You can think of each course as a comprehensive self-contained book on a particular topic. But more than just a book, here we get to sit together, understand every formula, saviour every line of code, and develop a full project to really consolidate your knowledge on that topic."

35 hours

- Create a 3D software renderer from scratch using the C programming language.

$39.99

30 hours

- Create a 2D game engine using modern C++, SDL, ECS design, and Lua scripting.

$29.99

15 hours

- Lose your fear of assembly language programming games for the Atari 2600.

$19.99

13 hours

- Master the Lua programming language and learn to embed Lua with C & C++.

$19.99

18 hours

- A complete raycasting implementation with textures and sprites using C.

$24.99

8 hours

- A complete introduction to the UNIX command-line and Bash shell scripting.

$19.99

2 hours

- Create a simple game loop implementation using the C language and SDL.

Free

1 hour

- Understand the theory behind bitshifting & its applications in game development.

Free

Enroll and get lifetime access to the course content

Engage with other students using the discussion board

You'll get a certificate of completion at the end of the course

We offer a 14-day money back guarantee for all our courses

From computer graphics to AI, a good understanding of vectors, matrices, and other linear algebra concepts will underpin many of the projects we'll implement together.

We must understand how algorithms perform while keeping an eye for optimal representation in memory. Well-picked data structures usually mean less headache and faster access.

Most computer problems live between discrete and continuous mathematics. Often times we need to find numerical algorithms to find approximations to our mathematical solutions.

Triangles are always hidden in plain sight when we work with game development. Coding is an incredible sandbox to develop some intuition around basic trigonometry concepts.

Several ideas from calculus, such as derivaties and integrals will appear when working with computer graphics or coding a physics engine.

Many times we need to parse and interpret formal languages, or simply expose scripting power to our games or applications.

Some projects require us to take a deeper look into how our application communicates with the operating system and, ultimately, the hardware that is in front of us.

The goal of the courses is a low-level understanding of how and why things work, focusing on the timeless concepts that support computer science.