SDL: A Quick Introduction to SDL 1.3

Using SDL (the Simple Direct Media Layer) you can write multimedia and game programs that work with only a recompile on Linux, Windows, and Mac OSX. It supports many other platforms including most versions of UNIX, many new and old game machines, and several cell phones including iPhone. Not to mention that you can use it with a very long list of programming languages. SDL is at least 12 years old, has an active community, and is actively being developed.

I am a real fan of SDL. I have committer privileges so I must be doing something right... though I must admit I am not a heavy contributor.

The current version of SDL, 1.2, is showing its age a bit. SDL 1.2 does not allow multiple windows and it has a few other oddities that reflect the game development world of the 1990s, not the world of the 21st century. The decision was made to modernize SDL by creating a new code base using as much of the old code as possible to build a new, more modern, version of SDL called SDL 2.0. The road between 1.2 and 2.0 passes through the current development trunk called SDL 1.3.

Unlike SDL 1.2 version 1.3 supports many windows and as many input devices as you can connect to your machine. It adds a fast 2D API, something that was lacking in older versions. SDL 1.3 supportsthe latest versions OpenGL and it adds support for OpenGL ES where it is available. SDL 1.3 supports everything SDL 1.2 supported and contains a 1.2 emulation layer to keep old programs running. SDL 1.3 has dramatically better Unicdoe support and full support for Unicode input in all languages is under development. SDL 1.3 is still licensed under the LGPL but it is also available under a commercial license for people who do not want to, or can not, comply with the LGPL.

SDL 1.3 is a developmental version of SDL, but it is the development trunk for SDL. Except for bug fixes all work on SDL is going into SDL 1.3. It is, at least on Linux, ready for use in real applications. There are bugs and missing features, but they are being fixed and implemented quickly. I'm currently working on, and with, SDL 1.3 and I expect to use it in all my projects from here on. If you want to develop using SDL 1.3 please use the version from SVN because fixes and new features are being added quickly. If you are like me you do not want to spend time rediscovering bugs that have already been fixed. Stay away from the old tar balls and zip files.

For professional game programmers SDL provides a clean library that will save you development time, increase the reliability of your final product, and give you the opportunity to sell your game on more than one platform. But even with all the advantages that SDL gives to professional programmers, hobbyists and beginners have the most to gain from using SDL because SDL lets you concentrate on writing your game rather than on the details of the operating system. More importantly, you can get started writing games without spending one dime for software.

I get requests from people all over the world who want to write games, but who do not have the money to buy commercial software development tools. Using SDL and Linux+GCC+OpenGL you can develop a game without having to spend even one dollar on development software. Even on Windows, you can use SDL+GCC+OpenGL to write high performance games without having to pay for anything but your computer and the copy of Windows you run on it. SDL lets the beginner and the hobbyist develop games using free tools. Not only is the code they develop portable, but the skills they develop are portable as well.

You owe it to yourself to take a look at SDL 1.3.

 

 

Who's online

There are currently 0 users and 2 guests online.