- 18 hours on-demand video content
- Lifetime access
- 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 November 2021
$34.99
ENROLL NOW FREE PREVIEWThis 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.
"Fantastic and Fun!
I am a professional JavaScript programmer but I hardly ever get to do something this much fun, I also want to learn C in a fun way and so am looking forward to doing the follow on course."
"Trying to learn graphics programming as a self-taught web developer without a strong foundation in math has been challenging, but this course has been great at reinforcing what I already know and helping me piece things together that I've been learning.
So far my strategy for this course has been to try and implement the next step myself before watching your code walkthrough and then see the differences between our implementations. It provides a little extra challenge which I would recommend if you want to get the most out of courses like these.
The instructor is very thorough in each lesson and hits on all of the details required to fully understand the material.
This course is a great little nugget and should have wider reach."
"Fantastic. I recently started learning about computer graphics and had been wanting to learn about how the old Wolf3D raycasting technique worked. I just so happened to stumble over this course and it provided *exactly* the information that I was looking for. Gustavo breaks everything down in to easy to digest lectures and it was a joy to follow along. Highly recommend."
"What a life saver.
Gustavo is a really good teacher. He goes above and beyond to be very thorough in his explanations. I came out of this course really understanding the concepts behind this technique. Thanks for the great course."