Lass dir bloss nicht SFML anquatschen. Weiss nicht wie weit die mit Crossplaform sind, aber soll noch ein gewurschtel sein. Zudem ist C++ in Realität eine Sprache die heutzutage überbewertet wird. Es verkompliziert einfach die Entwicklung.
Portabilität ist durch C++ zwar immer eine offene Stellung, bzw. kann man es dann selbst irgendwie versuchen zu portieren auf das jeweilige System.
Ich bin mehr ein verfächter von MonoGame oder Libgdx in der Spieleentwicklung von 2D Spielen. Sie bieten noch dieses kleine Quäntchen mehr was SFML fehlt damit man so richtig durstarten kann. SFML ist ein Stückchen mehr Low-Level. Weiss nicht ob man sich das antun will.
Ein Spritebatch sollte schon vorhanden sein. Generieren eines TextureAtlases sollte auch nicht fehlen, finde ich.
Wenn unbedingt mit C++, dann Cocos2d-x vielleicht. Aber das geht auch mit C# wenn man Cocos2d-xna nimmt.
Oder halt MonoGame. MonoGame ist im Grunde XNA. Die API womit Indie Entwickler gern XBox Spiele gemacht haben.
Oder wie ich. Ich nehme Java. Die meisten denken immer Java!? Spiele!? .. und da muss man nur sagen Minecraft wurde mit Java gemacht und schon denken sie ganz anders.
Libgdx verwende ich meistens für 2D. Und Unity für 3D Spiele.
Mein Ranking fürs Machen von 2D Spielen:
1) Libgdx (Java) -
https://libgdx.badlogicgames.com/
2) MonoGame (C#(Mono)) -
http://www.monogame.net/
3) Cocos2d (C#, C++ oder Objective-C) -
http://www.cocos2d-x.org/