Is There Life Beyond DirectX?
Zangief asks: "Almost any gamer has, at some point, the idea of making their own game. I am no exception, so I've been playing around with SDL, which appears to be the logical decision over the craziness of DirectX. However I have also noticed that other alternatives, such as ClanLib. There is something else? Are there any other libraries, dev-kits, or tools that would be good for indie developers?"
check out http://crystal.sf.net its good library to start you on the road of game programming in 3D
AZTEK
Allegro Homepage
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
Here is the mother lode: http://www.flipcode.net/
Really it depends on what sort of game you plan to be developing. If you are going to try out life as a small independant designer, you might want to try out some Flash stuff. I'm serious. Some people crank out a bunch of shareware Flash games. They're fun and easy to distro.
If you are looking at bigger projects, or trying to learn the coding side to things, you can pick apart one of the game engines in the above site. If you want to learn the real technique behind graphics, then you need to learn DirectX or OpenGL. That is where the real stuff gets done at the moment.
GG
As the sourceforge site says:
Check out Programming Linux Games, by a Loki developer by the name of John Hall.
It goes over SDL in depth, and shows how to integrate OpenGL into it as well. As well, it touches on some other APIs of note, such as SVGALib, GGI, ClanLib, OpenGL, Plib, Glide, Xlib (for video), GTK+, TK, Fltk, Qt, and SDL_gui (for menu widgets), OSS, ALSA, ESD, and OpenAL (for audio), and cl, Guile, and Scheme (for scripting).
No comment.
you might try getting strated with pygame, a wrapper to sdl for python.
obviously if you need every single cpu tick to count, you shouldn't use this. but, it can do 30 frames per second if you write good code.
I'm sure other people have pointed it out, but pygame is an excellent choice to get started. Python is fun and easy (*criminally* fun and easy), and a lot of the wrapper classes will use similar names as the real-deal c/c++ libraries.
...*so* much is taken care of for you already. Don't trust my code, as I haven't untarred my 10gb home directory backup (and I'm not going to) in order to tell you how easy PyGame makes things. :^)
Seriously. I made a graphical mp3 juke-box player (like for drunk people at parties), and my code to keep music playing looked something like:
def keep_music_playing():
if !pygame.sound.is_busy():
song = get_song()
pygame.sound.play( song )
else:
pass
def main():
thread.start( keep_music_playing, 5000 );
--Robert