This is probably a bit late, but mabye you could use a framework/library like raylib where you dont need to go super low level, but still avoid the patterns and principles game engines impose on you?