Resources, downloads and community for Brian Beuken's game development books
The website is being reformatted. I will try to bring you the new version ASAP. In the meantime, contact Brian at brian@scratchpadgames.net if you need help.
Notice: The website is undergoing rebuild. Not all content is in place or active at this point.
Scratchpad Games is the informal trading name for Game Developer, Brian Beuken. It is primarily here to provide support for his Fundamentals of C/C++ Game Programming books. The site contains useful tips and tricks, links to download code content and some video content on different aspects of the books.
Over time it should also include some project content from readers of the book and hopefully create a 1-stop resource for all new game programmers wishing to develop their skills.
I've been writing Games for over 43(gulp) years, on all kinds of systems, and have over 75 projects published, some good, some bad, and a couple of bloody terrible ones, but when you are a contract coder you can't always get to pick the good titles. In that time I've built up a lot of experience which I now pass on to a new generation of coders by teaching at Breda University of Applied Sciences, IGAD program in Breda, The Netherlands, which has been my home since 2008. By teaching many 100's of brand new students I've found ways to get them interested and excited about coding and worked out ways to move them beyond just learning languages so they can start to understand and enjoy some of the more challenging aspects of game development.
In Feb/March 2018 My book, The Fundamentals of C/C++ Game Programming: Using Target-based Development on SBC's was released, which allowed me to share some of these teaching ideas and get more new game developers interested in the nuts and bolts of game development and not rely on Engines to do all the work for them.
In 2024, I was asked to update the book, and was very happy to do so, as the 1st edition sadly became a little outdated by the release of the Raspberry Pi4 which had a different graphic set up from the older Pi3. Much of the Pi3 content in the book has now deprecated for all but the most staunch lovers of the 2018-2020 era of Raspbian OS. The new book attempts to overcome that rapid deprecation, by having more generic code that does not depend on the Pi's specific graphic systems and with the addition of a PC build that emulates the Pi3/4/5 graphic methods.
The second edition is available in Sept/Oct 2025, and complete Pi4/5 code will be available when it is launched
I have provided updated code content for the Pi3 for users of the 1st edition, which will allow them to continue to work through the book, even though the code is now a little different, the basic methods and frameworks remain much the same, so all we need is a little adaptability to work through the 1st edition and a few extra pages of specific Pi3 content on this site will explain where that adaptability is needed.
If you bought either book, please take the time to register on the forums, say hello, and feel free to ask for help if you need it. I will respond as quickly as I can to all questions.
It's a great question especially since I now also provide a PC build option. But the reasoning is simple: I am a console games programmer! Since the death of the standard home computers of the 80's where I learned my trade, I've focused on developing, producing and programming games for consoles, with a little diversion into mobile phones.
Since I moved into teaching, my focus as a console programmer, was on teaching young developers the skills of programming on consoles, which was not easy, as very few (basically none outside of Japan), education systems had access to console development kits, or people who knew how to use them.
When I 1st started at Breda Univeristy of Applied Sciences (then called NHTV), I worked with Sony to help establish the Playstation First initiative, which allowed us and a handful of other universities access to their dev systems and gave us the ability to teach hands on console coding with actual dev kits, to our students. We later added Nintendo and Xbox to our development stable. We quckly became a centre of excellence for programming graduates who could walk straight into companies already able to work with console kits.
Sadly the Playstation First initiative ceased last year due to cutbacks at Sony, but we continue to be a key educator working with Sony and other console makers..
Nothing would make me happier than to write a book on how to use Sony or Nintendo dev systems...... But I'm not allowed..and never will be. They are always confidential equipment, and NDA's prevent any discloure in public of their inner workings. I have no intention of ever breaking an NDA.
So...Why Raspberry Pi?
The Pi is a simple machine with much of the characteristics of consoles, but at a far lesser power level, and a minimal price. Dev kits cost a few thousand Pounds/Euros/Dollars; a Pi.. 50-100!!! And there's no NDA, the systems on board are not confidential.
Connecting a Pi to your PC with Visual Studio is almost the same basic concepts as connecting a PS5 devkit to your PC.. And even though a PS5, or a Switch 2 are really powerful machines, they do still have limits that you have to respect and learn to overcome. The Pi has limits that you have to respect much quicker.
That's why I use Raspberry Pi.
I'm not in anyway associated with the Raspberry Pi Foundation, or any other interested party. I just think the Pi is a perfect system to learn how to write fast, efficient code that game programmers need to learn and can then use and enhance those skills if they move into professional development.
Oh and a final reason... Pi's are cool little gadgets and really remind me of the old days pushing to get every last cycle of power out of a Spectrum or Amstrad to make a game fast enough to play. Its not logical, and you youngun's probably won't get it, but I love it.
Total Visitors: 0
Join in the debate, ask for help, report errors, get useful tips.
Screen shots and book images in colour
Book Starter Code
If the book tells you to download code, get it from here
More complex examples of the book code
For brevity the book code is minimal, here you can find enhanced versions of the book samples with annotated improvements which were a little too complex to squeeze in the book.
Corrections and Improvements
Its a big book, and lets be honest I was making a lot of it up as I went along so there are bound to be a lot of errors, or fixes for things I didn't know how to fix at the time. They will be listed here
Games, Demo, Tools and Samples
I'll add a few fun things over time using the book code as foundation.
More Games, Tools and Samples
If you write some games using the book code, please feel free to send them here and we can let others look at your code.
More Tiny Beasts that Play Games
I spent quite some time putting together a small collection of other SBC's here I'll outline any issues I had getting them to run the book projects.
A small outline of how to optimise GPU access