- 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 2023
$59.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.
73% of our students come back for another course
We don't offer discounts on our courses. Ever.
"Great course! This course is really excellent. It covers the concept of Raycasting (based on Wolfenstein 3D techniques) from scratch. Gustavo is an excellent teacher who explains everything in detail, paying particular attention to the difficult points. I recommend this course to anyone who wants to learn how raycasting works, it's really worth it."
"Thank you sir. So far, the lecturer seems very friendly, and clear, and he clearly knows what he's talking about. The topics he covers are wonderful, and it's obvious how much work has been put into these courses. So far, it's easily a 5-star experience, and I don't expect it to go any lower. In fact, it seems to get nicer and nicer the more I go through it. I don't think a simple 'thank you' is enough to show my appreciation and gratitude for this lecturer and his platform."
"Exceptional Introduction to Raycasting Programming!
Gustavo Pezzi's course on raycasting programming is nothing short of exceptional. As someone delving into game development or simply interested in the intricacies of computer graphics, this course provides an enriching experience that exceeds expectations.
Gustavo's expertise shines through as he navigates learners through the complexities of raycasting. His clear explanations and structured approach make even the most daunting concepts accessible to beginners.
What sets this course apart is its hands-on nature. Gustavo guides students through the process of building a simple but complete raycaster from scratch, mirroring the techniques utilized in Wolfenstein 3D. The practical exercises ensure that learners not only grasp theoretical concepts but also gain invaluable programming skills applicable in various domains.
Furthermore, Gustavo's teaching style fosters a supportive learning environment. His responsiveness to questions and willingness to clarify doubts ensures that no learner is left behind. The course materials, including lectures, assignments, and supplementary resources, are meticulously curated to facilitate a seamless learning journey.
By the end of the course, students emerge with a profound understanding of raycasting principles and a tangible project to showcase their newfound skills. Whether you're an aspiring game developer or simply passionate about coding, Gustavo Pezzi's raycasting course is an invaluable resource that deserves five stars without hesitation."
"Another great course from Gustavo! Hands-on experience that builds your knowledge foundation in a well structured pace. You'll create the raycasting engine first in Javascript and then move to a more complete version in C. It really covers a lot in such little time, thank you!"
"Fun and practical! This course was a journey, a story about a program and all the details, beautiful and messy alike. Math, algorithms, code organization, best practices, refactoring - all landmarks along the way to a victorious ending and a promising epilogue."