Pikuma: Testimonials

What students are saying...

4.96
5 star
97.8%
4 star
1.6%
3 star
0.3%
2 star
0.0%
1 star
0.3%
Lorraine Figueroa
Lorraine Figueroa
"Finally! Finally I am learning something I always wanted to do - program Atari 2600. This is a great course to learn how to program the Atari 2600. The steps are logical and I can pace myself. This course is well worth the price!!"
6502 Assembly for the Atari 2600
02 Oct 2022
Dimitrios Roussos
"I really enjoyed it! Too bad we didn't have such material back then at 90s. Of course, it's never too late, I really enjoyed it, fill some gaps. Once again, thank you very much professor."
6502 Assembly for the Atari 2600
27 Sep 2022
Bård Ildgruben
Bård Ildgruben
"Finally a 6502 programming course for the NES!

I have been looking for a course like this for years, and I am so happy that Gustavo made this. I took his assembly course on 6502 assembly programming for the Atari 2600 a few years ago and was very happy with it. This course is even better.

Gustavo is a great teacher and he explains complex topics in a very easy to understand way.

I highly recommend this course."
NES Programming with 6502 Assembly
26 Sep 2022
"Great Course! Great explanation of what can be a tricky thing to get used to."
Understanding Bitshift Operations
25 Sep 2022
Jason Robles
"Get this RIGHT NOW! (if you're interested in NES programming).

I was skeptical at first (a great first line to say, I know), but this guy knows what he's doing. After aimlessly reading NESDev and asking for help, I thought I could never understand the NES. This guy is a lifesaver!"
NES Programming with 6502 Assembly
24 Sep 2022
Gant Laborde
CIO at infinite.red
"The Ultimate Trifecta!

If you feel uneasy about life's big problems (C programming, Linear Algebra, and 3D Graphics), this course is the decryption key. With the information in this course, I look back at years of struggling in OpenGL, transforming points in 3D, and even that one C program that I broke, and I see the clouds clear away!

This is a MUST-TAKE course for anyone who wants to level up their understanding of graphics, and critical skills that make computers great!"
Learn 3D Software Graphics Programming
23 Sep 2022
"Wow! Really impressive content.

Finally able to understand the whole rendering pipeline (albeit a simple one), everything is crystal clear when you put the effort into understanding the material on your own.

I tried learning this a few years ago and had bought the book: Realtime Rendering. Although the book is good, it's way to advanced in concepts presented. This is where Gustavo's course shines: you understand the basics and terminology and helps as a stepping stone into modern graphics API.

Bravo!"
Learn 3D Software Graphics Programming
22 Sep 2022
"Excellent for begginers to gamedev with previous C/C++ experience. As someone who has extensive C and computer architecture knowledge, this course is perfect. However, for newcomers to these low level languages, it can be though. Nevertheless, great introduction to the fundamentals of gamedev."
Creating a Game Loop with C
15 Sep 2022
"Exceeded all expectations! It's amazing what can be accomplished just with the math we learned in school and we didn't even know the power of this knowledge. You are surprised with each lesson completed. Guaranteed fun. Exceeded all expectations. Worth every penny!"
Learn 3D Software Graphics Programming
14 Sep 2022
Manuel Cabrerizo
"Excellent course!"
NES Programming with 6502 Assembly
12 Sep 2022
Samee Qazi
"Great review on Computer Architecture! Enjoying computer architecture like never before! Want to go back in time and score better grades! :-)"
6502 Assembly for the Atari 2600
12 Sep 2022
Hyung Jin Kim
"PIKUMA is the best!"
Understanding Bitshift Operations
31 Aug 2022
Jeffrey Shaffer
Associate Professor at Shizuoka University
"Very Clear and Easy to Understand. Thanks, Gustavo! Your explanations and examples are always clear and easy to understand. I heartily recommend any (or ALL) of Gustavo's courses!"
Understanding Bitshift Operations
31 Aug 2022
Joseph Kennedy
"Best NES course online! Incomparable! Simply the best course on the NES anywhere online :-)"
NES Programming with 6502 Assembly
31 Aug 2022
José Ferreira
"This course was incredible, and Gustavo did an excellent job in this course."
Game Physics Programming
30 Aug 2022
Josue Boisvert
"Demystifies binaries and bit shifting operations. I've been coding for years but each time I needed to use bit shifting I had to find some reference online or just go through trials and errors until I got the desired results. Thanks to this short course, however I'm way more confident that I can do binary calculations and bit shifting operations in my head and as a bonus I see more clearly how it can benefit me in some use cases that I didn't consider before!"
Understanding Bitshift Operations
29 Aug 2022
Krystian Alabrudzinski
"A great introduction to not only C, but also game dev! As someone who's into game dev and used Love2D to get into making my little games, I was always scared of the big scary C... While this course does not dwell deep into learning the C programming language, it most certainly teaches you a few basic bits of it, but most importantly it gives you the essential skills for learning basic SDL2 and how to structure a game loop & a small game on its own. This course will allow you to take your hard-learned knowledge and test yourself with a few exercises to help you grasp the context better. Loved every single moment of this course! Gustavo's teaching is fabulous, he explains everything in detail and never a detail behind and if he does, he will always respond to you on Twitter or the course forum! I highly recommend this course! Be it for a complete beginner or game developers just starting."
Creating a Game Loop with C
29 Aug 2022
Adam Patterson
"Liked it so much I did it twice. I've been learning 3D for the last year just to have an interesting project to work on. I started off with Javidx9's youtube series to just get a quick overview, then I took this course and implemented it in C. I didn't understand quite a bit and would skip lectures that didn't involve code since I just wanted to get to the final product. It was still amazing and probably my favorite guide I've ever followed. After that I explored, OpenGL, raytracing and other topics. Now about a year later, I just finished the course for the second time. I watched at 1.5X video speed. This time I used Go instead of C just for something different. But this time I paid attention to all the lectures and learned so much more. When I had an issue, instead of going back in the video, I could usually figure out what the problem was on my own, due to a better understanding. Thanks so much! I loved the course and it really shows how much time and effort you put into the series."
Learn 3D Software Graphics Programming
27 Aug 2022
"Incredibly good course! It includes so much more than just the basics! You learn which tools are essential for development and you get a very good all-round view. After the course you will see your computer with different eyes. Highly recommended!"
Learn Linux Shell and Bash Scripting
23 Aug 2022
Chintan Bhat
"Nothing short of amazing!!! Just started this Course after a long time of buying. Gustavo is an unbelievable Teacher. He gets the attention and clarfies the out come on first 12 minutes. More importantly whatever he claims, he delivers. Looking forward to a great adventure."
Learn 3D Software Graphics Programming
21 Aug 2022
Jeffrey Shaffer
Associate Professor at Shizuoka University
"A great introduction to not only C, but also game dev! As someone who's into game dev and used Love2D to get into making my little games, I was always scared of the big scary C... While this course does not dwell deep into learning the C programming language, it most certainly teaches you a few basic bits of it, but most importantly it gives you the essential skills for learning basic SDL2 and how to structure a game loop & a small game on its own. This course will allow you to take your hard-learned knowledge and test yourself with a few exercises to help you grasp the context better. Loved every single moment of this course! Gustavo's teaching is fabulous, he explains everything in detail and never a detail behind and if he does, he will always respond to you on Twitter or the course forum! I highly recommend this course! Be it for a complete beginner or game developers just starting."
Creating a Game Loop with C
15 Aug 2022
Oliver Dickson
"Awesome! Helped me learn something that had been a dream of mine."
C++ 2D Game Engine Development
14 Aug 2022
Thatoyaone Bogopa
"Interesting course! Taking time to explain all important details."
Learn 3D Software Graphics Programming
10 Aug 2022
Ivan Vodopiviz
Game developer
"Just excellent!

It's impressive just how much information there is in this course while staying relatively short and approachable. Gustavo goes over everything always maintaining a delicate balance of giving enough detail while avoiding overloading the student. Critically, he also drinks the superior hot infusion ;)

100% recommended!"
C++ 2D Game Engine Development
08 Aug 2022
James Graham
"Fantastic course! I've been looking for all of this material in one place for 25 years. Up until now, things were either too spotty, too complicated, or using a programming language that I wasn't interested in. This course covers just about everything and being in C, I think is easily adaptable to another language."
Learn 3D Software Graphics Programming
07 Aug 2022
simgamedev
Game programmer
"The best (not one of the) 101 course on computer graphics! Anyone who wants to get serious about learning computer graphics, learn to write a software render first before trying anything with OpenGL/DX/Vulkan, you will have a much deeper and firm understanding of the pipeline."
Learn 3D Software Graphics Programming
05 Aug 2022
Kyle Halversen
"Finally! I've always wanted to make games, but figuring out where and how to start has been so intimidating. There is a ton of mediocre content online about gamedev and most of it focuses only on the very basics. Gustavo's content is empowering.

It's a nice mix of understanding the different moving parts that go into building a game and also the problems we try and solve in development. The course is a skillfully mixes coding, theory, design, and figuring out problems. It's rewarding. You take a step back after each lesson and see how what you learned made a real difference toward what you're building, you begin to see more of the big picture.

After finishing this course I can honestly say that it's given me the confidence I've needed to start seriously building the project I had only been dreaming about making. I cannot recommend this course enough."
C++ 2D Game Engine Development
02 Aug 2022
John Magne Bakke
"Great course for learning basics of game engine from scratch. Of all the books, courses and tutorials I have encountered, this is by far the best for learning how it all fits together into a small working game engine. This course takes you from the very first step, compiling "hello world", all the way to a working game engine with resource management, event system and scripting. After this course, I now feel inspired and ready to go ahead and learn more about engine design and making some fun games along the way. pros: cross platform (especially the focus on linux), minimal dependencies, working code all the way, teaching some modern c++. cons: liberal use of "auto" makes code a bit hard to read/understand when learning many new concepts."
C++ 2D Game Engine Development
31 Jul 2022
Tom Hulton-Harrop
Game Engine and Developer Services @ AWS
"Excellent introduction to 3D graphics!

I have a reasonable amount of experience in games development and 3D graphics programming but had never really gone back to first principles and thought of everything that's required to create a renderer from scratch. This course covers absolutely everything you need to know and is done so in an incredibly accessible way.

The course was easy to follow (each section is broken down into small chunks that make incremental progress a lot easier) and Gustavo's enthusiasm is infectious, making covering the material really enjoyable.

