If I just have C++ and say SDL or Raylib, how do I structure game code to keep it scalable (ie not a huge mess when I add more levels, items, mechanics, etc)? I have been able to make very simple stuff but the moment I try to add to it, it always gets out of hand and I can’t really refactor it without starting fresh.
You can create a simple 2D engine with sprites and tilemaps relatively easily. It only took me ages as it wasn’t my main project, and I’m very OCD on pixelart graphics and unaligelned pixels, also I did a lot of things in my own unique way (soon-to-be deprecated CPU remdering pipeline, software synths for audio, etc.).