By the way, literally everything in the project is created by me. This is also a demo. Use WASD / Arrow Keys to move around. Use the Debug variable to toggle the Render variable for explanation. Okay, so what if... instead of making the sprites scroll along the screen, like you'd see in most scrolling 2d spaces, there was simply a player and wall sprite. The wall sprite being static and the player sprite using simple x and y movement. Then, make a whole sprite made for the visuals, like the player, shadow, detailed level, enemies, items, UI, and everything else, that is in charge of a broadcast to render an image based on information of all entities. So every single thing you see on the screen is displayed using clones from one sprite. Clever eh? Which every piece of game data is stored on a List for save codes and rendering. So this time, we are actually faking a scrolling platformer, but we are hiding the evidence and rendering an image that makes the illusion of a scrolling platformer. Why do this? Simply, this allows things like offscreen enemies, camera scaling (zooming in and out) without bugs, and the code simply relies on the x and y blocks. This also takes away the hassle of constantly worrying about things being projected in a scrolling world. Also should I also 100% pen this? It would lower the quality of the images though. Now let's look at the cons about this. - It kinda blows on the clone count. - Since the player hitbox is very small, collisions are kinda buggy. - It's made by me.