I highly recommend this course for beginners and even for people who are already familiar with rendering and graphics APIs as an effective refresher course. You'll no doubt learn something new along the way!"
Learn 3D Software Graphics Programming
24 Jul 2022
"I never really thought that creating your initial game loop is this easy! Why did I think I wasn't going to be able to understand this? Looking forward now to start the course I actually bought, if the quality is the same it's going to be great. I like how the videos were straight to the point, but explain some of the background when context might be more important."
Creating a Game Loop with C
23 Jul 2022
"Great course for intermediates. I'm a 3D artist + Tech artist with a year or so worth of C++ programming experience and I'm loving the course so far. Very Pedagogical! Each lecture are in manageable lengths and the pace is perfect for me."
Learn 3D Software Graphics Programming
21 Jul 2022
"Amazing course"
Learn 3D Software Graphics Programming
20 Jul 2022
Yuvesh Sooknah
Yuvesh Sooknah
Software Engineer
"I wish I discovered these courses 20 years back !!! Clarity is the thing with Gustavo's teaching methods. It is the most worthy hour spent (only once in life) on understanding Bitshifting operation and to be remembered throughout a lifetime.. without the need to refresh on the topic again in the future.. Highly recommended courses!!"
Understanding Bitshift Operations
19 Jul 2022
"Fun but not perfect. The important part of the course is seeing the implementation of a fun algorithm, and this is conveyed well both in terms of how to write the algorithm and understanding how it works. The drawback of the course is that the code that is presented often goes against industry best practices, e.g. with var instead of let statements in the JavaScript code and tons of global variables in the C code (instead of explicit argument passing). I would recommend this course for an experienced programmer that's looking for some fun. For the junior programmer, there's a heavy does of asterixis that follow pretty much every single statement in this course."
Raycasting Engine Programming with C
18 Jul 2022
Ifeanyi Oraelosi
Software Engineer
"This course emphasizes the 'why'! It's refreshing to have an instructor run a program with errors so they can explain what the errors are and how to solve them. I really appreciate this a lot."
C++ 2D Game Engine Development
17 Jul 2022
"Fabulous course! Very well structured course, just right level of difficulty without getting overwhelmed. It clarified the concept of delta time and game loop very succinctly. I thought as a game developer who has shipped 1-2 small games I understood these ideas before the course but there were nagging gaps that this course helped fill. I also like the how the instructor wrote all the code in front of us line by line. So this was not that 'How to Draw the Owl' kind of a course (if you've seen that joke ;-P )."
Creating a Game Loop with C
16 Jul 2022
Albert Tsanaclis
Albert Tsanaclis
Senior Software Developer
"Amazing course! This course was amazing, thank you! I really enjoyed the lessons pace and the raycasting technique."
Raycasting Engine Programming with C
15 Jul 2022
Michael Dick
Michael Dick
Computer Science & Math student
"Great for Low Level Understanding! If you're an individual that wants to know everything about low-level computing, or anything that deals with graphics, games, etc, then try this course. The breadth of material and applications of what we do here is absolutely amazing."
Creating a Game Loop with C
14 Jul 2022
Victor Osornio
"An amazing journey! Thanks Gustavo, I really enjoyed your teaching style and how you cover the fundamentals in a clear and easy to follow way. Your course is one of the most engaging and polished I've taken."
Learn 3D Software Graphics Programming
14 Jul 2022
Ferran Ruiz
"Great course! While I have seen similar material for free on the web. Having all compiled is a great help, also some concepts I had seen several times and only clicked for me watching this course. What I mean is that its very well explained, and if you have any doubts left usually someone has already asked about it and you can read Gustavo's answer. My only negative point is that towards the end it goes a little towards the object oriented side of things. But you can opt out of it and its really just at the end. Just a warning if you do not want to go down that particular road."
Learn 3D Software Graphics Programming
13 Jul 2022
Qiushi Yan
Data Science at Vanderbilt University
"Amazing content and teaching style. The instructor has deep expertise in the subject matter and organizes course materials in a very approachable way. Exercises are well designed to complement learning."
C++ 2D Game Engine Development
08 Jul 2022
Rodrigo Verdiani
Game Developer at Voidkraft Studio
"Another awesome course by Gustavo! As usual, this is being quite a journey! I'm loving all the content presented, with all the math and logic behind it. Couldn't recommend more! All the stuff that I was having difficulty learning from other sources was made easy to understand and implement in my code. Keep up the awesome work, Gustavo! Looking forward to your next courses!"
Learn 3D Software Graphics Programming
08 Jul 2022
Moeen Kamali
"Its the best way to start understanding rendering. i think Gustavo is a great person to teach complicated stuff very easily."
Raycasting Engine Programming with C
01 Jul 2022
Dustin Clark
Controls Engineering Technologist
"Amazing Course!!! This was another amazing course by Gustavo! The way the mathematics behind 3D graphics programming was broken down and made easy to understand was wonderful. I highly recommend this course to anyone that is interested in learning graphics programming! Now my goal is to convert the original code in C to C++. This is going to be fun! Thank you Gustavo."
Learn 3D Software Graphics Programming
29 Jun 2022
Simon Steinaa
Software Developer
"Very inspirational and well explained. I love his way of teaching complex stuff."
C++ 2D Game Engine Development
23 Jun 2022
Nitin Deshpande
Nitin Deshpande
"Simply great! Mr Pezzi is an amazing teacher. I thoroughly enjoyed the course. The fundamentals are very well explained."
Creating a Game Loop with C
21 Jun 2022
Jeffrey Shaffer
Associate Professor at Shizuoka University
"An Amazing Course. Well Taught and Well Explained!

This was an amazing course! Not only did I learn a LOT about graphics and mathematics, I also loved watching how the teacher wrote and checked his code. I think I learned as much about programming methods and techniques as I did about graphics! This course was all that I hoped for and more, and the teacher is clear, careful, and thorough. He makes even the hardest topics easy to understand.

I highly recommend this course to anyone interested in learning how 3D graphics really work."
Learn 3D Software Graphics Programming
19 Jun 2022
Simon Steinaa
Software Developer
"So pedagogical! It's the best course I've taken on graphics. The instructor is very skilled in explaining all the details. Highly recommended."
Learn 3D Software Graphics Programming
15 Jun 2022
"It really amazes me how complete the course is. This course is amazing because Gustavo does not leave anything and anyone behind.

I already had knowledge of C++ when I enrolled in this course and I initially thought to skip over all the lectures which dealt with topics that I already was familiar with. Let me tell you that I'm glad I didn't skip anything. All the lectures are incredibly well laid out and you might still learn something even on already known topics. This course taught me how a game loop works which before was just pure black magic to me. I couldn't understand how you could serialize a process of updating and displaying things when by a gamer perspective everything seems to be happening at the same time.

I also enjoyed to learn the core mechanics of the SDL2 library and last but not least to learn about the ECS system which prior this course I didn't even know it existed.

I can say that I'm leaving with a better knowledge on the subject and that I have enriched my experience bag with useful information that will become handy in the future."
C++ 2D Game Engine Development
13 Jun 2022
Alberto Calo
Alberto Calo
Mechanical Engineer
"Absolutely fantastic course with great content! By far one of the best and fun online courses I have ever enrolled till now! I have learnt a lot during this lovely journey and Gustavo has been a superb teacher! I can't recommend it enough!"
6502 Assembly for the Atari 2600
12 Jun 2022
Albert Tsanaclis
Albert Tsanaclis
Senior Software Developer
"Excellent!

This is a very thoughtful and carefully presented 3D course, I am learning a lot of 3D programming and 3D in general. And also, by the way, a lot of C.

Really amazing! It is really built from scratch, and all the 3D vocabulary is presented clearly and with sufficient details in order to really grasp the concepts behind things like vectors, culling, perspective, left-hand/right-hand perspective, C programming, transformations, matrices, game loop, projections.

Excellent course."
Learn 3D Software Graphics Programming
09 Jun 2022
Jean-Jacques Strydom
Jean-Jacques Strydom
Programmer
"Fantastic course! Really well taught and well explained."
Creating a Game Loop with C
08 Jun 2022
Andreas Vlcek
Andreas Vlcek
"Wow! I really learned a ton here. Highly recommended."
Raycasting Engine Programming with C
30 May 2022
Henrique de Lima Florindo
"Great course! I've really enjoyed it. It helped me understand how a game engine can be architectured, even though i don't plan on using modern C++ features on my projects. I just wish it went more in depth into alternatives for ECS, it seems great for a complex and generic game engine, but seems a bit overkill for small games, which is what i plan on making. Besides that, i do not regret the time i spent taking this course, and will likely try other courses from Pikuma later on!"
C++ 2D Game Engine Development
29 May 2022
Pablo Sanchez
Gameplay programmer at Pentakill Studios
"Gustavo brings an Awesome course, made by heart and with an open mind, I cant recommend this course enough!

It is awesome from the beginning, you will learn key concepts that will keep in your brain how to think and design an game engine. If you want to learn c++ and how to endure in this amazing world of patterns: just get this course, there isnt any course better than this in my humble opinion."
C++ 2D Game Engine Development
23 May 2022
Nathan Scott
"Recommended. Very helpful especially with the code examples! Thanks!"
Understanding Bitshift Operations
22 May 2022
Dustin Clark
Controls Engineering Technologist
"This was another wonderful course from Gustavo. I really enjoyed the way he broke down some of the complicated math and this was a great introductory course to 2D Game Physics. I cannot wait until the 3D Physics course comes out."
Game Physics Programming
20 May 2022
Matěj Smetana
Matěj Smetana
"Way better than every YT videos! It was so good I immediately bought the full C++ Game Engine course, I can totaly recommend it."
Creating a Game Loop with C
18 May 2022
Kristafer Vale
Character Setup TD Dreamworks Animation
"Even if you have a lot of 3D experience, this course teaches you A LOT!

I've been working as a Character Setup TD for over 12 years, this course illuminated a lot of the basics of computer graphics I never had the opportunity to learn until now.

I appreciate the time the instructor takes to really examine and explain the math and the programming utilized to create computer graphics.

This course is the first one I've ever encountered that did a good job of managing the balance of math and computer science necessary to completely explain computer graphics literally from the ground up!"
Learn 3D Software Graphics Programming
16 May 2022
Andres Mata
Profesor de talleres tecnológicos
"I loved this course! I enrolled in this course because I was fascinated by Pico-8 and TIC-80 fantasy consoles and wanted to understand how the communication between Lua and C worked. I have to admit that I kind of hated of Lua in the beginning but after taking this course I realized that was because I didn't really understand the language. Now I love it, and it's one of my favorite languages."
Learn the Lua Scripting Language
08 May 2022
Thiago Almeida
Graphics designer
"Outstanding course!

I'm a bit less than halfway through the videos but I can say that this is the best training course about 3D Graphics I have ever taken. It goes in-depth about the topic while still managing to maintain a beginner-friendly approach. Gustavo deserves props for putting together this outstanding material."
Learn 3D Software Graphics Programming
06 May 2022
Vladislav Osetrov
"Nice course. Concise and consistent."
Creating a Game Loop with C
04 May 2022
Jean-Jacques Strydom
Jean-Jacques Strydom
Programmer
"Great course. Now I finally understand how bitshifting works!"
Understanding Bitshift Operations
03 May 2022
Raul Romero
"Amazing! This is course has really helped me to understand the fundamentals of 3D."
Learn 3D Software Graphics Programming
01 May 2022
Attila Malarik
Technical Designer at sentiomedia
"Just what I needed!"
Creating a Game Loop with C
28 Apr 2022
Aemon Malone
"great!"
Learn 3D Software Graphics Programming
27 Apr 2022
Victor Brusca
"I loved this course! I found it to be very professional and informative."
Creating a Game Loop with C
13 Apr 2022
Bruno Marcelo Gaio
"Not for beginners. On 'Compiling Our Code With GCC' starts to speak in Greek."
Creating a Game Loop with C
13 Apr 2022
Mario Lucas da Silva Barbosa
3D Graphics Programmer / GameDev
"Amazing course! This course is what you expect to learn when you begin in Computer Graphics area. I must reccomend this course for enyone that wants to realy learn in theory and practice about 3D Graphics."
Learn 3D Software Graphics Programming
12 Apr 2022
Bill All
"Fantastic course! I'm about half way through this course. Unbelievable value for money. Not only do you get a course on 2D physics, but it doubles as a massive C++ project so that (for me anyway). I can brush up on and get more confident with the syntax (and memory management).

Course is well presented and explained, with clear diagrams and animations. I wish I had more time (jumping between this one and a few others from same Instructor). Brings together all the stuff I have learnt over the years (since my high school days a few decades ago).

