- 18 hours on-demand video content
- Lifetime access
- Live meetup
- Downloadable resources and exercises
- Certificate on completion
- Access on mobile and desktop
- Secure checkout via Credit Card or PayPal
- 14-day money back guarantee
- Last updated August 2024
$59.99
ENROLL NOW FREE PREVIEW
This course will teach you how to create a complete raycasting engine from scratch. We'll use an algorithm similar to the one used in Wolfenstein 3D. The final project will be coded using both JavaScript and C. It will implement player movement, 2D map view, 3D wall projection, textured walls, sprites, and other optimization techniques.
This course will be divided in two important parts:
1. The first part of the course uses JavaScript to cover the theory and the math behind the raycasting algorithm. JavaScript is a simple high-level scripting language that helps us not get too distracted with implementation details.
2. The second part of the course uses the C programming language to implement a compiled version of our raycaster, including textured walls and sprites. We'll also use C to discuss important optimization and performance aspects of our code.
You'll need a web browser that can run JavaScript and a small C compiler. All these tools are cross-platform, so you can follow along with either Windows, macOS, or Linux!
The Wolfenstein 3D raycasting algorithm we'll learn is heavily based on trigonometry, so make sure you have pen and paper ready for the lectures. I will make sure we review and understand every formula we find along the way!
This course has no prerequisites. We'll cover all the math and the code as we go along, so even beginners with no prior experience are welcome to join!
Other raycasting tutorials out there are either too long or overwhelmingly complex. This course tries to be as beginner-friendly as possible.
We never skip any of the math or any other implementation detail. Everything is always taught from scratch, and you get to see the code evolving line by line in front of your eyes!
Gustavo Pezzi is a university lecturer in London, UK. He has won multiple education awards as a teacher and is also the founder of pikuma.com.
Gustavo teaches fundamentals of computer science and mathematics; his academic path includes institutions such as Pittsburg State University, City University of London, and University of Oxford.




71% of our students come back for another course
We don't offer discounts on our courses. Ever.
"An amazing course and a great way to reinforce concepts in C!
This course teaches you the Math and theory behind building a raycasting engine in a fun way. The instructor not only walks you through the code but before each major section of coding the instructor gives extremely detailed and slowly explained diagrams explaining how the math behind each function that we write in the code works.
This is also a very visually rewarding course, you can show your friends and family exactly what your building and have them play it.
I will make a warning, I personally think that you need some experience in Java script and C or Golang to get everything from this course. You should be comfortable with call back functions, structs and pointers. I also think some experience building a your own project with some one else API will help.
If your willing to put in the work this is a 10/10 course, this is leagues better than the average college or university course. The quality of this course is in the to 0.10% of courses that you can find on any online learning platform."
"Very clear introduction! Very clear."
"Excellent and super enjoyable course! The course guides you through writing a Ray-casting engine in C using relaxed, conversation-like lectures. I can honestly say that the lectures maintained my interest throughout. Well done to the Pikuma team for producing a high-quality course that I got a lot of joy from."
"This is my first review of a Pikuma course, but you can guarantee that it will not be my last as I have already purchased almost all the other courses Gustavo has put together.
I have always thought of myself as a visual learner and have never enjoyed endlessly trying to parse textbooks while trying to grasp a new concept, so I will often look for video based explanations or courses on topics I am interested in. As I am sure most of you can attest, most of these fall well short of being useful, both in the instructors communication and, often, the course material itself.
What Gustavo has put together here is absolutely unmatched, not just in content but in the manner in which it is taught. I feel absolutely comfortable and competent in approaching the topics covered and expanding on these topics myself. He does what no-one else does well, he provides that absolutely solid base of in-depth understanding of the core principals upon which everything else stems. (The most insane part of all this is the outrageously reasonable prices at which he sells these courses, infinitely better than the others at a fraction of the price!)
I am a far better programmer now than when I started, and I have what I didn't have before, confidence in my own competence. Couldn't recommend it more highly."