Recently i've been researching some books that i can read that will help me create some cool games, and im trying to learn the basics and backbone of games before moving onto the actual coding. I cant seem to find any 2D game design books for c++ however, i've been able to find a pretty good book on 3D games but thats all. Can anyone give me some links to any books that might help me? Thanks!
Linear Algebra and Geometry (not very in depth, just to have an idea of what maths can offer you in what ever game you want to make), then look into AI. 2D is almost the same as 3D, only simpler equations.
I'd just look for SMFL or SDL tutorials online and get coding. It's the best way.
As LilJoe said, maths is more important than you'd care to imagine in games programming. Coordinate geometry, solving linear, simultaneous and differential equations, vectors and trigonometry are all things that you might want to take a look at.
AI probably isn't an issue this early on (even if you did implement it, I can't see it being more than a simple chase/evade algorithm at this stage).
However, I disagree greatly with that last point. Apart from the addition of a third axis, there are several mathematical overheads that 3D game development bears, as well as other concepts that differ hugely from a 2D game; matrix manipulation, concept of matrices for translations etc., 3D concepts such as viewports, shader programming, etc. Couple with that are assets, which are invariably harder to produce for 3D games than 2D games, assuming you have no prior 3D modelling experience.