Highly recommended."
Game Physics Programming
11 Apr 2022
Victor Brusca
"I found this course to be clear, concise, and informative."
Understanding Bitshift Operations
11 Apr 2022
Jaqop James
"Wonderful course! I learn a lot from this course, it's easy and straight to the point. Enjoyable, very rare to find a course like this, and it makes you learn more by yourself."
Learn Linux Shell and Bash Scripting
11 Apr 2022
Michal Jarnot
"Can't get better than this!

I have very little experience with C++ and the attention and level of detail that I during this course is hard to describe. If there were more teachers like Gustavo then there would be fewer javascript developers in the world."
C++ 2D Game Engine Development
09 Apr 2022
Mattia Di Meglio
"Very well done! Wanted to check out the teacher style, so I enrolled. I was familiar with the argument, but was still pleasantly surprised by the course: Absolutely well done and beautifullly explained!"
Understanding Bitshift Operations
08 Apr 2022
Henrik Gieselmann
"Outstanding course! Gustavo Pezzi does a great job explaining every aspect of creating a simple Game and goes into detail about the implementation. He adds additional sources where appropriate. I was able to follow along nicely in Linux/WSL, even though I am not really used to it. Which made it even more interesting for me."
Creating a Game Loop with C
06 Apr 2022
Okta Hat
"Great intro to SDL. Quick but thorough introduction to writing a game loop using SDL. Covers installation and project setup using SDL for most major OSes ( Windows, Linux, Mac). The videos are crisp and to the point. What can be done better: - Have a place to show formatted code as text. Currently, we need to follow along by looking at the video and typing and frankly, the font used in the videos is not the best. Also, if we need to check a particular line, we need to go back to that section of the video."
Creating a Game Loop with C
02 Apr 2022
William Allenr
"Everything I never thought I needed! I came here to learn enough about LUA to write and read Table Top Simulator script. But ended up learning so so much more. Gustavo teaches with passion and is so relatable. I will be taking more of his courses for sure."
Learn the Lua Scripting Language
31 Mar 2022
Thorbjørn Hedegaard
"Great for learning C++ and Lua! I think that this was a good way to get into C++."
C++ 2D Game Engine Development
30 Mar 2022
Tauan Flores
"Just do it. Amazing course, I've read a lot of books about make c++ engines using libraries to try to start learning, but this course makes everything simpler for your journey, i would recommend do this course and the continue your studies."
C++ 2D Game Engine Development
26 Mar 2022
Daniel Naranjo
Daniel Naranjo
"Great explanation of bit shifting. I came across this wonderful site by accident, the content is clear, well structured and with precise examples."
Understanding Bitshift Operations
26 Mar 2022
Benjamin Singh
"Short & good! A short and good introduction into the concepts and inner workings of Game Loops. Looking forward to the more advanced courses of Gustavo!"
Creating a Game Loop with C
24 Mar 2022
Alan David Rojas
"Good foundations. This course gives a good math foundation and examples to understand bit shifting in modern high-level programming languages. The instructor takes the time to explain the main subject with examples which enhances the learning experience."
Understanding Bitshift Operations
21 Mar 2022
Benjamin Singh
"Excellent! I only expected to learn how bit shifting works but in addition to that I learned about compilers, programming languages, assembly code, processors, video game history and some nice math tricks. This guy is simply on another level!"
Understanding Bitshift Operations
17 Mar 2022
Andres Mata
"Awesome course! This course really helped me to fill in the gaps. Gustavo is an excellent teacher and I enjoyed this journey to the intricacies of the VCS programming a lot."
6502 Assembly for the Atari 2600
15 Mar 2022
James Smith
James Smith
"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."
Raycasting Engine Programming with C
13 Mar 2022
Ednildo Silva
"Very good!"
Game Physics Programming
07 Mar 2022
"This course FAR exceeded my expectations.

I bought it with the aim of building a DialogueBoxSystem, a la Final Fantasy. While that particular Component/System combo was never created, the course provided enough examples that building one from scratch won't be a problem. Another bonus? This course upgraded my game coding skillset from the 90s-era "No framework for you, tiny Shareware dev" to the modern ECS style. I'm definitely a happy customer."
C++ 2D Game Engine Development
06 Mar 2022
Richard Hewett
"Excellent content and presentation! I'm taking the Lua Scripting course and taking this short course on Pikuma. Gustavo is an excellent instructor and I'm glad I found Pikuma on that site. I look forward to completing the Linux Terminal course and taking a graphics programming course."
Creating a Game Loop with C
06 Mar 2022
Nitin Deshpande
"Precise explanation!"
Understanding Bitshift Operations
06 Mar 2022
Kris Inniss
Kris Inniss
"Short, sweet and to the point.

This course covered concepts very well and in short spurts which is perfect for me. The instructions are clear and concise. Looking forward to more videos."
Creating a Game Loop with C
05 Mar 2022
Benjamin Komar
"Clean and fast explanation."
Understanding Bitshift Operations
02 Mar 2022
T Young
"The perfect course I was looking for.

I was recommended this course from the SDL forums and it's perfect for making a game engine.

Gustavo has a lot wisdom to share and I'm learning a lot."
C++ 2D Game Engine Development
22 Feb 2022
Emilio Ganibegovic
"In depth and good course! This course is very good for people who are new to Linux and the course is very detailed and you are guaranteed to learn a lot from this course."
Learn Linux Shell and Bash Scripting
20 Feb 2022
Guilherme André Welter
Guilherme André Welter
"Direct!"
Creating a Game Loop with C
19 Feb 2022
Bill Jones
Bill Jones
"Bravo! Outstanding Content.

Clear & Concise. I absolutely loved this course and I only wish there was a part two for refactoring and perhaps showing how to build a game GUI with state transitions. I know the course has some older versions of Lua and Sol but overall I used all new SDL2 components and have the game running on Windows & Mac (M1).

If you want to understand C++ ECS Systems with component templates then this is the course for you!"
C++ 2D Game Engine Development
19 Feb 2022
Bob Marth
"One of the most invaluable courses for new people interested into game programming!

Gustavo Pezzi is one of the best online teachers I've come across. He explains some of the most important concepts when getting deeper into programming and his teaching style really made things I struggled with on my own (Components/Systems/Adding Lua) a complete breeze.

I have all of Gustavo's courses and I've enjoyed every single one of them and have always came out a better programmer because of them. If you are new you will eventually come to an obsession about design patterns and components and it can really throw you for a loop. Something about having something all sync together nicely is very rewarding. He explains a great ECS design and provides reason why he went the route he did. Components, Systems, Animations, Data Oriented Design, and even gives you the keys to learning how to incorporate Lua. He also drops in a little bit of Dear ImGui a popular GUI library used a lot of the time for debugging (you see it everywhere).

Complaint: I'd love to see an efficient scene/state machine, quad trees, and some pathfinding, but it's impossible to dock any points based on all the content stuffed in this course. My really only complaint, and it's a petty one, is I wish there were even more exercises to really challenge the concepts learned in the chapters. This is something anyone can do themselves, but it's nice having someone as great and experienced as Gustavo providing the challenge so you could be sure to stay on topic and perhaps not adventure to far off of the point. With that said he does challenge you to create a map editor at the very end. I personally rather read Tiled Editor maps exported to the Lua format. Thanks Gustavo! Looking forwards to any future courses, I'll be first in line. ;)"
C++ 2D Game Engine Development
17 Feb 2022
Francesco Puleio
"Well spoken and delivered, makes the process so far easy to follow and provides an understanding of the next progression in the journey."
6502 Assembly for the Atari 2600
14 Feb 2022
Jaikrishnan Arun
"Nice Intro to 2D Game Engine. I really enjoy the pace and how the instructor explains everything but I have some gripes with the architecture of the engine and how object oriented it is. I get that C++ is part of the industry culture and most studios use OOP but in this course in particular I feel as though the instructor falls to OOP through rote mechanisms and doesn't really give a sense of why OOP helps or why some of the structures need to be so fleshed out before it sees any use. The development feels as if it is prioritizing the fleshing out of pre-known structures first and does not seem to be informed by immediate needs and for a lot of the times I'm relying on faith that these structures will make sense later. Another point I would like to bring up is the use of modern C++ "features" such as templates and generics in a course that claims to be data oriented. I love that the course has a section on data oriented design and speaks about memory and encourages the learner to think about how things are laid out in memory but at the same time, the use of templates and smart pointers - while it helps the programmer sometimes, they also betray memory contiguous-ness and introduces pointer redirection and overhead - all hidden from novice programmer. And lastly, the use of so many libraries in a course that claims to be "from scratch". I get that these libraries help and don't really affect the game-play much v/s a hand-rolled one, but the course is hardly from scratch anymore so why make that claim. I know I pointed out a lot of my frustrations with the course but now that that has been said, I am thoroughly enjoying the course and am learning a lot despite my frustrations. I am following along in C and not using any libraries - mostly using the course as a guide rather than a complete follow along and I am learning a lot and I am glad that this course exists."
C++ 2D Game Engine Development
12 Feb 2022
Steven Mycynek
Principal Engineer at Onshape
"Excellent!

Goes over fundamentals, not just end results. I found this class extremely rewarding."
Learn 3D Software Graphics Programming
09 Feb 2022
Welton Leite
Camper at 42 São Paulo
"I learned a lot from this course, impressed by the quality and depth of the explanations.

Hello from 42SP! =D"
Raycasting Engine Programming with C
07 Feb 2022
Peter Gruessing
Author at Sensation Interactive
"I am about 60% through the course and its been a real treat! Even though I have been in IT for years Gustavo's teaching style and patient explanations of key topics are a real breath of fresh air.

I have taken courses on Udemy, Skillshare, Codeacademy, and others and not many come close to the level Gustavo is currently teaching at. Bravo!

Take this course you wont be sorry you did!"
Learn Linux Shell and Bash Scripting
05 Feb 2022
Alex McCulloch
"This is an excellent course and a great entry level to understanding and creating a Physics Engine.

I have bought numerous books and videos on video game physics but never got anywhere because the math and C++ code was to difficult to understand. I am impressed that I was able to understand the calculus in this course as I barely have any experience in calculus. Not only that I also have little experience in C++. The instructor simply knows how to simplify difficult topics and makes it possible for anyone with a high school degree to learn video game physics given they touch up what they do not know on Khan Academy."
Game Physics Programming
03 Feb 2022
Fábio Cardoso Chagas
Engenheiro de Processos
"Gustavo, you are a true educator. Your method is the best way for 100% comprehension of computer graphics. Thx a lot!!!"
Learn 3D Software Graphics Programming
01 Feb 2022
Anders Jensen
"This is probably one of the best resources for beginners or people who would like a deeper understanding of the fundamentals of graphics programming. Everything idea and every line of code is explained in detail and at a good pace. The progression from topic to topic is very well thought out and feels like natural progression all the way through. And the end product is a really cool little engine that people can use to implement more techniques and just have fun expanding upon for further learning.

At this price tag this course is an absolute steal for anyone interested in the subject.

Very well done!"
Learn 3D Software Graphics Programming
24 Jan 2022
Charmaine Carby
"Excellent course! The lecturer is very good at imparting the knowledge of Linux - Just a great and awesome way of giving exercises and be able to understand the core principles"
Learn Linux Shell and Bash Scripting
24 Jan 2022
Alexandre Garcia
Alexandre Garcia
"The OOP section was a life changer and helped my game's data structure."
Learn the Lua Scripting Language
19 Jan 2022
Anton Yarkov
Principal Software Engineer
"Dreams come true! Any programmer tries to create games at some point of their life. I'm NOT a game developer, not a UI or graphics developer. However, I did write some 2D games during school, then during university and even at some point of my professional programming career (when some company asked me to write a simple OpenGL game as part of my interview process). I know there are good books on game development, but you always have something else to read then you are not not involved in a game industry fulltime.

