Uploaded February 2018 | Updated September 2026, 1 hour ago
After watching javidx9's great tutorial on creating a simple raycaster engine using unicode, I decided to try use the same technique but using pixels instead.
Results aren't unreasonable for just 200 lines of code beyond the various required Windows calls! Needed to do more trig than I expected...
javidx9's excellent tutorial can be found here: youtube.com/watch?v=xW8skO7MFYw&t=1612s
After watching javidx9's great tutorial on creating a simple raycaster engine using unicode, I decided to try use the same technique but using pixels instead.
Results aren't unreasonable for just 200 lines of code beyond the various required Windows calls! Needed to do more trig than I expected...
javidx9's excellent tutorial can be found here: youtube.com/watch?v=xW8skO7MFYw&t=1612s



![2D Game Engine in C++: [1] Adding Sprites
This is the first video documenting the making of a 2D Game Engine for use in my next series of games. These games will likely be a relatively wide array of 2D game types, so the engine needs to have a bunch of features to handle different situations without too much in the way of modification.
This first video shows the first step: drawing a single sprite to the screen, allowing for rotation and scaling of a single object around the centre of the screen.
This is actually my second try at a 2D game engine. The first game engine was great - but only as a first attempt. I learned a lot from the approach that I used, including making a game called AstroVoids -
but the key lesson was that of how not to do things, as the performance was very poor. This is because I was effectively using a per-pixel raycasting type approach on all screen pixels. I believe that the approach that Im using here is far less CPU intensive. Only time will tell!
I will release all code on GitHub once Ive finalised the engine - and have nice looking code to boot!
Using the Chili Framework: http://wiki.planetchili.net/index.php... - thanks Chili! 2D Game Engine in C++: [1] Adding Sprites](https://i.ytimg.com/vi/d3LCJHOqBZg/mqdefault.jpg)






