Saya menggunakan SDL dan SFML untuk proyek game saya. Saya menggunakan SDL untuk game yang sudah jadi, game tetris, dan saya kebanyakan menggunakan SFML sebagai layer windowing untuk eksperimen shader. Dari pengalaman saya, saya harus mengatakan bahwa SDL adalah apa yang dikatakannya. Ini adalah lapisan media langsung yang sederhana, yang mengabstraksi data yang digunakan media Anda (suara dan video) ke tingkat yang dapat berinteraksi dengan berbagai platform. Itu "semua" yang dilakukannya.
Karena itu, Anda umumnya harus mencampurnya dengan beberapa perpustakaan lain, terutama SDL_mixer, SDL_gfx, dan SDL_image, yang menyediakan fungsionalitas yang dibutuhkan setiap orang untuk membuat game.
Semua perpustakaan ini juga dimaksudkan untuk bahasa pemrograman C, dan mereka mengikuti konvensi itu. Bukannya ada yang salah dengan itu, tetapi jika Anda menginginkan pendekatan berorientasi objek untuk bagaimana Anda berinteraksi dengan io, maka pada dasarnya Anda harus membangun layer itu sendiri.
SFML hadir dengan segala yang ada di luar kotak. Ini memiliki suara, memiliki video, memiliki pencampuran, memiliki bingkai-capping, dan berorientasi objek. Jika itu yang Anda inginkan, saya sarankan Anda melakukannya. SFML juga memiliki lapisan abstraksi untuk beberapa fungsi dasar dalam OpenGL (khususnya beginShape / EndShape dan pixel shaders). Saya tidak berpikir SDL memiliki hal seperti itu, hanya metode untuk bergabung dengannya.
PS Tidak mengusir percakapan dari C / C ++, tetapi jika Anda tidak menggunakan bahasa itu untuk alasan tertentu, dan ingin yang lebih mudah, selalu ada pygame. Yang pada dasarnya adalah SDL + untuk Python.