This course is a rescue for those who are busy with daily routine job, but still curious on how things actually work.

Gustavo introduces all basic graphics concepts with the approach that is nice & easy. Using pure C allows us to focus on exactly what we need to know and avoid unnecessary abstractions or spending time to configure something unrelated (like database or libraries, etc.).

This course is amazing! Definitely recommend to everyone from 10 to 99 years!"
Learn 3D Software Graphics Programming
17 Jan 2022
Carlos Sánchez Cazorla
"Great content and great explanations!

You are a genious at explaining hard concepts, Gustazo.

It is amazing how you make hard things fun :)"
Game Physics Programming
09 Jan 2022
Pablo Sanchez
Pablo Sanchez
"Amazing course!I am so so so happy that I bought it! Gustavo is what I call a teacher by heart! You can tell that he enjoy teaching you stuff! If you want to learn something meaningful, just start looking at the beauty of Atari 2600 and his MOS 6507."
6502 Assembly for the Atari 2600
05 Jan 2022
Yijie Shen
"The best graphic programming course! Very informative course and a lot of new knowledge that I never knew. Thanks for your teaching. I strongly recommend it to anyone who wants to learn graphic programming."
Learn 3D Software Graphics Programming
01 Jan 2022
Peter Lous
"Best course on game physics! I've always been curious on how physics were implemented in games. And truth is that physics was not my best subject on school. But Gustavo really explains all the math behind a physics engine is a very clear manner. You can code along, build your own physics engine and understand everything behind the scenes! Very satisfying! Looking forward to the 3D physics engine course."
Game Physics Programming
26 Dec 2021
"Honestly one of the best courses I have ever taken!

In those 35 hours I've not only learned a lot, but also had a lot of fun and I'm super happy now, that I know so much more about such an exciting topic than before I started this course several weeks ago.

Gustavo has an amazing talent of breaking quite complicated things into smaller, much much easily understandable pieces. I love his step-by-step style of learning and "let's do it from scratch to really understand it" attitude.

I would definitely recommend this course, there is no other course that goes so deeply into game physics as this one.

I am looking forward for more Pikuma courses!"
Game Physics Programming
23 Dec 2021
John Reder
Founder TacticalNeuronics.com
"Great Refresher and I actually learned some new things! My last formal UNIX class was in the middle 90's when I worked for NCR (at the time an At&t company)! One of my instructors was a developer of S5R4-MPRAS which was a big deal back them. For the past 25 years I've been mostly a Windows and web developer but I play around a bunch with Raspberry Pi projects and have been tinkering with many Linux based projects and even poking through code for some Vectrex development projects on the PiTrex a Pi Power Vectrex card that hijacks the old GCE Vectrex hardware for all kinds of new vector tricks not possible with the 6809 processor. This course cleared up a ton of what I was fumbling through on the gcc side. Thanks!"
Learn Linux Shell and Bash Scripting
22 Dec 2021
Ross Kuehl
"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."
Raycasting Engine Programming with C
11 Dec 2021
Oliver Brown
"Great so far.

Just got through all the Math stuff and it was wonderfully explained."
Game Physics Programming
11 Dec 2021
Joe Plain
"The best teacher I ever had and the best courses I have ever seen!

I took many video tutorials and read many teaching books for the last 20 years, but I have never had a teacher as good as Gustavo! His teaching style and tutorials are so interesting, fun and easy to follow that I watch them in the evening instead of Netflix or a movie.

I wish I had teacher like that 20 years ago when I first tried to learn programming but gave up because books and tutorials were too boring and not easy to follow. Also in the end they left you with knowledge that is not really useful or enough to do anything that is close to the finished product. Another great thing with Gustavo is that in the end you really make something. Almost a whole game.

I never wanted to learn databases, I find them too boring, but if Gustavo makes database course I will learn them too! He is that great of a teacher! Even database course would be fun and interesting."
C++ 2D Game Engine Development
03 Nov 2021
Al Curtis
Al Curtis
Computer Programmer
"As a professional programmer, I have taken many online classes both for fun and as for training on new technologies. This course is one of the best I have ever purchased. I would highly recommend this class for anyone that wants a firm understanding of 3D graphics programming. Well Done!"
Learn 3D Software Graphics Programming
30 Oct 2021
Manuel Cabrerizo
"Excellent course!

It exceeded all my expectations, and I am very happy with the course."
Game Physics Programming
21 Oct 2021
Hannah Kloepper
Hannah Kloepper
"From the moment the class first started, to the very end - I understood EVERY concept he brought to the table. The exercises REALLY help solidify and test your knowledge. Also, they're super fun! I had so much fun with this class! I can't wait to continue to learn more about Lua and truly become a master! Thank you Mr. Pezzi!"
Learn the Lua Scripting Language
20 Oct 2021
Diren Bharwani
Diren Bharwani
"Perfect course for those who want to learn physics simulations.

Great course, well taught. Contains all the required information for robust physics simulations, taught in a incremental manner that's very helpful when trying to understand the insane math behind it."
Game Physics Programming
15 Oct 2021
Maurice Blaks
"Amazing!

I have started this course and already I am beyond excited, this course will give me an understanding of an awesome field in computing.

From this course I can even use the practical mathematics learnt in my own projects, so this is truly an amazing course."
Learn 3D Software Graphics Programming
27 Sep 2021
Steven Johnson
"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."
Raycasting Engine Programming with C
11 Sep 2021
Javid Gajievi
Javid Gajievi
"We are lucky that Gustavo decided to make this course. I have just finished 50% of the whole course. The 50% blew my mind and I am very, very exited to finish the rest. I cannot stress enough how important this course is for any graphics programmer to understand how everything work from graphics API's to mathematics and algorithms applied on them."
Learn 3D Software Graphics Programming
07 Sep 2021
Shawn Wheatley
"I’ve completed about 15% of the course and so far it has been fantastic.

The teacher provides great, in-depth explanations each step of the way. Highly recommended if you want to know how a basic 2D game engine is built in C++ and SDL."
C++ 2D Game Engine Development
06 Sep 2021
Wamiq Ur Rehman
Wamiq Ur Rehman
"This is the best course I took. Teacher explains everything like you would study in a class and I think that's really beautiful. He covers really complex topics, well for me they were kind of complex but he taught them in the way that I really feel comfortable with 3D graphics programming and mathematics. Thank you for making this course please keep making more I love it!"
Learn 3D Software Graphics Programming
02 Sep 2021
Meniscus Sunrise
"Excellent Every step covered and explained in detail."
Learn 3D Software Graphics Programming
02 Sep 2021
Michael Leung
"This is one of the most thorough and best courses I've ever done on game development, and I've done quite a few. The information is easily digestible and useful. The structure of both the course and engine are beautifully organized. There are also plenty of opportunities to implement what you're learning through exercises. This is a must-have course for anyone looking to build their own 2D game engine. I can't recommend it enough."
C++ 2D Game Engine Development
01 Sep 2021
Luis Gonzalez
Doctoral student at UCLM
"Wow. That's it. I can't summarise this course in any other way than just saying 'Wow'.

This is, by a huge margin, one of the most interesting, if not THE most interesting course I've ever taken.
I've always been curious about how general computer stuff works under the hood, and 3D-graphics rendering was one of the things that most piqued my curiosity. And since this course goes through all the nitty-gritty of every single rendering step, such curiosity has been fully satisfied. And, oh do I now know how rendering actually works! Being able to see the result of the developed code in a screen really adds up to the satisfaction this course has brought to me.

I just want to say: BRAVISSIMO! I'm now more than hyped for that physics programming course... :-D"
Learn 3D Software Graphics Programming
13 Aug 2021
"I've been looking for a long time for a course like this, where things are explained step by step, without magic tricks or black boxes. I really appreciated how this course provides a detailed birds-eye view of the fundamental aspects of a small but functional game engine. Being a gamedev and an engineer, I like to build things from the ground up, and understand what I am doing in the process. This course gives you the basic building blocks upon which you can create and expand, strong in the knowledge of what is the right approach to pursue."
C++ 2D Game Engine Development
01 Aug 2021
"As with all Gustavo's other courses - absolutely amazing!

I enjoy all content from Gustavo, this course is no different.

Gustavo is an incredibly knowledgeable lecturer with a talent for teaching and explaining complex topics!"
C++ 2D Game Engine Development
15 Jul 2021
Özgür Karter
"I've been an online student of mr.Pezzi since I got his 'C++ 2D Game Engine Development' and 'Raycasting Engine Programming with C'. Just wanted to check his 'Create a Simple Game Loop with C & SDL' tutorial and I was not disappointed.

Very clear on the subject and as usual he starts to tell the subject from scratch."
Creating a Game Loop with C
12 Jul 2021
Zack Shrout
"Gustavo Pezzi is a legend - every course I have taken from him has been right on the money."
Learn 3D Software Graphics Programming
02 Jul 2021
Stuart Hunt
"As an experienced programmer, this was really just for fun and to refresh various things I’d not used in a while, but I really enjoyed it. Gustavo (as always) explains everything very clearly, with a particular focus on the why and how. You’re never just presented information as a black box or thrown in the deep end, you’re taken through the maths and algorithms in a clear manner that anyone should be able to understand. At the end of the course, you’ll have a much better knowledge of how 3D graphics are built from the ground up and how it all works together. The end result of drawing 3D models, and knowing that you calculated every vertex, triangle and pixel is extremely satisfying. Highly recommended for anyone interested in 3D."
Learn 3D Software Graphics Programming
19 Jun 2021
Alex C
"Perfect balance of hands-on and conceptual teaching! I am loving this course. Every other course on programming I've taken has either been focused only on hands-on programming while neglecting to teach fundamental concepts, or focused way too much on conceptual teaching while neglecting to give decent hands-on exercises to solidify what the student has learned. I knew this course was good when the first challenge was at just the right amount of difficulty. It took me a few minutes to figure out but the hands-on teaching combined with the fundamentals put me in the perfect place to figure it out on my own, and in my own creative way. I will say that some of that confidence did come from knowing some C already, but I only have basic proficiency in the language."
Learn 3D Software Graphics Programming
03 Jun 2021
Damien Hanns
"This is an brilliant course. Teaching great, methodical and easy to follow. Content great, well organised and covers the subject areas well. Pacing of the course was really good, always moving forward but not too fast. Instructor was easy to understand and responsive to questions and issues. If you are interested in this course, even just a little, I would definitely recommend you enrol. My experience with this course has been so good that I will definitely be going on to the other courses available on this website. 5 stars, easily earned."
C++ 2D Game Engine Development
26 May 2021
"Absolutely the best! I thank you Gustavo for being the best teacher available today that someone could ever hope. This was astonishingly good, I feel that I would not be able to do a 3D graphics renderer without a massive review. But I really do understand what knowledge I need, everything that I need to do, I learnt a lot about the math needed and what it is most important, I feel that the path is clear from now on and I can keep going doing anything, if you ever do some modern graphics API just contact me that I'm really going to do, while waiting, I'll keep following you on twitter!"
Learn 3D Software Graphics Programming
01 May 2021
William Wheelock
"I've spent the last 25 years writing code with high level programming languages and have only recently begun to explore the roots of the code. This was a highly informative and entertaining way to start learning assembly."
6502 Assembly for the Atari 2600
26 Apr 2021
Ben Pavy
"If you cannot program lua fairly well once you have finished this course then sorry but you have got problems.

