Developing Games with Perl and SDL
segphault writes "Andy Bakun has written an excellent 20 page guide to game development with SDL_Perl for Ars Technica. The tutorial, which includes extensive code examples and plenty of screenshots, walks readers through the process of building a clone of the original Atari Kaboom! game." From the article: "One of the biggest benefits of using SDL is that it allows portable media applications to be written without having to be concerned with specific implementations of media libraries for each target platform. Bringing Perl into the picture takes the portability one step further, allowing media-rich applications to be written in a high-level language that can be targeted to a number of platforms. While programming using SDL requires knowledge of C and access to a C compiler, using SDL_perl does not. This greatly decreases the amount of time it takes to get something up on the screen and working."
It sounds good as a learning tool. It would be great if budding game coders, especially younger coders, could be given a simpler enviornment in which to begin toying with graphics and sound coding.
However, it's in Perl. And I really have to ask myself; Do I want to play games coded by people who started programming games in perl?
But seriously, whenever you code a game, you always end up using a scripting language of some kind. Perhaps this just cuts out that virtual middleman that is c/c++?
May the Maths Be with you!
So, sit down on your bums and write a Perl API for DirectX with good WINE support, folks. ;-)
"I love my job, but I hate talking to people like you" (Freddie Mercury)
Mildly interesting but in terms of modern games it won't cut the mustard so then you are looking at smaller games and a platform to learn on. IMO there is only one top platform to learn game programming for and that is the Java mobile phone platform J2ME that even comes with a standard (and pretty simple) 3D API. Its also the fastest growing gaming market out there at the moment, and its still an area where mere mortals can break in and create the killer game and make money. Aiming at the PC market means you are against the multi-million dollar budget folks and that just isn't sensible.
If you want to learn game programming... get a decent phone.
An Eye for an Eye will make the whole world blind - Gandhi
The neat thing is that PyGame is very fast. I've used it to implement tricky realtime cluster rendering for 3d monitors as well as frame accurate animations for temporally multiplexed displays.
The nice thing about Python is that since it is bound to just about everything it also supports some very fast and powerful 3d engines such as VTK, OSG, and Delta3d.
Several games.
Jake2 (Quake 2 clone) as the AC already posted.
Puzzle Pirates
Tribal Trouble (good!)
check out javagaming.org for tons of discussions about the subject.
and tools? how about:
LWJGL: http://www.lwjgl.org/
JMonkeyEngine: http://www.jmonkeyengine.com/
Xith3D: http://xith.org/
And there are probably tons of other games and tools I'm forgetting.
And regardless what the trolls will say, it is perfectly possible to create a 2006-level game in java.
I agree with you there. I wrote a Java wrapper around SDL and OpenGL a few years back. After doing that, almost all the rest of the code for a game (actually interactive applications in my case) could be written in Java using the wrappers. After presenting some examples to some hardcore C/C++ programmers, they stopped complaining about the "Java is slow" stuff. Ofcourse, they had to continue that C/C++ could make it go slightly quicker and take less memory. I couldn't argue with them there. But what they couldn't do with C/C++ was develop similiar apps/games as quickly. Now, someone who did not know these C/C++ programmers would argue that they just didn't know the languages that well. But for those who wonder I have this: how many times have you written a large C/C++ application and found yourself looking for some oddball memory leak?
Its a natual progress with languages. Languages like C and C++ are giving way to languages like Java and C#. But interestingly enough Java and C# will be replaced too: by scripting languages like Perl. As programmers, we just have to accept this and move with the tide or drown in ignorance.