What is SDL capable of?

I've been following Lazy Foos tutorials on SDL, and I managed to get an image on the screen. Most of the examples of SDL I've seen on youtube are something...aren't very good. Is it possible to make something really good in SDL? IS it one of those things were the thing is only as good as the programmer?
Ever played teeworlds? Made in SDL... By saying "good" what you mean? Some things are easily made with SDL than some others.

AFAIK SDL is good(ish) library to being used in 2D programs.. It can be used with/in openGL using some functionalibity builtin.
Teeworlds...does that mean SDL is capable of multiplayer? Interesting. By good, I just mean playable. oh, and would it be possible to build a roguelike in SDL? Like nethack, maybe?
SDL is just a library to display stuff and play sound. It doesn't care about whether your game can be played online or not and it doesn't need to. Those are different things.
Do I need a special library to include online play in a game?
Things SDL is good at:
* Wrapping 2D and OpenGL screen refreshes.
* 2D stuff at low bit depths and/or without non-binary transparency.
* As a windowing library for OpenGL (GLUT replacement).
* Loading bitmaps with SDL_image is convenient.

Things that will test your patience:
* If you're dealing with alpha blending across platforms, you better get ready to implement your own blitting functions.
* The default audio system + SDL_mixer is convenient, but its design makes it very inflexible. If you want to get creative, you're better off just using OpenAL.
* The event handling mechanism is synchronous, so in a single-threaded Windows application, your game loop will pause if you drag the window. There's an effective workaround, but it's complicated, it has to be thoroughly tested when porting to new platforms, and it doesn't quite work if you need a resizable OpenGL window.
* Mutexes on Windows have an unbearably high minimum wait of 10 ms. You'll may have to implement your own wrappers around native threads.
Last edited on
Topic archived. No new replies allowed.