あなたがゲームメーカーを使用していたのを見て、私はあなたがWindowsを使用していると想定しているので、direct-x SDKを使って深いところに飛び込んでください。サンプルはソースコードを提供するだけでなく、利用できるパワーの味を提供します。2Dゲームをしたいからといって、2Dライブラリにこだわる必要はありません。ある時点で、おそらくライブラリ自体に実装されていないもの(シェーダーや回転など、ランダムなもの)を実行したいと思うでしょう。プロジェクトに必要です)。
SDL(そしておそらくSFMLとCinder)は、エンジンになるための高レベルの「基本を手放した」アプローチを提供するため、ゼロから実行するすべての力を持っています(したがって、SDLでピクセルシェーダーを使用できます)。しかし、あなたは物事がどのようにして成し遂げられたかを学ばないでしょう。その後、ヘルパーフレームワーク内で実際のC ++を実行します。これは、物事を成し遂げるのに役立ちますが、ゲーム開発会社で働くつもりであれば、ゲームの開発方法を教えるのにはあまり役立ちません。
SDL、SFML、さらにはCinderも、C ++の難しいことについて学ぶのを避けるための賢い方法です。それらは通常OpenGLをラップします。これは非Windowsマシンのグラフィックスをコーディングする場合に役立ちますが、Direct-Xで作業を行うためのリソースもたくさんあります(おそらくWindowsウイルスが世界)。
ざらざらしたことを学びたくない場合は問題ありませんが、それ以外の場合は、生のWin32アプリから始めることを恐れないでください。
私は、快適さのために、見つけることができるすべてのさまざまなヘルパーパッケージから開始することをお勧めしますが、独自のレンダリングエンジンの作成に向けて進んでください。エンジンを書くのはとても楽しいし、将来のプロジェクトを振り返るためのリソースを提供することができます。過去に間違ったことをする知恵のような優れたコードを作成するものはありません。