Great course, 5/5!"
Learn the Lua Scripting Language
26 Apr 2021
Ajinkya Borade
Ajinkya Borade
"Once you learn C++ Basics this course is what you should take. It will make your learning journey in C++ OOP great course for 2D gamedev. I'm using windows and had no trouble following the course."
C++ 2D Game Engine Development
26 Apr 2021
Roman Agarounov
"Awesome course!

One of the best in the internet, learning a lot from it - very easy for beginners too!"
6502 Assembly for the Atari 2600
23 Apr 2021
Joseph Kennedy
"I recently finished Gustavo's Assembly language course for the 6502 CPU, and I was impressed with the content and how easy it was to build a full Atari game. This course is equally impressive and easy to understand, and I came into it with a small amount of C++ experience. I am still early in the course, but I am so excited and happy with this course that I want everyone to know Gustavo is an outstanding teacher! The skills he has taught me will serve me well as I pursue a software engineering career this year in Silicon Valley. Thank you so much Gustavo, for being the best teacher I have encountered for computer programming. I shall not forget where I started and how much you have helped me :-)"
C++ 2D Game Engine Development
07 Apr 2021
Joao Cassis
"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."
Raycasting Engine Programming with C
22 Mar 2021
Alberto Marcos Martinez
"I have really enjoyed this course.

I can't recommend it more for people who want to learn how things work in 3D computer graphics.

An essential course without any doubt!"
Learn 3D Software Graphics Programming
10 Mar 2021
"An invaluable resource for learning computer graphics.

This course is one of the best resources on fundamental of CG available on the Internet."
Learn 3D Software Graphics Programming
06 Mar 2021
Ian Jones
"A nice, quick taster of the world of games programming. In this course you'll learn all that's needed to create a basic game loop in the C programming language using the SDL2 library. It concludes with an exercise to develop your own skeleton Breakout game. Don't worry there's no vectors, matrices, transforms and other hard maths to get in your way. Learning with Gustavo is far more engaging than reading a book."
Creating a Game Loop with C
09 Feb 2021
Jason Piloti
"It's the best course than I see"
Creating a Game Loop with C
03 Feb 2021
Ji Park
"This Course Great "C++ 2D Game Engine Development" was a great course. For many years, I wanted to create a game from scratch without using any popular game engines. I was curious about how a lot of games worked under the hood. His teaching style and pace were very good. Also, the exercises helped very much to reenforce the learning. I am so happy that I now know the fundamentals of creating a game engine. This felt like I have been well educated on the fundamentals of the subject matter. I am so glad that I took this course."
C++ 2D Game Engine Development
02 Feb 2021
Jason Piloti
"It's the best course than I see!"
Raycasting Engine Programming with C
01 Feb 2021
Peter Bessman
"Great intro! A nice overview of the heart beat of any game: the main loop."
Creating a Game Loop with C
31 Jan 2021
Dustin Clark
Controls Engineering Technologist
"This was a wonderful course and provided great insight of how to start a game engine. There is still plenty to do and to continue my education of game engine programming, I will take what I learned from this course and try to build an editor from some the the concepts. I recommend this course to anyone that is interested in game engines and c++ as a wonderful introduction. Thank you Gustavo, I look forward to taking some more of your courses in the future."
C++ 2D Game Engine Development
30 Jan 2021
Joan Sabater
"Amazing teacher"
C++ 2D Game Engine Development
29 Jan 2021
Pedro Ganme
"Fantastic"
C++ 2D Game Engine Development
26 Jan 2021
Nicholas Helish
"Fantastic Course! Everything was explained clearly and concisely."
Creating a Game Loop with C
26 Jan 2021
Nicholas Helish
"Extremely detailed and informative. This is a fantastic course explaining bitshift operations and definitely cleared up my misunderstanding of them thank you!"
Understanding Bitshift Operations
26 Jan 2021
Javid Gajievi
Javid Gajievi
"The Best Course I've Ever Taken! Thank you Gustavo Pezzi! While learning game programming, I also gained deep insight into C++ and Game Development. I am very much excited to see more from Gustavo!"
C++ 2D Game Engine Development
26 Jan 2021
Dylan Bennett
Tech officer at Portland Indie Game Squad
"Absolutely phenomenal course!

This was one of the best online courses I've done in a *long* time.

The progression of topics is extremely smooth and well-thought-out. The depth that each topic covered is just right so as not to overwhelm you, but also not leave you in confusion as to what exactly you are doing. You finish the course with a sense of skill, empowerment, and inspiration, rather than feeling like you only have the know-how to implement *exactly* what was covered in this course and no more. It's the mark of truly good educational materials.

I already had a fair amount of coding experience in languages such as C#, Python, and Lua, but almost zero experience with C++. This course was perfectly pitched to my level of experience. It didn't try to go through extremely tedious explanations of basic programming concepts, but rather it respected my time and existing knowledge and gave me the information I needed to understand what we were doing in C++. There were also plenty of times where fundamental C++ concepts were repeated so as to really drill them in for people inexperienced with C++, and I really appreciated that.

