- 35 hours on-demand video content
- Lifetime access
- Live meetup
- Downloadable resources and exercises
- Certificate on completion
- Access on mobile and desktop
- Secure checkout via Credit Card or PayPal
- 14-day money back guarantee
- Last updated May 2024
$99.99
ENROLL NOW FREE PREVIEWThis course is a deep dive into the world of PlayStation programming! We'll explore the PS1 hardware, understand its sub-components, and learn how to code games using MIPS assembler & the C programming language. We'll also learn how to use a PS1 SDK library paired with a modern development toolchain to be more productive and push fast polygons out of our console.
We are about to enter the 5th generation of 32-bit consoles. This era brings with it many technology milestones, such as the adoption of CPUs based on RISC architecture and a preference for coding using a high-level language instead of writing games using plain assembly. We will start by learning the basics of MIPS assembly and evolve to use a C compiler with a PS1 SDK to develop our final project.
The original SDK was designed for Windows/PC, so you can either use the original 16/32-bit libraries on a 32-bit operating system (Windowx XP), or you can use a modern C compiler with Visual Studio Code on a 64-bit operating system (Windows 10/11). Emulating a Windows system on macOS or Linux is also possible!
Not at all. You can easily run all the exercises and the final project on a PlayStation emulator. At the end, we will burn a CD ISO and test it on a real console, but that's optional.
This is a self-contained course teaching concepts from the ground up. However, it is expected from students a basic understanding of coding (if-else, loops, functions).
If you like retro programming & want to learn more about the early days of 3D games, then this course is definitely for you!
Gustavo Pezzi is a university lecturer in London, UK. He has won multiple education awards as a teacher and is also the founder of pikuma.com.
Gustavo teaches fundamentals of computer science and mathematics; his academic path includes institutions such as Pittsburg State University, City University of London, and University of Oxford.
This course tries to be as beginner-friendly as possible. While there are other resources out there on PlayStation development, we'll focus on the basics and try not to skip any important detail as we evolve.
Learning how to create games for the original PlayStation is a great excuse to explore really hardcore computer science topics. As we learn different aspects of the 32-bit generation of consoles, we'll touch important concepts like algorithms, data structures, data compression, computer architecture, fixed-point math, computer graphics, and much (much!) more.
Many new games try to imitate the style and the visuals of old PS1 era using a modern game engine. This is no imitation! We'll be flipping bits on the OG PlayStation.
Many people are surprised that the first part of the course uses MIPS assembly. Using an assembler in the early stages of our course allows us to really understand the low-level aspects of the console & really grok how data flow inside the machine.
We'll then move away from assembly and climb one layer of abstraction up; we'll work with a C compiler paired with a PS1 SDK. This is where we'll really glue all the concepts that we learned before to consolidate our knowledge with a final big project.
At the end of the course, you'll have all the tools and the skills you need to grow and evolve on your own. You'll have a working project running on the PlayStation console and a deep understanding of the theory that underpins the development of PS1 games.
73% of our students come back for another course
We don't offer discounts on our courses. Ever.
"Superb course! Superb course covering the fundamentals of PS1 programming in depth. Highly recommended. I wish there would have been a section about how to bring 3D models from Blender or some other generic 3D modelling package as now after the course spends quite a long time going over 3D formats specific to Wipeout, which is interesting as a computer science topic, but not that useful if you just want to get making your own PS1 games. The first half going through the hardware, MIPS, assembler and low level rendering is flawless though and already worth the time investment to dig into!"
"Excellence! A very substantial course! Aside from all the PS1-specific goodness, the inconsistent endianness, compression, and multiple ways of encoding geometry and textures in the source files helped to get more comfortable with the lower-level data conversions and processing. I had never programmed assembly or C before, but the course was a pleasure to follow along and very educational."
"Awesome! Gustavo has spoiled us with a number of high quality courses, and this one is no exception. I can't think of a more entertaining way to learn so many CS concepts than this. Having growing up in the 90s, it's such an amazing feeling to finally take a look under the hood, on how games of this era were made. I personally see these courses as C practice, and for that they are second to none. Add assembly & hardware into the mix, and you have something really special."
"Really good and informal in an easyt to understand way."
"Comprehensive PlayStation 1 Programming with MIPS Assembly & C! Gustavo once again delivers high-quality material that you can't find elsewhere. The course covers everything from the ground up, with MIPS assembly to C, in a structured, easy-to-follow process. Although not mentioned, the course is compatible with Linux and the PSX.dev VSCode extension, in addition to Windows and Mac OS. The course culminates in an ambitious project that recreates the basics of the classic Wipeout game, with Gustavo even going the extra mile to create original music. Future content could benefit from bigger fonts and a black background for easier mobile viewing."