Let’s make a Snake game on a Melopero Cookie RP2040
The Melopero Cookie RP2040 is a nice development board made by Melopero Electronics, with a Raspberry Pico RP2040 chip on board, a 5×5 NeoPixel grid and a couple of I/O...
The Melopero Cookie RP2040 is a nice development board made by Melopero Electronics, with a Raspberry Pico RP2040 chip on board, a 5×5 NeoPixel grid and a couple of I/O...
While I was working on my game engine, I started learning about scripting and scripting systems, and I thought it would be nice to add some scripting capabilities to it....
In a previous article I wrote about the ubiquitous observer pattern, which is all about objects (called observers or listeners) that need to be notified when other objects in the...
Now that I’ve got a working game engine it’s time to add some interesting features to it. One that I’ve always desired to implement is online multiplayer, the ability to...
[latexpage] This article is a brief summary on how to write differential equations of motion for a rigid body. From these, we can use a finite approximation to calculate a...
Polymorphism is the ability to use objects of different types in a generic way, using the same notation. In C++ there are two forms of polymorphism, dynamic and static polymorphism....
Encapsulation is a staple of object-oriented programming: by hiding (or “abstracting away”) the implementation details of a class behind a public interface we can create abstract data types. Users of...
Templates are a very powerful feature of C++: they let us parameterize a class, function or variable with some generic types or values (called template parameters), so that by specifying...
The Strategy design pattern is a perfect example of the OOP tenet that says: “favor composition over inheritance”. Inheritance is indeed powerful when it comes to code reuse, or when...