Another thing I loved was that the instructor is writing all the code alongside you from scratch. Every file starts out blank and is filled character by character, line by line, as you build up the code. Sometimes intentional directions are taken that have to be back-tracked and changed or fixed, but it's not because of incompetence or bad planning in the course, but rather to give you a further understanding of *why* you are doing something, not just blindly following along with what's being typed. And to top it off, all the code is being written in a visually bare-bones text editor (vim), which means that the focus is on the *code*, not a fancy IDE and all its bells and whistles being a distraction. This is more important than it sounds. (This doesn't mean *you* have to use vim, of course, but having the code written this way by the instructor is very powerful for keeping the focus on the code you are writing.) Only a couple times toward the very end of the course is there code for a lesson already written, but by that point it's appreciated and it's actually a respect of your time.

Lastly, the number of powerful concepts packed into this course is just gold. I mean it. It's astonishing that this one course delivers all that in a streamlined, easy-to-understand, easy-to-follow set of steps. You could easily have an entire course on just using SDL, or just how the Entity-Component-System architecture works, or how to embed Lua into your C++ program. On top of that, it would have been so easy for this course to be just a messy jumble of those concepts all crammed in together, with no real separation of ideas. Instead, this is laid out in such a way that each topic is approached smoothly and in a way where you feel like you have a solid grasp of it before moving on to the next topic. I am an educator myself and have written my own coding courses for all ages and experience levels. I recognize the monumental amount of work that has gone into making this course what it is.

Trust me, you don't want to pass this one over. It is well worth the money.


Thank you very much for creating this course! My head is bursting with ideas for so many new projects directly as a result of what I got out of this course."
C++ 2D Game Engine Development
25 Jan 2021
Sebastian Cruz Jara
"Awesome! Interesting things and well explained!"
Creating a Game Loop with C
24 Jan 2021
Test Acc
"Really Good Raycasting Course. I am taking this course for making a game for a game jam, it is going really well and there are very in-depth explanations for almost everything in raycasting"
Raycasting Engine Programming with C
22 Jan 2021
Anders Krog
"Fantastic cource. Learned a lot, not only about raycasting but also about c, refactoring and math."
Raycasting Engine Programming with C
19 Jan 2021
Anton Yarkov
"Very clear and nice for beginners"
Understanding Bitshift Operations
15 Jan 2021
Anders Krog
"Makes coding fun. I normally don't like learning by videos. But This cource is really easy and thorough. Also great for refreshing some math."
Raycasting Engine Programming with C
14 Jan 2021
Arash Amiri
"Very good course! Learned a lot. Thanks Gustavo for the great explanations."
Learn 3D Software Graphics Programming
14 Jan 2021
Nahua Kang
"Short and Sweet Intro to Bitshifting. The 1-hour lesson is very easy to follow and to the point. It's a great introduction to thinking about bitshift and bitwise operators without the unnecessary fear!"
Understanding Bitshift Operations
12 Jan 2021
David Cordero Chavarría
"A very good introduction to a fundamental concept in videogames.

This was the first time I've programmed a game "from scratch"
, I think the choice of C is interesting, I like the amount of control it gives you, and also how it forces you to think about how to make it run as fast as possible so you don't notice "lag" in the game, even with only 2 moving objects in 2D, you CAN make it slow"
Creating a Game Loop with C
07 Jan 2021
Guilherme Silva
"The explanation was very nice. Congratulations"
Understanding Bitshift Operations
04 Jan 2021
Karl Phillip Buhr
Software Engineer & Professor at UNOESC
"3D Computer Graphics for Dummies. This is a fantastic course on the fundamentals of Computer Graphics where you learn how to code step-by-step a complete 3D renderer. The intuition offered for the 3D math operations alone is worth many times the value of course. If you are not sure about Gustavo's ability to dumb down complex subjects, check his free course on "Raycasting Engine Programming with C". I look forward to do more CG related courses from Pikuma in the future. This was really really fun!"
Learn 3D Software Graphics Programming
03 Jan 2021
Magoninho Gamer
"Finally some good and free content about raycasting. I was searching for a beginner friendly tutorial about raycasting. I wasn't finding one that was easy to understand. Until I see The Coding Train video about raycasting, that recommended this course in the video's description. I'm so happy I found this!"
Raycasting Engine Programming with C
02 Jan 2021
Jannes Kaspar-Müller
"This was a really solid tutorial and it was for free!

Thank you very much for your time and clear explanations!"
Raycasting Engine Programming with C
26 Dec 2020
Wamiq Ur Rehman
"Just the teacher I needed. He taught way more than I thought I could learn this quickly. Thank you!"
Learn the Lua Scripting Language
24 Dec 2020
Joao Silva
"Amazing course.Every single video is super interesting, Gustavo really makes it seem easy and trivial to learn about programming, algorithms and trigonometry. I really like that he goes into so much detail about everything and codes along from scratch without assuming expert knowledge about anything. Absolutely recommended"
Raycasting Engine Programming with C
21 Dec 2020
Rho van Passel
"Awesomely insightful. This was an eye-openener with respect to raycasting. You get a good step-by-step course, with some assignments in between (recommended to spend some time on that by the way) and good explanations about the how and why things work like they do. If you have little programming experience you will be glad to hear that he choose javascript as the proof-of-concept language. If you already have some programming experience this will give you a multitude of thoughts about "hey but what if I try it like this?" He is very good at making people excited and motivated to delve more into this topic. Would highly recommend o/"
Raycasting Engine Programming with C
15 Dec 2020
Karl Phillip Buhr
Software Engineer & Professor at UNOESC
"I'm really enjoying '3D Graphics Programming from Scratch'. I don't know why its so cheap since its worth at least 100USD for the quality of the material, examples and explanations."
Learn 3D Software Graphics Programming
11 Dec 2020
Joao Silva
"Really good beyond expectations. I'm almost done with course but I'm very (pleasantly) surprised with the level of detail explaining the concepts that we're covering with every step. I'm no C developer but I'm considering buying the full course just because of how well everything is explained, it'd be a good challenge and learning experience. Some constructive feedback though, the quality of the video could be a little better. Even though the video quality automatically selects 1080p it's clear that that is not the case. Just for consideration on future recordings, thanks for the great course!"
Raycasting Engine Programming with C
11 Dec 2020
Joao Silva
"Interesting and helpful.

This was a short but very helpful and interesting course on how a typical game works.

For me, it also served as a gentle introduction to C and SDL and the challenges were welcome as I'm exploring more about the game development topic."
Creating a Game Loop with C
11 Dec 2020
Rho van Passel
"Extensive. If you're starting out with diving into game development, this course actually has a few topics that are very interesting.

SDL: First of all, they give you a good explanation of instaling SDL (for the 3 main OS'es)
Game loop: They give you a tour of actually building the game loop from the ground up; All steps are clear and very small. You see it happening before your eyes.
Makefile: if you were wondering about what a Makefile would be; He actually explains that too.
Nice example: You end up with a basic skeleton of simple game;
Break-out. Extra: He gives some extra information (-with- examples) how you can tweak it a bit.
Quizes: There are a few quizzes, just to see if you got what he was talking about.
The end-project: You get a almost final code at the end, where he asks you to complete it;

He provides the commentary in the source code to give you some pointers as to where yp need to look. He also supplies (his version of) the working code. (But do try to do it yourself).

All the movies are reasonably short, and the whole Pikuma Platform remembers where you were when you come back. It is super helpful. This specific course is (was) free, but its quality is very high."
Creating a Game Loop with C
08 Dec 2020
Rho van Passel
"A quicky. A nice refresher, or introduction into bitshifting. They supply some examples where it is (was) used, and they conclude with an honest opinion about when to use it."
Understanding Bitshift Operations
08 Dec 2020
Karl Phillip Buhr
Software Engineer & Professor at UNOESC
"Amazing step-by-step Raycasting tutorial! This shouldn't be free! The instructor does a fantastic job reviewing all the required math for the raycaster in simple terms and with great examples."
Raycasting Engine Programming with C
06 Dec 2020
Dustin Clark
Controls Engineering Technologist
"I really enjoy learning these topics. I have already taken other courses by Gustavo ... and really enjoy his teaching style. I am looking forward to the next one."
Understanding Bitshift Operations
06 Dec 2020
Kirk Novitsky
"simple, quick, to the point. was the quick refresh i needed."
Understanding Bitshift Operations
18 Nov 2020
Sam Pollard
Sam Pollard
"Superb course! Nothing is left out. Everything is explained in crystal clear detail, and there's a perfect combination of theory and coding, all served up with a huge dose of Gustavo's obvious passion for the subject. You will learn a lot and have fun doing it. Gustavo really knows how to teach. Highly recommended."
Learn 3D Software Graphics Programming
15 Nov 2020
Dzhalil Akbashev
"Good course to review the knowledge. Just when I realised I need to check my bit shift knowledge found this course. Nothing new actually in the end, but I like they way how simple this course is. So good both for beginners and who wants to review his knowledge."
Understanding Bitshift Operations
14 Nov 2020
Stephen Tyers
"Excellent Course. I'm currently learning to code and I'm learning C. I stumbled upon this course after I was looking for some real-world projects to try in C post my initial syntax studyReally enjoyed it and a real eye-opener on how games work under the hood. I will definitely try the raycasting course."
Creating a Game Loop with C
12 Nov 2020
Leonardo Lee
"Great overview of the game loop.

I really enjoyed my time on this course, I've used youtube tutorials in the past, but they try to cut corners or make assumptions like using platform specific tools that not only throw a wrench in the tutorial, but detract from learning the concept. Another pitfall is that the content is curried towards non-programmers. By using a SDL and C it really removes a lot of the friction that other tutorials have had and focuses on the structure and logic of the program. I really appreciate the approach taken here!"
Creating a Game Loop with C
10 Nov 2020
Sam Pollard
Sam Pollard
"Would give 6 stars if I could. I can tell you that 'from scratch' is correct! - nothing is left out, everything is explained in crystal clear detail, and there's a perfect combination of theory and coding demos; Gustavo really knows how to teach. Highly recommended."
6502 Assembly for the Atari 2600
08 Nov 2020
Vsevolod Karateev
"Very good. Nice explanation"
Understanding Bitshift Operations
08 Nov 2020
Codes Otaku
"Really great explanation"
Creating a Game Loop with C
08 Nov 2020
Codes Otaku
"The best instructor I've ever seen."
Understanding Bitshift Operations
07 Nov 2020
Manuel Cabrerizo
"Excelente curso. Ele mejor curso sobre este tema"
Learn 3D Software Graphics Programming
04 Nov 2020
Alex V
"Thank you. Couldn't find any solution to make smooth game loop anywhere. Thank you a lot"
Creating a Game Loop with C
04 Nov 2020
Ednildo Silva
"Excelente. It is an excellent material about lua."
Learn the Lua Scripting Language
03 Nov 2020
El Kemmal Abdelhamid
El Kemmal Abdelhamid
"tnx for this course, I learned a lot from him"
Raycasting Engine Programming with C
01 Nov 2020
Houssame Riad
"very goood"
Creating a Game Loop with C
28 Oct 2020
Jorbenadze Nika
"Very Nice"
Understanding Bitshift Operations
24 Oct 2020
Bruce Sutherland
Bruce Sutherland
Senior Engineer
"Would give 6 stars if I could!
This is the second course I've taken from Gustavo and have enjoyed both immensely. Gustavo's courses are immensely educational, entertaining, and fun, and have rekindled my obsession with writing computer games. Thank you so much, Professor Pezzi!"
Learn 3D Software Graphics Programming
22 Oct 2020
Bruce Sutherland
Bruce Sutherland
Senior Engineer
"Wish I had instructors like Gustavo Pezzi when I was in University!

This is the second course I've taken from Gustavo Pezzi (the first one being Fundamentals of 2D Game Engines) and have enjoyed both immensely. I wrote my first computer game in 1985, and am now just starting work on my second one (despite having been a professional software developer for most of my adult life).

Gustavo's courses are immensely educational, entertaining, and fun, and have rekindled my obsession with writing computer games. Thank you so much, Professor Pezzi!"
Creating a Game Loop with C
22 Oct 2020
Pierre Boberg
"Very good course to learn the basics of Assembly, a lots of tips and tricks and very good teacher. I enjoyed it very much."
6502 Assembly for the Atari 2600
22 Oct 2020
Abhijit leihaorambam
"Best"
Raycasting Engine Programming with C
18 Oct 2020
Anthony Clark
"Very useful course. I liked the hands-on approach, though the explanations dragged on a bit at times. Overall, this course was well worth the watching time."
Raycasting Engine Programming with C
16 Oct 2020
Ednildo Silva
"Excellent. It is very complete and detailed material. Thanks a lot."
Learn 3D Software Graphics Programming
06 Oct 2020
Rafael Munhoz
Rafael Munhoz
"Very Very nice course. I was alone trying to learn from a book but there are some concepts that were too hard to understand alone."
6502 Assembly for the Atari 2600
01 Oct 2020
"Great Quick and Dirty Intro do C+SDL for Making Games. I, for one, really enjoy these bare bones exercises in building stuff. And game development can be this, nothing but a bunch of ideas, a compiler and a couple libraries."
Creating a Game Loop with C
01 Oct 2020
Fiz Savariz
"Basic, short and well explained."
Understanding Bitshift Operations
01 Oct 2020
Сайфуддин Евлоев
"Ray-casting on Js. This was the most amazing course on ray-casting i ever had, think you very much from Russia. I will definitely recommend it."
Raycasting Engine Programming with C
28 Sep 2020
Rafael Gallardo
"Great!!!"
Raycasting Engine Programming with C
23 Sep 2020
Darko Draskovic
Darko Draskovic
Graphics Programmer & IoT Software Developer
"Take this course :)
Easily one of the best computer graphics courses out there!
"
Learn 3D Software Graphics Programming
20 Sep 2020
Gulnoza Khodizoda
"Really clear explanation. I really liked this short course on Bitshift Operations, and would definitely recommend to anyone who is looking to understand this topic. Thanks!"
Understanding Bitshift Operations
19 Sep 2020
Cristobal Andrade
Full Stack developer at Motion Displays
"Exellent course. I really enjoyed much this course. Is a really good course in terms of fundamentals. Exellent professor. Thanks for the course."
C++ 2D Game Engine Development
15 Sep 2020
Baek Changhyun
École 42 France
"Cool! This course is wonderful. I can understand raycasting very easily. I love it!"
Raycasting Engine Programming with C
12 Sep 2020
You Ssef
"That was great. Tnx for this cours it healps a lot tnx."
Raycasting Engine Programming with C
10 Sep 2020
Fernando Romo
"Excelent!!"
6502 Assembly for the Atari 2600
06 Sep 2020
"These are best game fundamentals courses around! As usual, top notch educational material that is delivered by a master educator and easy to grasp!"
Creating a Game Loop with C
04 Sep 2020
Pieter Prinsloo
"3D Graphics Programming. Gustavo is true to his word as usual and teaches the fundamentals of graphics programming from scratch. I can really recommend this course to anyone who wishes to understand more about graphics programming and how it works."
Learn 3D Software Graphics Programming
04 Sep 2020
Jose Jacob
"Amazing course!"
Learn 3D Software Graphics Programming
23 Aug 2020
Diarmaid Harkin
"Thanks, Gus! Really enjoyable course. Helped me get to grips with basic game development."
Creating a Game Loop with C
22 Aug 2020
Ameya Paranjpe
"Very good course! Thank you"
Learn Linux Shell and Bash Scripting
14 Aug 2020
James Carnrike
"Great So Far. The first lesson was a great way to overview and establish the basics of trigonometry. He condensed what took my high school teacher 5 days to try to teach, to 30 minutes. I don't want to think about how long ago that was."
Raycasting Engine Programming with C
13 Aug 2020
Joyce Macksuele
École 42 France
"Now I got it. Finally understood bit shift :)

Thank you!"
Understanding Bitshift Operations
10 Aug 2020
Joyce Macksuele
École 42 France
"Awesome course. I'm a student of école 42 and I needed that house in my life haha Thank you sooo much. Your course was very good and all the explaining too :)"
Raycasting Engine Programming with C
06 Aug 2020
Peter Lous
"Great Course. If you really want to understand how one of the first 3D games for PC's is working (Wolfenstein 3D), then this course if for you!

Easy to understand explanations of the math involved."
Raycasting Engine Programming with C
02 Aug 2020
Flavio Carrara
Flavio Carrara
"Cannot escape from getting shifted! Awesome crash talk about bitshift! Gotta keep them shifting! Left, right, up, down; shift your bits all over the town!"
Understanding Bitshift Operations
29 Jul 2020
Alexander Spivak
"Thank you so much! The best introduction in raycasting! You are great man!"
Raycasting Engine Programming with C
19 Jul 2020
D T
"Fantastic course. The information is presented and explained very well, the instructor approaches the idea of raycasting using understandable diagrams and examples."
Raycasting Engine Programming with C
12 Jul 2020
Hello World
"Amazing Teacher! and Amazing Course! Thank you so much for making this course, everything was very easy to follow and i had lots of fun learning about raycasting!"
Raycasting Engine Programming with C
05 Jul 2020
Potato King
"Excellent course. I really liked the detailed explanation of every detail in an understandable language. The course is also well suited for a person who is not very good at mathematics, as it motivates everyone to figure it out well."
Raycasting Engine Programming with C
04 Jul 2020
Kh Al
"Great course.

Finally took the time to understand bitshift operations (clear and concise), and the explanation uusing base10 at the beginning is a huge help"
Understanding Bitshift Operations
01 Jul 2020
Peter Lous
"Great Course. If you want to learn the fundamentals of 3d graphics this course is for you! Easy to follow explanations. The teacher really wants you to understand everything! I hope Gustavo will create a follow course to explain more advanced topics. Or a course to build a ray tracer or ray marcher"
Learn 3D Software Graphics Programming
26 Jun 2020
Ajay Khanna
"As a long-time programmer, this course felt like a going on a great short vacation with an excellent guide. Gustavo informs everything with a delight in what can be achieved by clever hacking with limited means, and can be very subtle with depth (for example, I first thought the scoreboard was an odd choice for a long video, but it turns out that it involves some sweet bit-masking and opens the door to asymmetric playfield rendering)."
6502 Assembly for the Atari 2600
19 Jun 2020
Andrew Douglas
"This course goes into details which are usually (if not always) omitted by other courses in this category. I liked that the math and actual algorithms were discussed before implementing them and student own problem solving opportunity was encouraged throughout. This course has enabled me to fill in the critical gaps in some of the most important fundamental concepts in 3D graphics programming. Hope to see more! Thank you."
Learn 3D Software Graphics Programming
19 Jun 2020
Pedro Gamne
"The best course on computer graphics for beginners. The most impressive characteristic of this course is the maths reviews. You really get to understand the logic behind each formula. Thank you!"
Learn 3D Software Graphics Programming
10 Jun 2020
Pedro Ganme
"The best course on computer graphics for beginners. The most impressive characteristic of this course is the maths reviews.

You really get to understand the logic behind each formula.
Thank you!"
Learn 3D Software Graphics Programming
10 Jun 2020
Bruno Vidigal
"Very very instructive!"
Raycasting Engine Programming with C
09 Jun 2020
Brandon Robson
"Great course, well explained and easy to follow!"
Raycasting Engine Programming with C
03 Jun 2020
Igor Semenov
"I'm working as game developer for 5 years, and it was always a black box all things that touch rendering stuff.

If you want to understand that black box you should definitely take this course!

Gustavo is a perfect teacher! Thank you a lot!"
Learn 3D Software Graphics Programming
31 May 2020
Tugsad Aydin
"Amazing Content"
Learn 3D Software Graphics Programming
30 May 2020
Eric Andrade
Eric Andrade
"Learn Ray casting algorithm easy peasy! Congratulations on your course Gustavo! Whether Assembly or RayCasting, you make things a piece of cake!"
Raycasting Engine Programming with C
26 May 2020
Gilles Sagnard
"Very interesting, I have loved te way you have explained this course.

In additional of my own research of the raycasting technic I can develop a little project in Lua with wall, floor and ceilling textures. It's very clear for me now !

The challenge is to draw doors now :)

Thank yoou very much"
Raycasting Engine Programming with C
25 May 2020
Abderrazzaq Khastaf
"Funny: Good and funny explanation, I learned what is mean bitshifting and the important thing there is no need to use it in this time :-)."
Understanding Bitshift Operations
24 May 2020
Jesse Brewer
"Clear and concise! This course is a clear and concise explanation of a basic game loop in the C programming language. I am a beginner to C, coming from a JavaScript background, and this was my first experience with making a game with C. I found the explanations to be thorough and clear, and I appreciate that we started with some basic implementation using a while loop and then improved our code using a different method. I was able to take the final code and add basic left/right collision detection to the paddle using what I learned from this course. Overall, I think this is an excellent starting point for new C programmers."
Creating a Game Loop with C
24 May 2020
Lucas Developmentos
"Very good explanations. Do like this course"
Raycasting Engine Programming with C
24 May 2020
Jon Asm
"Probably the best course I have ever enrolled on for computer graphics in C.

Even though I am an experienced programmer, the attention to detail and methodology has been excellent throughout. There isn't a single aspect of the code nor the mathematics that has not been explained thoroughly. Gustavo does a great job of introducing advanced concepts in such a way so that they can be understood and researched further by the student. In particular, his treatment of game loops and delta time which can be confusing for beginners was made clear and unambiguous."
Raycasting Engine Programming with C
20 May 2020
William Oliveira
"Great intro to Game Loop and Game Dev in general. It was a great experience seeing how things work more 'under the hood' and have a more in-depth explanation to why we have things like delta time and how the internals of a game loop works. Gustavo did a great job on explaining the concepts and keeping me interested during the course."
Creating a Game Loop with C
20 May 2020
Bilal ahmad
"Excellent"
Raycasting Engine Programming with C
20 May 2020
Jon Snow
"Very good project, excellent explanations. The course is very helpful, thx !"
Raycasting Engine Programming with C
18 May 2020
Kevin Yeo
"Excellent course, well presented in a logical sequence. I've been going through this course and the material is very well presented and delivered in a sensible and logical order. There are times when I have struggled and this is down to the devil being in the detail. Assembly language and assemblers appear to be very picky, so sometimes things like spaces matter and make the difference between disaster and success. However, when I've scrutinised the problem it's been remedied by carefully analysing everything and being very exact. This shouldn't put you off, I've been meaning to learn some form of assembly language programming and the Atari and the 6502/6507 is the perfect platform, you don't even need a console."
6502 Assembly for the Atari 2600
16 May 2020
Francisco Magalhães
"Simple and easy"
Raycasting Engine Programming with C
14 May 2020
Stephen Paton
"Interesting introduction to old-school programming. This was a very useful introduction to old school style programming and an informative breakdown of what exactly Bitshifting is and when and where it is appropriate to use it. Highly recommended!"
Understanding Bitshift Operations
13 May 2020
Jérémy Aldebert
"Very good course and very well explained. The course is very understandable. Everything is explained in detail with clarity. I am very happy."
Learn 3D Software Graphics Programming
10 May 2020
Steve Merritt
Steve Merritt
Senior Game Developer
"Simply the Best Online Lecture Series on 3D Graphics Programming.

If I could recommend one course to take whether you're an aspiring graphics/game developer or an industry veteran like myself, this would be my top pick. I wish I could have taken this course 20 years ago
when I was still just a college kid dabbling in graphics and game programming for the first time. Since then, I've read countless tutorials, articles, books, and blogs, watched a number of online videos on these topics, even worked with graphics programmers in the industry. None of these sources have presented the material as well as Gustavo has in this lecture series. His teaching style is engaging, intuitive, and to the point. He also does an excellent job of breaking down complex topics into digestible chunks. As each lecture or section concluded, armed with a new understanding or renewed sense of clarity on various topics, I revisited old books and source code that I had previously found somewhat daunting. It was an amazing feeling to read through these materials again and discover that I now understood the concepts being presented. Equally amazing was the ability to take these ideas and apply them to the very visual, working example software renderer that is developed throughout the course. To add icing on the cake, Gustavo is also very active in lecture discussions and readily answers questions. He also takes the time to revise course material when necessary rather than just posting errata as other instructors tend to do. This course is an incredible ride from start to finish. Gustavo not only teaches the fundamentals of 3D graphics, he also teaches mathematics that are widely used in many areas of game development. By the end, you will have gone from drawing a single pixel on the screen to rendering a fully textured, lit, culled 3D model, and know the math and algorithms that make it possible! You will also have a greater appreciation and understanding of how modern graphics APIs work under the hood."
Learn 3D Software Graphics Programming
08 May 2020
James Rozee
"Excellent Details. The instructor explains all of the details about Raycasting with simple and easy to understand illustrations. So even if you're like me and missed or don't remember your high school trig, you'll still understand what is going on."
Raycasting Engine Programming with C
06 May 2020
Steven Litt
Professor at New York University
"This class is a great primer on the basic practical concepts you need to understand in order to make a game in 6502 assembly... I'm happy to say this class was one of the coolest things I've done in a while!"
6502 Assembly for the Atari 2600
05 May 2020
Caio Vinicius
"Awesome! Cara, sua didática é simplesmente incrível. Muito obrigado por oferecer cursos gratuitamente criados com tanto carinho"
Raycasting Engine Programming with C
05 May 2020
Antonio Herrera Martin
"Excellent detailed introduction to raycast. It was a detailed very useful introduction to raycasting. It has a complete idea of what you need, and you can use the concepts to expand for whatever more advance development you want to do with the code."
Raycasting Engine Programming with C
05 May 2020
Javier Arzarello
"Muy buen curso.

Curso muy completo para la iniciación en la programación del Atari VCS, y en la iniciación en Assembly.

Muy bien dictado por Gustavo."
6502 Assembly for the Atari 2600
04 May 2020
Murilo Floriani
Game Developer
"Very well explained as usual"
Learn 3D Software Graphics Programming
02 May 2020
Joshua Torres
"Best Course to Learn 3D Graphics from Scratch. If you truly want to learn how things work under the hood when it comes to computer graphics, this is the course for you. You'll come out of here with a greater appreciation for mathematics as well. I myself want to learn more about engine development and this course has given me the confidence to pursue that."
Learn 3D Software Graphics Programming
01 May 2020
Alberto Marcos Martinez
"Great course about Linux"
Learn Linux Shell and Bash Scripting
01 May 2020
Ian Jabour
"A Quick, Enlightening Lesson. This was a fantastic resource for learning about bitshift operations. Definitely worth the time!"
Understanding Bitshift Operations
28 Apr 2020
Sławomir Grochowski
Sławomir Grochowski
"Awesome! Easy to understand with great examples!"
Raycasting Engine Programming with C
28 Apr 2020
Peter Hering
"Excellent Course. Gustavo presents clear and detailed explanations of raycasting concepts and provide understandable incremental examples."
Raycasting Engine Programming with C
21 Apr 2020
Diego Casanova
"Very good tutorial"
Creating a Game Loop with C
20 Apr 2020
N PA
"I wish I had this course at the beginning of my career ! As a self taught programmer (that is now working in the game industry) I wish I had this course at the beginning of my career. I bought it because I want to support those kind of materials! I basically learned all this stuff by myself through books and articles, but this course is a all in one place to learn them all at once, in a fun/approachable and motivating way that will make you save some precious time. Even if this is a good refresher for me and I already had the "clicks" before, I'll recommend it for anyone wanting to become a graphics/game/programmer !"
Learn 3D Software Graphics Programming
19 Apr 2020
"Can't recommend @pikuma's courses enough, Gustavo is so good at teaching maths and algorithms.

Give them a try if you haven't and want to learn some fundamentals of game and graphics programming."
Raycasting Engine Programming with C
16 Apr 2020
Kora Nonta
"Great tutorial. Easy to understand and follow Do make more courses"
Raycasting Engine Programming with C
13 Apr 2020
Ian Cherabier
"Ray Casting Made easy!

I never thought getting my hands on ray casting would be so easy and fun!

This is all thanks to the great talent for teaching of Gustavo Pezzi, who is extremely clear and structured in his way of presenting concepts! Can only recommend."
Raycasting Engine Programming with C
12 Apr 2020
Matthias Falk
"Excellent Course! Very well structured and delivered."
Learn the Lua Scripting Language
11 Apr 2020
Samuel Ward
"I think that Gustavo does a very good job of explaining the concepts, opcodes, syntax, etc. The video graphics are a superb addition. My only concern is this: I have a good bit of experience with Assembly language programming, so I am comfortable with the lessons and material; however, I wonder how someone with zero Assembly language programming experience will handle such a quick crash course. I am also a little skeptical that with the remaining 7 or 8 hours of instruction videos, Gustavo will cover enough material to give a new 6502/6507 programmer (like me) enough instruction to make that person comfortable / competent enough to actually write code for an Atari video game. I'm skeptical yet hopeful! So far I am pleased with the course."
6502 Assembly for the Atari 2600
10 Apr 2020
Antonio Herrera Martin
"Excellent introduction. It gives a basic but useful idea of how to start and how are the basic cogs inside a game engine. You can grasp the introductory concepts and start building from there into more complex topics afterwards."
C++ 2D Game Engine Development
08 Apr 2020
Antonio Herrera Martin
"Great Introduction. I has all the basic ingredients to start practicing and playing with the development of games for the Atari 2600, but it also can help to gain an insight in other similar consoles which possess similar characteristics."
6502 Assembly for the Atari 2600
31 Mar 2020
Benjamin Singh
"Awesome course! I took the course just for fun and I actually learned a lot! Now I'm curious learning more about game development and techniques. I'm definitely taking another course from Gustavo!"
Raycasting Engine Programming with C
31 Mar 2020
Miguel Gomez
"Liked it. Very brief but solid and clear explanation of the math behind the bit shift operations."
Understanding Bitshift Operations
24 Mar 2020
Miguel Gomez
"Awesome introduction to Game Loops: Awesome explanation of what the core of a game loop is. Everything one must know before diving into more complex game loops features/techniques."
Creating a Game Loop with C
24 Mar 2020
Llewelyn Griffiths
"Clearly explained with some great extra tasks. I really enjoyed this course, lots of information but clearly explained. There are also some optional extra tasks to do along the way as "homework" all of which felt challenging but not too overwhelming"
Raycasting Engine Programming with C
22 Mar 2020
Thijs Van Slooten
"Great lesson's. I was looking to make a 3d game like wolfenstein 3d but could never find a good tutorial/ course. but when i found this i was instandly hooked its ez to understand and follow. and its a lot of fun"
Raycasting Engine Programming with C
15 Mar 2020
Arnon Marcus
"Excellent course, one of the very best I've gone through. The material is walked through very meticulously and methodically, with lots of great visual aids. Every challenging point is identified and delved into appropriately. Most resommended!"
Raycasting Engine Programming with C
08 Mar 2020
Joel López
"Clear as water. It's so easy to follow along all the process, and even the trigonometry! Thanks!"
Raycasting Engine Programming with C
08 Mar 2020
Ryan Zola
"So Fun. This course was exactly what I was looking for! The instructor has a great understanding of the core concepts and explains them very well and at a very good pace. Will definitely be taking more corses by him."
Raycasting Engine Programming with C
08 Mar 2020
Zakaria El Baghazaoui
"A thanks: thank you for these helpful explanation"
Raycasting Engine Programming with C
25 Feb 2020
Brian Boucher
"Great course"
Raycasting Engine Programming with C
22 Feb 2020
Fatimzahra Saghir
"Excellent course , with great explanation!! Thanks!"
Raycasting Engine Programming with C
15 Feb 2020
Younes Bouddou
Younes Bouddou
"Excellent! Great course and great explanation."
Raycasting Engine Programming with C
13 Feb 2020
John Whipp
John Whipp
"Fundamentally Awesome! These are the fundamentals that so many other courses all leave out and take for granted. Seriously thanks so much for this!"
Creating a Game Loop with C
09 Feb 2020
Christian Clark
"Amazing course! I completed this course last summer while I was on a weekend vacation and got interested in Raycasting. This course explained the algorithms and math much better than most of the articles and tutorials I had found before discovering Pikuma. I really like Gustavo's teaching style and methods. By the time I was finished with this class I had a working raycaster and was able to expand and build upon it because I understood how it was working. I will definitely be getting the raycasting in C course now. Thank you so much Gustavo for making courses like these."
Raycasting Engine Programming with C
31 Jan 2020
Christian Clark
"Nice Intro to SDL: This was a nice introduction to setting up an SDL project and it covered the basics of making a game loop in a way that was easy to understand."
Creating a Game Loop with C
31 Jan 2020
Jason Gilroy
"Great Course. This is a subject I have approached on my own on a few occasions, but this is the course that helped me finally get the basics down at a fundamental level. It is definitely a "101", but I think that is why it is effective. It strips away a lot of the complicating factors for assembly (and atari) newbies like timers and esoteric addressing modes and presents the absolute fundamental basics in well ordered and structured way. If I have a complaint it's that the very end of the course tries to cram in too much into too short a time. I would happily purchase an intermediate course on this subject with this instructor."
6502 Assembly for the Atari 2600
26 Jan 2020
Milos Stojanovic
"Great Gustavo!"
C++ 2D Game Engine Development
26 Jan 2020
Michaela Adams
"Really thorough explanations. I really appreciated the time you took to show how to get SDL working on a windows machine and fully compiling. I also have been looking for resources that make use of Makefiles and header files etc and I find a lot of tutorials don't bother unless its a huge project. So I really appreciated you using those things right from the beginning.

Thanks!"
Creating a Game Loop with C
25 Jan 2020
Anton Semenchuk
"Useful.
Simple and good to know"
Understanding Bitshift Operations
07 Jan 2020
Oliver Doyle
"Raycasting Engine Programming with C - a quick review: This is an excellent course for those looking to understand old school raycasting engines and for the price of free you will surprised at the quality of the course material. Gustavo gives clear and repeated explanations of each step and follows each step with detailed source code listings. Presentation throughout is brilliant. I liked this so much I've bought 2 of Gustavo's follow on courses and will look forward to those. A great effort all round."
Raycasting Engine Programming with C
28 Dec 2019
Ajay Khanna
"Excellent. It says a lot about GP's teaching style that although I knew all this stuff already I *still* enjoyed this course, kind of like hanging out with a cool nerd friend and talking about how elegant bit operations are. Would love to see a follow-up course that goes into more detail, maybe "Hacker's Delight" style bit hacks"
Understanding Bitshift Operations
28 Dec 2019
Ajay Khanna
"So much fun. As a long-time programmer, this course felt like a going on a great short vacation with an excellent guide. GP informs everything with a delight in what can be achieved by clever hacking with limited means, and can be very subtle with depth (for example, I first thought the scoreboard was an odd choice for a long video, but it turns out that it involves some sweet bit-masking and opens the door to asymmetric playfield rendering). In this era when assembly programming on current platforms (x86 etc) has fewer applications (I think), I wonder if this is the right way to teach it: through constrained systems and games."
6502 Assembly for the Atari 2600
28 Dec 2019
Ippei Kuroki
"Awesome course! This course is really awesome! I took the Atari 2600 course .... I am very looking forward to it."
Creating a Game Loop with C
28 Dec 2019
Hamza Ezzahiry
"I like it. Thanks for the course, i really like it"
Understanding Bitshift Operations
22 Dec 2019
Otman Hamid
"Very useful course , thanks a lot !!"
Understanding Bitshift Operations
20 Dec 2019
Murilo Floriani
Game Developer
"Good stuff"
Raycasting Engine Programming with C
18 Dec 2019
Rumbin Lee
"I also live for these tutorials! I think that it’s fun watching him code. Everything is taught descriptively with such simplicity which ironically, blows my mind!"
Creating a Game Loop with C
18 Dec 2019
Pedro Vicente
Pedro Vicente
"Good. Very well concieved. keep the work and show more"
6502 Assembly for the Atari 2600
09 Dec 2019
Antonio Herrera Martin
"Simple and fun It is a easy guide which gets you hook and involve from the very beginning. It is also very accessible and takes you through all the process necessary to complete a simple game loop, and it also gives the idea of how to continue the interest for development."
Creating a Game Loop with C
07 Dec 2019
Alessandro Pacifico
"Really nice! Gustavo is a great teacher and tries to explain everything in detail."
C++ 2D Game Engine Development
04 Dec 2019
David Martins
David Martins
"Just wow! Without a doubt these are the best lessons I've found about the subjec by far! Gustavo's explanations are crystal clear and he takes the time to make sure you understand everything. I've been struggling with the maths behind raycasting for a while, but after following this course I'm amazed at how simple everything is. I guess I just needed a good teacher. Great job Gustavo, you're amazing!!!"
Raycasting Engine Programming with C
01 Nov 2019
Roger McNally
"Fantastic course, illustrates the concept clearly and concisely. Would recommend."
Understanding Bitshift Operations
07 Oct 2019
Nicholas Redi
Nicholas Redi
"A really good introductory guide to SDL! Before this course I had only seen some guides around the web about the SDL library, I can confirm that this course provides a broader view of the approach to use to develop a well-made 2D game, and above all, Gustavo is really good at making you immerse yourself in the logic of game engines and make you understand the mechanism behind a clear and clean programming. After this course I feel perfectly capable of developing a 2D game that I had been thinking of doing for a while!"
C++ 2D Game Engine Development
06 Oct 2019
Kory Rice
"Awesome! Thank you! This course was fantastic! The only feedback I could give is maybe mention that 2^0 = 1. Someone that doesn't know math that well might get confused on why if the right most bit = 1 the value would be 1 and not 0, which would throw off their total number when adding up each bit value. One of those things that many would just know automatically, but if someone without that knowledge was trying to follow along it could confuse them. Thank you again for this course, loved it!"
Understanding Bitshift Operations
02 Sep 2019
Calvados Cindy
"Really interesting! Really good course about bit shift operations. I've appreciate to learn in deep this topic. I am not a native English speaker, I am French and I liked the way the teacher explained things. Succinct and clear."
Understanding Bitshift Operations
27 Aug 2019
Eren Fraser
"Makes assembly very accessible. I really gotta thank Gustavo for making this course, definitely allows people to get their feet into assembly and shake their fears, hopefully I plan to get involved more into 2600 homebrew development and maybe C64 or NES as well. Great to have someone making retro development more accessible by making comprehensive courses, would love to see more platforms as well (Teach MIPS ASM via N64/PSX development? :) ) Again, very accessible and fairly comprehensive, highly recommended."
6502 Assembly for the Atari 2600
16 Aug 2019
Francisco Esquibel
"Excellence course!"
C++ 2D Game Engine Development
16 Aug 2019
Sam Gooday
"Very informative! As someone who dabbles in programming, I found it very easy to follow. Gustavo presents the material in a friendly and thoughtful way, and explains concepts such as creating an Entity-Component System and integrating with Lua in accessible terms. I would highly recommend this course to anyone who wishes to gain the experience and confidence needed to write their own simple 2D engine. Thank you for making this, five stars!"
C++ 2D Game Engine Development
20 Jul 2019
Lexington Alexander
Creator of Dev Cart Magazine
"Wish there was a second course, but I know what steps are next. This course provides the fastest path to foundation Atari 2600 game development that I'm aware of. I hope more people learn assembly game development for retro systems this way. My only complaint is that the pacing of the course lags at some points. I feel like I spent more time watching code being typed on screen than was necessary. It would have been better to cut and paste prior written code or to talk through code that had already been entered on screen. Overall, the step-by-step lessons provided are a world above trying to figure out what words to type into Google and jumping around from website to website. Why does it have to end here!"
6502 Assembly for the Atari 2600
07 Jul 2019
David Bravo
"So far, so good. I thinks explanations are clear, much clearer than when I studied those subjects long ago. Up until now, everything is well explained and understable."
Raycasting Engine Programming with C
06 Jul 2019
Christos Merinopoulos
"Clear and amazing. Very good keep posting courses like this."
Understanding Bitshift Operations
06 Jul 2019
Igor Donizete
"Very nice. I learned more with two videos of this course, than in my school, nice work!"
Raycasting Engine Programming with C
03 Jul 2019
Σπύρος Μιλτιάδους
"An amazing course by an amazing teacher! Thanks for carefully designing the course
its one of the best resources out there.
"
C++ 2D Game Engine Development
20 May 2019
Nicole Durrant
"I've just about come to the end of the course and I have to say it's been a deeply enjoyable experience from beginning to end. The course covers most key points necessary to program games on the Atari 2600, even closing with creating an entire game on the system. If you are interested in learning about the Atari 2600, this is easily the most accessible and beginner friendly way to go about it. I would also recommend trying this course if you are simply interested in Assembly programming or learning about the fundamentals of computing."
6502 Assembly for the Atari 2600
08 Apr 2019
Milos Stojanovic
"Great course! Fantastic, engaging teacher, looks like a nice person, trying his best to explain things in simple way, the gift that every teacher should have. Keep up the good work, expecting more courses from you :)"
6502 Assembly for the Atari 2600
02 Apr 2019