Melihat Anda menggunakan Game maker, saya berasumsi Anda menggunakan Windows, jadi lompat ke bagian paling dalam dengan direct-x SDK. Sampel memberikan kode sumber, dan juga memberi Anda rasa kekuatan yang tersedia untuk Anda. Hanya karena Anda ingin melakukan permainan 2D tidak berarti Anda harus tetap menggunakan perpustakaan 2D, pada titik tertentu Anda mungkin ingin melakukan sesuatu yang tidak diterapkan perpustakaan sendiri (shader atau rotasi atau sesuatu yang acak yang baru saja Anda lakukan). PERLU untuk proyek Anda).
SDL -dan mungkin SFML dan Cinder- menyediakan pendekatan " tingkat dasar" yang tinggi untuk menjadi mesin, sehingga Anda memiliki semua kekuatan untuk melakukannya dari awal (sehingga Anda dapat memiliki pixel shaders di SDL), tetapi Anda tidak akan belajar bagaimana hal-hal dilakukan. Anda kemudian akan melakukan C ++ nyata di dalam kerangka kerja pembantu, yang akan membantu menyelesaikan pekerjaan, tetapi tidak akan sangat membantu dalam mengajari Anda cara mengembangkan game jika Anda akan bekerja di perusahaan pengembang game.
SDL, SFML, dan bahkan Cinder adalah cara cerdas untuk menghindari belajar tentang hal-hal sulit di C ++. Mereka biasanya membungkus OpenGL, yang berguna untuk belajar jika Anda ingin kode grafik untuk mesin non-windows, tetapi ada banyak sumber daya untuk menyelesaikan pekerjaan di Direct-X juga (mungkin lebih karena virus Windows telah menyebar ke setiap sudut dunia).
Jika Anda tidak ingin mempelajari hal-hal kasar, maka baiklah, tetapi jika tidak, jangan takut untuk memulai dari aplikasi Win32 yang mentah.
Saya sarankan, untuk kenyamanan, Anda mulai dengan semua paket pembantu yang berbeda yang dapat Anda temukan, tetapi pergilah menulis mesin rendering Anda sendiri. Menulis mesin sangat menyenangkan dan dapat memberi Anda sumber daya untuk melihat kembali proyek-proyek masa depan Anda. Tidak ada yang menciptakan kode yang baik seperti kebijaksanaan dari melakukan kesalahan di masa lalu.