Ask Sam Lantinga About SDL On PS2 And More
Sam Lantinga is the author and project lead of the Simple DirectMedia Layer (SDL), which was recently ported amid general acclaim to the Sony PS2. People have been curious about SDL for a long time (it's been around for a while, and used in quite a few games). He's not just a library programmer though; he also designs games (in this case, working with Lauren MacDonell) and thinks hard and lucidly about the intricacies of information display within them. Here's your chance to ask Sam directly what's on your mind about SDL, game design and more. Note -- many questions are answered within the links already given, so hit those first. One question per post, please (but as many posts as you'd like) -- we'll forward the highest-rated questions on to Sam, and post his answers soon after.
Writing and distributing a game for a computer is fairly easy. But I don't see how the same process could be applied to the PS2.
How would games developed for the PS2 with SDL actually get to people? I doubt we're going to see a lot of free, open-source games on DVD at Best Buy. But (for instance) I can play a whole slew of SDL-based games on Linux, Windows, and BeOS with just a quick download.
It seems to me like this might be a problem for the PS2.
My question is a bit tainted by my personal opinion in this matter, but I'm sure Sam will be able to provide a different (and surely interesting) point of view.
At the risk of being a tad Linux centric, does the availability or unavailability of hardware specifications and technical documentation on graphics hardware affect a Linux game developer and why? With two concrete cases in mind, on one hand NVIDIA who provides binary drivers and "high level" documentation about their cards, and on the other hand, ATI for which there's source code for the drivers with support for half of the features the hardware offers, but neither openly accesible hardware documentation nor much "high level" docs, how do you think this can affect the future development of games for Linux (proprietary or otherwise)?
Thanks
This may be more of a question for everyone else than for Sam (but Sam can feel free to answer also :)
I'm not a big gamer, but I would play some if it weren't such a bitch to get the proper libraries working under Linux. Last time I tried was about 6 months ago... After following some really complicated directions and compiling umpteen obscure drivers I finally got SDL and hardware-accelerated OpenGL working. I had to disable it and revert to my previous versions, though, because it locked up my system a lot during games and made X pretty unstable.
Anyway, my question is this: is multimedia support for Linux getting any easier to install? Is it possible that someday I will be able to install a distribution and have it automagically configure hardware 3D support, install SDL, etc.? Or is Linux multimedia still too much in the toddler stages?
I'm just a lowly PHP coder. I don't understand all this low-level mumbo jumbo. I just want to fire up a game every now and then and blow shit up. Is there hope for me?
Sony charges stiff fees for Playstation (2) development licenses. Was one of the primary focuses of SDL a way to circumvent these fees, broaden the PS2 platform, broaden the SDL platform, or broaden Linux as a viable game platform?
There are, of course, some very good commercial 3D API's that will abstract over this problem. One of the strengths of SDL has been that you have abstracted over the low level and have avoided getting into the sticky business of fighting OpenGL and Direct3D for the 3D API. This also limits the utility of SDL, however, because of the lack of a solid, free API for abstracting the 3D API.
Do you see SDL moving higher up the graphics pipeline in the future, or is it your intent to continue to avoid higher level 3D calls?
-magic
Was your depature good? Daniel Vogel also left. Is Loki in a good position or did you leave because of some problem. What's the deal?
This is my signature. There are many signatures like it but this one is mine..
With SDL for PS2, are there any plans to do the same for the other next-gen platforms, the Gamecube and the Xbox?
Erik
"You," Bite me.
"Each and every one of you." Bite me.
Hi Sam,
correct me if I'm wrong but to develop games for the PS/2, you need the Sony "TOOL" DTL-T10000 and the Metrowerks development environment, this runs about $20,000.
In your communications with Sony has anything been expressed about opening up the PS/2 to home developers? The Linux thing is neat but most hackers would like to develop a game for the PS/2 and then burn it to DVD for distribution to friends, customers etc.
I'm reasoning that the first console to have an affordable dev environment is going to clean up in market share. It would be a shame to see the Xbox 'innovate' in this manner.
What are you working on at Blizzard? Do you get paid for continuing your work on SDL, or do you have to do that in your spare time?
Sig (appended to the end of comments I post, 54 chars)
From playing with it, and noticing what has been conveniently removed from the documentation (but is still in the libraries), it looks like DirectX 8 is trying very hard to do away with driectdraw and work purely through the 3d engine. Sprites are just 2d textured polys, etc...
This leads me to believe that any future enhancements/optimizations/support/testing/etc... that will happen with directx will be only on the direct3d part, and directdraw is probably going to be unsupported. Do y'all have any plans to deal with that?
---
Play Six Pack Man. I
From what I understand, the PS2 Linux distro uses a proprietary, binary-only driver/library/program to allow programmers to access the PS2's graphics chip. My question is, how will this hinder end users' ability to get their hands on SDL-based PS2 games?
Does this mean they'll have to buy a copy of the $200 Linux development kit? Or are developers allowed to freely redistribute the graphics runtimes? (Or have you found some other way around this, perhaps by accessing the PS2 hardware without the binary runtime?)
I'm just afraid that most PS2 gamers (read: non-geeks) won't find SDL games too attractive if they have to buy a $200 Linux kit to play them.
First of all, I'd like to say that I love Myth 2. Without SDL, I don't know that Loki would have business. Anyway, on to the question.
The Linux desktop as a whole has gained ground-breaking increases in the number of users, but still falls way behind Windows. In my opinion, the only thing that's holding back Linux is it's lack of entertainment, specifically in the game department. In order for Linux to truly take off, Linux needs a plethora of games to even try and be on the same level as Windows.
Where do you see Linux gaming in the next few years, and do you think it will directly affect the number of users?
arcane for life
First, thanks for SDL and SMPEG. They ran mpg321 very well for a while. Thanks, too, for your development help.
I know you probably get asked this a lot, but as a loyal Loki customer I just have to know: now that you and most other Loki programmers have moved on to bigger and better things, in your opinion does Loki have a chance in continuing to produce Linux games?
Also, what about a wrapper against D3D? There is currently a nice integration with OpenGL, when SDL needs to use 3D acceleration, but under Windows (where a lot of SDL games already exist) most of the coders are using D3D. Also, based on the fact that D3D 8 is not as bloated as previous versions, a wrapper for other OSes could be easily achieved (IMHO).
Last question, again on the spirit of 'SDL Vs DirectX', are there any plans for more support for more input devices, like force feedback wheels etc.
Take care and thank you for all the hard work you have put on SDL the last few years. (and also greatly thank you for the BeOS port! :)
As with any system, there are trade-offs. The PSX2 graphics chip (EmotionEngine) has a number of features which require careful programming to exploit, especially given the (relatively) limited main memory (32M). The question is to what extent you expect to compromise your API's growth in capability/portability to support gee-whiz features. The dual of this question is of course that with a cross-platform API, you tend to end up with something equally mediocre across all systems, potentially leading to a catch-up mentality in the marketing perception which is particularly fatal in the computer gaming sector which continually relies on new features to draw in users. How do you expect to handle these compromises without alienating too many of the stakeholders (developers, manufacturers, users, etc)?
LL