Another small game programmed pretty much from scratch in C. I did use the surprisingly very easy to use stb_truetype library to help me with the reading fonts so that text can appear on the screen. The graphics are entirely software rendered with GDI, instead of going with the most common approach of using something like OpenGL, SDL, or even an engine. But the goal of this little game was to learn more about some of the things that go into making a simple game like this from scratch.
With this game I learned how to vectorize code with SIMD, even if applying it to a not too complicated a case. SIMD is basically a way that your CPU can do something on multiple sets of data with a single instruction (SIMD = Single Instruction Multiple Data). On this game, adding SIMD to the drawing calls basically meant that the CPU could render 4 pixels every iteration instead of just one, and it did have the effect of making the game run at about 4 times the FPS than before using SIMD.
You can try it here.