Project description
What is SxDL ?
SxDL is an open-source game development framework. In common language, this means that SxDL is a free set of tools which allows beginner and experienced programmers to create video games, in both 2D an 3D.
SxDL provides a group of functions and routines that eases the management of objects currently used in video games, such as graphics, gameloops, inputs, music, and much more. It comes with full documentation, tutorials and sample demos.
This page describes the philosophy behind SxDL and the project's motivations. It is an exerpt of the SxDL reference documentation, available in the download section.
Design Considerations
SxDL has been primarily designed to be beginner friendly. There is no shame about being a beginner. Everyone that has started something someday has been a "total newbie" at some point in time. SxDL is here to make boring things easy. Most importantly, developing a game should be and, yes, must be fun.
However, do not believe that SxDL is dumb because it is beginner friendly: SxDL is indeed quite powerful and takes care of plenty of boring programming chores. SxDL then allows experienced coders to build cool games in no time.
Second, SxDL has been designed for the hobbyists, not the professional game developers. Remember, hobbyists are making video games for fun, not to compete with the big companies.
Finally, SxDL has been designed to provided an alternative choice to all those who have been using SDL and CDXLib and are still waiting for an update that could work nicely on modern hardware.
OpenSource ?
SxDL is totally free and OpenSource under the terms of the GPL. It is all volunteer and unpaid work. So be please be nice, don't spam the authors nor send hate mail if you don't like it. Simply because we owe you nothing at all.
Because OpenSource also means that when you find a problem, we expect you to help to fix it, to tell us about it and to give us all the gory tech details. And of course, the more bloody tech details, the better... Yes, you can provide debug spew and logs.
In short, don't be the average AOL (or MSN) dumb user. Be smart, and contribute to make SxDL better.
Thank you in advance.
What we are trying to achieve
SxDL is a simple and manageable 2D/2.5D/3D game engine, using current T&L technologies for efficient rendering on modern hardware.
Here are the main principles that drive SxDL:
- The KISS principle, Keep It Simple, Stupid.
- No initialization chores, no more boring stuff.
- Full abstraction though the C++ language.
- Not limited to rendering.
- Everything is 3D, even when doing 2D.
- Total flexibility.
- Infinite extensibility.
- Gameplay made independent from rendering.
SxDL handles for you:
- Initialization, Windowing and Shutdown of the backend API.
- The Game Loop.
- Asset and Resource Management.
- Game Objects Management.
- Music, sound
- Timing
- Input ( keyboard, mouse, joystick )
- A Simple Menus-based User Interface
- Rendering through predefined objects, such as sprites, lines, tilemaps, 3D models, skyboxes, etc.
A game engine is always something very complicated. If this one is really KISS, we succeeded.
Getting Started with SxDL
So, interested in creating your own games with SxDL? Here is a list of things that are required for start.
- A 3D T&L video card (recent 3D cards have T&L, antiques older that GeForce2 or Radeon7000 don't) -- best with the latest drivers
- The latest DirectX 9.0b SDK: Microsoft's library for 2D/3D (DirectX is at this time the only implementation of SxDL)
- Visual C++ 6 or 7 (we are working on a Dev-C++ port)
- Non trivial knowledge of the C++ language
- The SxDL source code (duh !)
Once you are ready, you may start with having a look at the complete documentation and tutorials available on the download server. Those documents includes a FAQ list, and you may find comprehensive demos bundled with the source code.
You will then start to understand more precisely how the sofware works and more important, how you can work with it. Good luck and have fun.