The next version of SDL has been mentioned in passing in quite a number of
emails, and though the current version of SDL is quite capable, I believe
it is getting behind the times.
I started using SDL years ago to create a cross-platform game. It worked
well, though it was slow on linux, my development platform. It had no gui,
but that wasn’t a problem: I wrote my own. Then the trouble started.
I wrote a map/character editor for my game, and shared it with some
friends. The big complaint was that they couldn’t get windows “out” of the
editor. They used external programs (gimp, photoshop, ect) to edit the
media, and wanted to be able to see windows from both applications at once.
I soon found that this was not possible, and was NOT planned, even in the
next release. I moved ahead, cleaning my code, and extending it. I wrote
my own PNG loader since the SDL_image library did not handle alpha
correctly at the time, and then I had to change it to be aware of the
version of SDL because SDL’s idea of ALPHA changed(breaking older
programs).
I had to speed the client up for Linux, so I wrapped the SDL drawing calls
I needed (Just screen setup, image blitting, and sold rectangle blitting)
and implemented them in OpenGL.
I then started working on the server, which needed some multi-threading
support. This was originally written in C on Solaris and openVMS, and I
didn’t want to have a full SDL library working on those platforms, so I
re-wrapped the native calls.
About three months ago, I needed full-duplex audio. SDL does not support
it, and when I checked the email logs there have been patches for it. I
tried one, had some troubles, and instead used some code my friend had for
full-duplex audio on windows. I wrote my own full duplex OSS code for
linux and solaris. I was surprised to see that none of the full-duplex
audio code was even being considered for addition to SDL 1.2.
Recently, I have seen that mutli-window support might be in SDL 2.0. After
looking at the libsdl.org website, I can find nothing solid on this new
SDL.
At this point, I really need to know:
- If we make enhancements to the current SDL, are they going to be
accepted (Such as full-duplex audio)? - Is someone working on SDL 2.0? Is there a feature list and mock-api
documented? When is this planned? Can we help? - Should I change my code to use OpenGL exclusively and remove all SDL
code, or wait for SDL 2.0?
I have run into problems with my own audio and OpenGL code, and have only
been able to test on a small number of platforms. I love the openness and
stability of SDL, but find it just doesn’t do the job anymore. I would
love to contribute to a new SDL… if only there was one. I would start a
fork, but I want to write a game, not a game library.
Please don’t take offense to this email. I know that SDL is not a
commercial library, and development is done as time permits, but I think
the community needs a new SDL. If you are unwilling to accept patches that
provide major features (and don’t affect compatibility, such as duplex
audio), and are unwilling to start an SDL 2.0 fork, you will be losing more
developers than just myself.
James Best