Pikuma: Courses

All courses

"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, savour every line of code, and develop a full project to really consolidate your knowledge on that topic."

- Gustavo Pezzi -

Learn Physics Engine Programming

35 hours
  • Learn how to create a 2D rigid-body game physics engine from scratch with C++.
credit card paypal

Learn 3D Software Graphics Programming

35 hours
  • Create a 3D software renderer from scratch using the C programming language.
credit card paypal

Create a 2D Game Engine with C++ & Lua

30 hours
  • Learn to make a simple 2D game engine using modern C++, SDL, ECS, and Lua.
credit card paypal
raycasting texture c

Raycasting Programming with C

18 hours
  • Write a raycasting engine with textures and sprites using the C programming language.
credit card paypal
atari 2600 programming

Code Atari VCS Games with 6502 Assembly

15 hours
  • Lose your fear of assembly language programming games for the Atari 2600.
credit card paypal

Learn the Lua Scripting Language

13 hours
  • Master the Lua programming language and learn to embed Lua with C & C++.
credit card paypal
linux terminal bash scripting

Master the Linux Terminal & Bash Shell

8 hours
  • A complete introduction to the UNIX command-line and Bash shell scripting.
credit card paypal
game loop c sdl

Create a Simple Game Loop with C & SDL

2 hours
  • Create a simple game loop implementation using the C language and SDL.
credit card paypal
bitshift tutorial

Understanding Bitshifting Operations

1 hour
  • Understand the theory behind bitshifting & its applications in game development.
credit card paypal

All paid courses include

Lifetime access

Enroll and get lifetime access to the course content

Access to discussion forum

Engage with other students using the discussion board

Certificate of completion

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

Money back guarantee

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

Back to the basics

All courses are designed to cover:

Linear algebra

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.

Algorithm complexity & data structures

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.

Discrete mathematics & numerical analysis

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 graphics & game development. Coding is a great sandbox to develop some intuition around basic trigonometry.


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

Compilers & formal languages

Often times we need to parse and interpret some sort of formal language, or simply expose scripting power to our games or apps.

Operating systems & machine architecture

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.

Low-level programming

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