It looks like you're using an adblocker.
Adblockers make us sad. We use ads to keep our content happy and free. If you like what we are doing please consider supporting us by whitelisting our website. You can report badly-behaved ads by clicking/tapping the nearby 'Advertisement' X text.
Build a classic 3D engine from scratch using JavaScript and C, just like Wolfenstein 3D.
Ready to build your own retro 3D game engine? This course dives into the raycasting technique, the magic behind classics like Wolfenstein 3D. You’ll learn the math and code it all yourself using JavaScript for the theory and C for a performance-boosted version.
π― What you’ll learn
Understand the math and trigonometry behind raycasting.
Implement player movement and 2D map rendering.
Project 3D walls and handle textured surfaces.
Code a functional raycasting engine in both JavaScript and C.
Explore optimization techniques for better performance.
β Requirements
Skills: No prior experience needed; math and code are taught from scratch.
Tools: Web browser (JavaScript), C compiler (Windows, macOS, Linux), Pen and paper for math.
Hardware: Any computer capable of running a web browser and a C compiler.
π Description
This course is all about building a raycasting engine, the tech that powered early first-person shooters like Wolfenstein 3D. We’ll start with JavaScript to get a solid grasp of the math and theory without getting bogged down in complex code. You’ll learn about trigonometry, field of view, and how to cast rays to detect walls.
Then, we switch gears to C for a compiled version. This is where we’ll tackle performance and optimization, implement textured walls, and add sprites. The instructor, Gustavo Pezzi, emphasizes a step-by-step approach, explaining every formula and line of code. You won’t find any skipped steps here; it’s all about building from the ground up.
π§βπ Who this course is for
Absolute beginners interested in game development and graphics programming.
Developers who want to understand the fundamentals of 3D engine creation.
Anyone curious about how classic games like Wolfenstein 3D achieved their 3D look.
Students looking for a practical, hands-on approach to learning C and JavaScript for game dev.
π§βπ« About the Author
Gustavo Pezzi is an award-winning university lecturer based in London, UK, and the founder of pikuma.com. With a background in computer science and mathematics from prestigious institutions like City University of London and the University of Oxford, Gustavo excels at breaking down complex topics. He’s known for his clear, fundamental teaching style, making advanced subjects accessible to all.
π Final Result
A fully functional raycasting engine, capable of rendering a 3D environment with walls, textures, and sprites, coded in both JavaScript and C.
A portfolio piece demonstrating your understanding of core game engine principles and programming.
Curriculum
π Course content
Introduction
Motivations & Learning Outcomes
How to Take This Course
An High-Level Overview of the Raycasting Algorithm
Ray Casting or Ray Tracing?
Limitations of the Wolfenstein Raycasting Algorithm