Domain: libsdl.org
Stories and comments across the archive that link to libsdl.org.
Comments · 355
-
Re:Open Source is NOT the issue - it's the IMAGE
Interesting post and a good perspective. I would like to add my 2c:
2) The Penguin logo MUST go ASAP.
I am not sure about this. Maybe he needs to be restyled or something, but not done away with completely. Taking away Tux is like taking away the Apple logo. There is an association there, like it or not.
4) Direct X - A MAJOR stumbling block on Linux's road to world domination is the lack of Direct X support for Linux
There is such a thing. It is known an LibSDL. There are probably others, but this is the one that I know the best.
Now to some other issues:
Part of the problem is a culture clash and there are too many hard-liners on both side of the fence. What we need is a way to bring both sides together, in a way that suits both parties, rather than make them feel that they are giving in. People in marketing depend on the people doing the research and people in research depend on the people in marketing. Until both parties realise that, they each depend on each other, we aren't going to get far.
The anti-communist attitude is very American and illustrates a fear of an alternative approach to things. You can be socialist with out being a communist. Many contries in the world, such as European countries, successfully balance a social and commerical agenda.
Linux was original targeted as a server solution and does it does a good job there. I think part of the problem is that we are asking too much from Linux. We shouldn't be going out and expecting everyone to be using Linux. Rather we should be concentrating on making a great product and let those who wish come when they want. We can't be all things to all people and this is the most important lesson.
The best marketing are case studies. Both good ones and bad ones and evaluating why things worked and why things didn't work. Its also good for people developing with Linux to know why things went wrong and address the issues. -
Re:This is bad
Agreed completely. The DirectX API is HIDEOUS. It may be more powerful that OpenGL, but OpenGL allows you to code working programs (especially when you use something like GLUT or SDL) quickly and easily, and focus your effort on the physics/logic/AI/whatever of your project, rather then wrestling with a horrible API that seems to change with every new release of DirectX.
-
sdl.what you're looking for/would liek to see world use is something like sdl.
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Win32, BeOS, MacOS, Solaris, IRIX, and FreeBSD.
since i didnt see anyone else replied/posted with this mandatory link i did, whoring an' all. the recent starcon2 port uses sdl as well, and thus wa s quickly available on very many platforms instantly. -
Re:it's your duty to block ads
If companies and individuals go out of business because of blocking ads, that will lead to fewer, higher-quality companies like google that can come up with ways to make ads *work*, or sites that actually
.. wait for it .. CHARGE MONEY.So you think that useful sites like http://www.libsdl.org/ or http://www.wxwindows.org/ should start charging, or disappear?
No thanks, I'd rather they used a few ads. For what I get in exchange from sites like that, its nothing.
-
Alternatives to DirectPlay
-
Re:When are people going to understand...
OpenGL does not provide any other of DirectX's functionality...
Sure, but that why there's OpenAL, not to mention OpenNL (now called HawkNL) and its extensions, and OpenIL (now called DevIL). Wasn't there an open input layer too? They've gotten hard to find now that so many of them changed their names (due to pressure from SGI? See the OpenIL site!)
Anyway, there's also SDL, and for that matter OpenML. Both are far more functional than OpenGL alone.
In summary, if you want a cross-platform DirectX alternative, there are options. You just have to know about them or search them out. -
Re:When are people going to understand...
That's what we have SDL for.
-
Basic tools for producing cool toys/games
Having played with the ODE...
The parent article is quite correct. If you're doing any solid-body physics based stuff, ODE rocks. Combine it with SDL and OSG and you have the basic tools to produce some really cool stuff. Throw in the Demeter Terrain Engine if you want a bit of scenery to go with it. I've tied all four together for experimenting with what makes a good driver interface for a hovertank. :)
The Stair-dismount makes good use of joints, and collision detection features of ODE - but even if you don't need these, the force model of ODE is a lot of fun to play with on its own. But if you *are* ambitious, it has specialised joint and suspension-spring models for doing things like wheeled vehicles pretty easily.
With all these tools available under LGPL, those of you like me - who don't like writing a graphics/physics engine so much as actually writing cool simulations with said engines - have a much better point to start from than even 2 years ago. -
GCCSimply moving over to GCC for all four platforms does seem to be the obvious choice; you can also flatten GUI differences by using a portable multiplatform library.
I've had some experience doing just that. To date, Qt is the most mature of those and will give you uniform access to GUI, networking, threading and even database access for Win32, Unices (including Linux) and MacOS.
If you aren't so worried about GUIs but need to output multimedia contents portably, SDL is a viable alternative. The portability of some of the more esoteric components is dubious but SDL has the distinct advantage of being completely free.
As for performance concerns some people have raised about archaic versions of GCC, don't let that stop you-- even if you don't use GCC 3.2 (which produces very good code) the subtle improvement is speed is very rarely worth the greatly increased complexity in development and maintenance.
Besides, with recent GCCs I'm hard-pressed to actually find any significant difference between code generated by it and other compilers (for IA32, anyways, and with all relevant optimizations turned on).
-- MG
-
Please, don't.
I port video games to Linux for a living, so I am probably qualified to comment on this.
Do NOT optimize for Wine. You probably can't anyhow, since both Win32 (at least, DirectX) and Winelib are moving targets to varying degrees, what works and works well in one version of Wine will not necessarily do so in another.
I think Wine is an excellent piece of work, but I'd imagine even the Wine developers would rather have native Linux applications than emulated win32 apps (and if they don't, they should).
This is doubly true for game development, where you need every CPU cycle you can reasonably get.
Wine, Winelib, and WineX are really meant to be bridges to make Linux more feasible in the short term by letting Win32 programs run in some form, even if they just limp along. They are afterthought solutions to running software that we have no real ability to use, but think we can't do without.
The ideal solution is to write portable code in the first place. Be mindful of what you write, and follow some basic principles:
1) Don't tie yourself to a compiler. If you build on Visual C, take time to build on a different compiler (specifically, GCC) every now and then. Getting code to compile on various platforms is half the battle.
2) Don't tie yourself to a platform's API. Use cross-platform libraries and toolkits where you can, use abstraction layers in your own code where you can't. If you do this right, a good chunk of the porting work is just filling in stubs for a new platform. For game development, you should be looking at Simple Directmedia Layer for most of your needs. Other libraries like my own PhysicsFS can abstract file handling for you. OpenAL can give you 3D positional audio if SDL's stereo output is insufficient, and OpenGL gives you 3D accelerated graphics if SDL's 2D linear framebuffer is insufficient.
3) If PowerPC (MacOS, specifically) is of interest to you, be conscious of byte ordering. Always be conscious of structure packing regardless of platform. If 64-bit platforms (Alpha, Itanium, Hammer) are of interest to you in the future, don't do silly things like cast pointers to ints and such.
4) Don't use assembly code. Ever. If you _must_ use it, you better have a C fallback. Be smart and use NASM on win32 and Linux, so you don't have to deal with the massive differences in inline syntax between Visual Studio and GCC.
If you are more than one developer, the easiest way to do this is to have a devcrew made up of at least one person for each targeted platform. This makes it easy to make sure that things aren't silently breaking on MacOS while you write code for Win32, since that developer will catch it in his next code sync (you _are_ using source revision tools, right?).
Good luck to you.
--ryan.
-
Tetris with physics: Triptych
Chronic Logic, the people who brought you the cool Pontifex bridge builder game, have a game called Triptych, which can loosely be defined as 'Tetris meets Columns with physics'.
When you drop blocks, gravity affects them, and you can move blocks around with other blocks. (If your blocks aren't placed square, they don't land square! V shaped blocks tend to sit upside down etc) You get rid of blocks not by making lines, but by getting 3 of the same colour in a row, which then 'energize' and let you eat other blocks of the same colour.
And the best part - it's written in the Simple DirectMedia Layer, so it runs on Windows, Mac or Linux. Check it out. (The main site is in Flash; this site takes you straight to it.
(Disclaimer - I am nothing to do with Chronic Logic - I just like the game.) -
SDL's great for Linux
SDL is great for Linux and has an added plus, if you believe it is a plus, that it works well on Windows, too, so your games will be cross-platform. More specifically, you can develop for Linux even if, for some mortifying reason, you don't have a Linux box at home.
In addition to being fully cross-platform, it supports events, audio, basic thread-creation, and has wrapper libraries around it for C++.
One of the best SDL tutorials I've seen (for Windows) is here, but there's great Linux stuff available too, and it also runs on BeOS, MacOS & MacOS X.
If you'd like to get up to speed on Linux (and other platforms') games programming quickly and you've got C or C++ skills, do yourself a favor and check this out! -
Use Cross-Platform FrameworksYou should use cross-platform frameworks as much as you can.
There are a great variety of cross-platform libraries and frameworks that you would find useful. For example, for a humble JPEG coded, the Independent JPEG Group's JPEG library works really well and runs on everything from DOS to a Cray. It is portable beyond belief. For a lossless graphics format there is libtiff. (I don't know what's available for cross-platform video format software, but I'm sure there is some.)
If you're going to write in in C++, my favorite framework for GUI, file API's, TCP networking, multithreading and database is ZooLib. (But note that presently the best code to use is what's in CVS because it hasn't had a release in a long time (Real Soon Now, really!).
I've started writing a book about ZooLib that is released under the GNU Free Documentation License.
But if you don't like ZooLib, it's important to use some cross-platform framework. There are many to choose from.
Another important framework is the Simple DirectMedia Layer. You will want this for your rendered scenes and for sound (ZooLib does 2-D graphics, it's not a 3-D API).
If you write in C++, do as much as you can with the Standard Template Library. There are some excellent books that teach how to use it.
For a long time, the STL has got a bad rap, in part because the template definitions in the header files are hard to read, and in part because of poor compiler implementations of the C++ ISO standard, or poor implementations of the library itself. But by now there are excellent implementations for every OS that is in common use. For example, on Windows, don't bother with Visual C++ - use Metrowerks CodeWarrior or Comeau C/C++.
Even if you choose to work with a broken compiler, the STLPort library provides a compliant standard library that will work almost anywhere.
I was rather intimidated by the STL when I first encountered it but once I got a good book and learned how to use it, I thought it was the best thing since sliced bread.
Boost has many portable C++ libraries that are of excellent quality.
Finally, I am (slowly) building a website devoted to educating developers in cross-platform and portable programming called ByteSwap.net. Read my first article there Writing Cross-Platform Software - Getting Started. More articles will appear when I get more free time!
-
"We will outsmart..."
We will outsmart OpenSource....
Read as:
We will outsmart, PHP, Perl, MySQL, OpenMosix, Apache, Audacity, Crystal Space, MiKTeX, SDL, Vega Strike, X-Tractor, FileZilla, ... (yes most of this also runs, if not exclusively, on windoze).
Or:
We will outsmart freedom and choice.
Somehow, I don't see it. Then again, a lot of money can buy a lot of laws.... -
Simple direct-media layer
One word: SDL
SDL, Simple Direct Media Layer isn't that at least three words? Err four ... ;)
SDL rocks, and Frozen Bubble is too much fun -
Simple direct-media layer
One word: SDL
SDL, Simple Direct Media Layer isn't that at least three words? Err four ... ;)
SDL rocks, and Frozen Bubble is too much fun -
Simple direct-media layer
One word: SDL
SDL, Simple Direct Media Layer isn't that at least three words? Err four ... ;)
SDL rocks, and Frozen Bubble is too much fun -
Re:Logical fallacy
One word: SDL
-
re: ms directx
"If Microsoft loosened up their grip on the DirectX code it would make matters better."
this is a commom mistake that people make.
the point isnt MS letting directx specs out, its that people continue to use this piece of shit api. use SDL
if you use sdl, your game is portable (or at least easier to emulate with things like Wine). be smart, dont use directx -
Re:not proportional?
Hello? Never heard of SDL? It's pretty widely used by lots of Linux games.
-
sdlquake
try sdlquake. A version of quake1 that uses SDL.
-metric -
Linux has good games, laddie buck
Interesting point, but I really doubt that this is aimed at the general consumer. It's for Joe Linux, who prides himself on doing nifty tech things with Linux.
Okay, Tux Racer may not be the most amazing thing in the world, but it's fun for a couple hours.
Freeciv...why is freeciv bad? You don't like civilization? There are some differences, but aside from the fact that civ had more artists (and, IMHO, a worse interface) and is a bit easier to use, not huge difference in fun factor.
Lets consider some others:
zangband/ToME/angband/nethack/etc: These *are* a lot of fun. Diablo has much more simplistic, boring gameplay, and it took off all over. Most variants have a pretty simple text or 2d graphics based interface without music, but some are a bit more elaborate. Be a bit of a pain to play on the controller, yes...
Chromium BSU: flashy scrolling shooter. Could use the 3d hardware in the X-box.
Dunno if you can just use ordinary ol' x86 binaries (particularly considering RAM usage), but:
Quake 3 (use the 3d hardware). Not free.
Abuse: This was a *blast* when it came out -- I played it over and over. It's looking a little dated now, but it's still a good game. Free now -- thanks crack.com.
Pingus is apparently shaping up pretty well.
There's part of the amazing Exile series available for Linux. (shareware)
Maelstrom may be too "simple" for you, as it's only an astroids clone, but it was a very well known game on the Mac for a long time, and I still like it.
While I'm not a tremendous fan of Illwinter's Conquest of Elysium II, their Dominions: Priests, Prophets, and Pretenders is a non-flashy but very deep, very good strategy game. Shareware.
There's a DOS-style shooter from Mountain King Studios, Raptor. (shareware)
Finally, there are all the emulators and whatnot...take a look at GNUboy, TuxNES, snes9x, DGen/SDL,
FreeSCI, Sarien, Exult, XU4, ScummVM, Basilisk II, YAE and others.
There are a host of Loki ports that you can't get any more except used. Lots of good stuff from LGames, though I'm not as big a fan of their stuff as some other people are.
Finally, text-based but really, really sophisticated, good, and almost all of them free, there are text-based interactive fiction (Try Tower of Babel before giving up on this...first one I ever beat without cheating, and it's *soooooo* good). The Interactive Fiction Archive has games and players.
Finally, many good games can be played through WINE -- Starcraft, Fallout, Max Payne, Half Life...
These are just some of the games that I enjoy under Linux. There are lots more (admittedly, some of lower quality) available at the SDL Games Page and the Linux Games Tome.
Linux games usually take a bit more (okay, often a lot :-) ) more effort to set up properly. But they're often very customizable, you can actually have an impact on the game design ("This game needs feature X"), and you don't have to leave the comfortable environs of Linux. And the environment is getting better, not worse. -
Re:Really?
To unless you have your own in house libraries for those you pretty much have to use DirectX for a Windows game, whether you use it for graphics or not.
Uh, ever hear of a little project called SDL? -
Re:'Flow' recommended
While i agree with everyone that it is an extremely innovative idea, i have to point out the idea was not totally theirs.
There is an existing, older game called wetris, for the n64, dreamcast and other systems, that worked on a similar principle.
So, i have to ask: how similar is "flow" to wetris, and is it clear the flow game was inspired by wetris? How do you "guide" the water/ change the terrain in the flow game? I am a mac user, so i cannot play the game for myself and find out.
Hoping soon i can get to a friend's PC and try out this Serious Robotron thing :) Or that someone will start porting this stuff.. you'd think if they were going to do an Indie Game Jam they'd take the bother ahead of time to select an open-source, cross-platform game engine.. -
That's why there's SDL
libSDL Most of Loki's games were ported to it with success.
-
Re:They need to provide more info
Thank god I'm not in your shoes!
I can burn CDs, browse the web, watch a DVD (with menus and DeCSS and everything!), and play some games , too, all from my GNOME desktop on Linux! -
Re:pure flame
Aside from making games, Blizzard did do one thing right. They hired Loki's Sam Lantinga author of SDL
Sam doesn't seem to be at liberty to talk about the stuff he's working on and the technologies they're using(either that or he doesn't want to be bugged about it), but who knows, maybe he'll convince them to code in a more cross-platform way.
Anyway, the guy is a great coder and linux fan. As long as Blizzard pays his salary, I'm buying their games. -
Re:On PS2 Blind Install
Oops forget the URL for SDL quake here it is. Thx
-
already possible - sort of
This is already possible if the developers use SDL/OpenGL or CrystalSpace. I don't think either will support PS2 (unless you use the linux kit) and handheld support is probably shaky. But they're open source and cross-platform!
-
Re:Adventure?
Adventure for the 2600 was the first game with an easter egg. It was also based on the text-based Adventure game, but turned graphical (if you could call those graphics).
It's also still one of my all-time favorite games on the 2600. The bat just PISSES me off in games 2 and 3. :)
One of these days I'm going to make a proper Adventure update/clone for Linux/Windows/MacOS.
(Thank you, Sam Lantinga!) -
components
well, two basic parts: hardware and software
first of the hardware is pretty independant of the os, just pick the highest quality capture card you can afford that is supported in linux, add a reasonable camera, sound card, and a nice modern machine of any kind. I use a bttv card, which works well for me, but of course it depends on your exact needs, and the camera that you hook up to it. As to software:
SDL, mostly used for game programming, but has some of the capabilites needed for capturing, sound recording, etc.
v4l the basic component of all video type stuff under linux-you can see the list of crap it supports there, but it doesn't really have facilities for actually capturing to something like mpeg.
avifile everything you want in a capture API, will let you output to all kinds of formats.
mplayer I have heard that they support capturing now, but haven't used them for that, but is what you will be using for playing back the files you capture.
My recommendation would be to use the VCR project, and one of these for audio. VCR uses avifile to record the video in your chosen format, and will record the audio also, but if you want seperate files for audio and video, it is simplest just to use the mic in with another program.
Let me know if you have problems--it's remarakably similar to what is already done to record television programming, with higher quality requirements, so you should be able to take advantage of all the PVR projects out there.
Or you can let me do it-send me the requirements, 1500$, and I'll send the box back a week later
;-} -
Re:Tiny Windows games for workers
Sorry if I took offense rather too quickly. It was more the thread I was replying to, not your post in particular.
OK. No problem.
The games are Windows only for the moment (Hence the domain name), but a tinyworkbenchgames site is in the works for Amiga fans. There are currently no plans to develop on Linux, although if anyone wants to give it a shot, be my guest
;)I don't have much of free time right now, but I could take a look at the source of a simple game and see if I could port it. I don't know how your games are written but if it's standard C or C++ and if you have some internal frame buffer, than it shouldn't be hard to output that buffer to SDL window. Even if it had to be converted to different format with every frame, the overhead shouln't be high with small screen.
Actually, you may want to take a look at the Simple DirectMedia Layer (SDL) library. Using SDL, you could write portable games working under Windows, Linux, MacOS, MacOS X, Solaris, IRIX, FreeBSD, QNX, OSF/True64. Here's a short summary from SDL website:
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Win32, BeOS, MacOS, Solaris, IRIX, and FreeBSD. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, ML, Perl, PHP, Python, and Ruby.
I really recomend SDL. It's developed mostly by Sam Lantinga, who worked in Loki porting Kohan: Immortal Sovereigns, Tribes 2, Heavy Gear II, Heretic II, Heroes of Might and Magic III, Railroad Tycoon II, Civilization: Call To Power and few other titles, and is now working in Blizzard on the World of Warcraft - in other words, he knows how to code games, and it shows with the SDL. Check out the games, demos and other applications which use SDL.
For the portable sound code you can use SDL_mixer and for more advanced effects I recommend the OpenAL which takes care for you about the 3-D sound effects in a similar fashion as OpenGL with graphics.
What language and libraries do you use anyway?
-
Re:Tiny Windows games for workers
Sorry if I took offense rather too quickly. It was more the thread I was replying to, not your post in particular.
OK. No problem.
The games are Windows only for the moment (Hence the domain name), but a tinyworkbenchgames site is in the works for Amiga fans. There are currently no plans to develop on Linux, although if anyone wants to give it a shot, be my guest
;)I don't have much of free time right now, but I could take a look at the source of a simple game and see if I could port it. I don't know how your games are written but if it's standard C or C++ and if you have some internal frame buffer, than it shouldn't be hard to output that buffer to SDL window. Even if it had to be converted to different format with every frame, the overhead shouln't be high with small screen.
Actually, you may want to take a look at the Simple DirectMedia Layer (SDL) library. Using SDL, you could write portable games working under Windows, Linux, MacOS, MacOS X, Solaris, IRIX, FreeBSD, QNX, OSF/True64. Here's a short summary from SDL website:
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Win32, BeOS, MacOS, Solaris, IRIX, and FreeBSD. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, ML, Perl, PHP, Python, and Ruby.
I really recomend SDL. It's developed mostly by Sam Lantinga, who worked in Loki porting Kohan: Immortal Sovereigns, Tribes 2, Heavy Gear II, Heretic II, Heroes of Might and Magic III, Railroad Tycoon II, Civilization: Call To Power and few other titles, and is now working in Blizzard on the World of Warcraft - in other words, he knows how to code games, and it shows with the SDL. Check out the games, demos and other applications which use SDL.
For the portable sound code you can use SDL_mixer and for more advanced effects I recommend the OpenAL which takes care for you about the 3-D sound effects in a similar fashion as OpenGL with graphics.
What language and libraries do you use anyway?
-
Re:Tiny Windows games for workers
Sorry if I took offense rather too quickly. It was more the thread I was replying to, not your post in particular.
OK. No problem.
The games are Windows only for the moment (Hence the domain name), but a tinyworkbenchgames site is in the works for Amiga fans. There are currently no plans to develop on Linux, although if anyone wants to give it a shot, be my guest
;)I don't have much of free time right now, but I could take a look at the source of a simple game and see if I could port it. I don't know how your games are written but if it's standard C or C++ and if you have some internal frame buffer, than it shouldn't be hard to output that buffer to SDL window. Even if it had to be converted to different format with every frame, the overhead shouln't be high with small screen.
Actually, you may want to take a look at the Simple DirectMedia Layer (SDL) library. Using SDL, you could write portable games working under Windows, Linux, MacOS, MacOS X, Solaris, IRIX, FreeBSD, QNX, OSF/True64. Here's a short summary from SDL website:
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Win32, BeOS, MacOS, Solaris, IRIX, and FreeBSD. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, ML, Perl, PHP, Python, and Ruby.
I really recomend SDL. It's developed mostly by Sam Lantinga, who worked in Loki porting Kohan: Immortal Sovereigns, Tribes 2, Heavy Gear II, Heretic II, Heroes of Might and Magic III, Railroad Tycoon II, Civilization: Call To Power and few other titles, and is now working in Blizzard on the World of Warcraft - in other words, he knows how to code games, and it shows with the SDL. Check out the games, demos and other applications which use SDL.
For the portable sound code you can use SDL_mixer and for more advanced effects I recommend the OpenAL which takes care for you about the 3-D sound effects in a similar fashion as OpenGL with graphics.
What language and libraries do you use anyway?
-
Re:Tiny Windows games for workers
Sorry if I took offense rather too quickly. It was more the thread I was replying to, not your post in particular.
OK. No problem.
The games are Windows only for the moment (Hence the domain name), but a tinyworkbenchgames site is in the works for Amiga fans. There are currently no plans to develop on Linux, although if anyone wants to give it a shot, be my guest
;)I don't have much of free time right now, but I could take a look at the source of a simple game and see if I could port it. I don't know how your games are written but if it's standard C or C++ and if you have some internal frame buffer, than it shouldn't be hard to output that buffer to SDL window. Even if it had to be converted to different format with every frame, the overhead shouln't be high with small screen.
Actually, you may want to take a look at the Simple DirectMedia Layer (SDL) library. Using SDL, you could write portable games working under Windows, Linux, MacOS, MacOS X, Solaris, IRIX, FreeBSD, QNX, OSF/True64. Here's a short summary from SDL website:
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Win32, BeOS, MacOS, Solaris, IRIX, and FreeBSD. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, ML, Perl, PHP, Python, and Ruby.
I really recomend SDL. It's developed mostly by Sam Lantinga, who worked in Loki porting Kohan: Immortal Sovereigns, Tribes 2, Heavy Gear II, Heretic II, Heroes of Might and Magic III, Railroad Tycoon II, Civilization: Call To Power and few other titles, and is now working in Blizzard on the World of Warcraft - in other words, he knows how to code games, and it shows with the SDL. Check out the games, demos and other applications which use SDL.
For the portable sound code you can use SDL_mixer and for more advanced effects I recommend the OpenAL which takes care for you about the 3-D sound effects in a similar fashion as OpenGL with graphics.
What language and libraries do you use anyway?
-
Re:Tiny Windows games for workers
Sorry if I took offense rather too quickly. It was more the thread I was replying to, not your post in particular.
OK. No problem.
The games are Windows only for the moment (Hence the domain name), but a tinyworkbenchgames site is in the works for Amiga fans. There are currently no plans to develop on Linux, although if anyone wants to give it a shot, be my guest
;)I don't have much of free time right now, but I could take a look at the source of a simple game and see if I could port it. I don't know how your games are written but if it's standard C or C++ and if you have some internal frame buffer, than it shouldn't be hard to output that buffer to SDL window. Even if it had to be converted to different format with every frame, the overhead shouln't be high with small screen.
Actually, you may want to take a look at the Simple DirectMedia Layer (SDL) library. Using SDL, you could write portable games working under Windows, Linux, MacOS, MacOS X, Solaris, IRIX, FreeBSD, QNX, OSF/True64. Here's a short summary from SDL website:
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Win32, BeOS, MacOS, Solaris, IRIX, and FreeBSD. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, ML, Perl, PHP, Python, and Ruby.
I really recomend SDL. It's developed mostly by Sam Lantinga, who worked in Loki porting Kohan: Immortal Sovereigns, Tribes 2, Heavy Gear II, Heretic II, Heroes of Might and Magic III, Railroad Tycoon II, Civilization: Call To Power and few other titles, and is now working in Blizzard on the World of Warcraft - in other words, he knows how to code games, and it shows with the SDL. Check out the games, demos and other applications which use SDL.
For the portable sound code you can use SDL_mixer and for more advanced effects I recommend the OpenAL which takes care for you about the 3-D sound effects in a similar fashion as OpenGL with graphics.
What language and libraries do you use anyway?
-
Three cross-platform game programming libraries
SDL seems like it makes it pretty easy to support Linux and Windows
Not only SDL, but also ClanLib and the very widely used Allegro library. Apparently, ClanLib and Allegro have a richer set of features than SDL (such as graphics primitives), but all three SDKs can talk to the various platforms' OpenGL implementations. With tools like these, publisher-developers have little excuse not to write cross-platform code (other than bribes from Microsoft).
-
Some info
Sam Lantinga, the Blizzard Developer, is formerly of Loki Software.
He's also the creator of libSDL, which is NOT a 2d graphics library. Its a "Simple Direct Media Layer" which handles I/O to video, audio and control devices, among other things.
libSDL.org -
Re:my experiences with java gaming
The image loading problem you had with java could be solved by making a preload system to your applet. This is fairly common practise..
As for GDI - GDI was never designed for game use. You're much better off using SDL, PTC (or TinyPTC) - or take a plunge and learn DirectX. Or heck, you could learn OpenGL and be real multiplatform open-source guru whom everyone loves around here. -
What platforms will it run on?What platforms will Star Wars Galaxies run on? The answer may seem obvious, but LucasArts may want to address many different gaming platforms, as well as few desktop ones. To make the development optimal, they should use some abstraction layers. I know people who could help with that.
The screenshots look impressive. It would be cool if I could play that on my platform. And however I realize, that I belong to the minority of gamers (which is good, like Mark Twain has already said, "Whenever you find yourself on the side of the majority, it's time to pause and reflect."), I still think that when they would wisely program this game for many different gaming platforms and few desktop ones, it'd be a piece of cake to release other version. But I'm affraid that they would prefer us to use other options, unfortunately...
Oh, well, I gues I'll just have to wait for Mason, or Warewolf, or Sands of Syllus, or Archipelago, or Catacombs, or Belchfire, or Acid Tempest, or Phoenix...
-
Re:What happens to Loki's Open Source Projects?
SDL has been hosted on its own site ever since Sam Lantinga, the SDL project founder, left Loki. The remaining projects have found other homes -- including OpenAL (which should continue to be available through openal.org).
-
I think Loki did a great job after all.Loki proved that Linux really is a great platform for games. The only problems were strictly social and economical, not technical. I know many people who radically changed their opinions about Linux being a poor desktop and gaming platform, after seeing Soldier of Fortune or SimCity 3000 Unlimited.
So yes, they proved that Linux is not only a toy OS for hackers. And this means a lot.
Loki has made Linux better, from technical point of view. We have SDL and OpenAL. We have a great book Programming Linux Games by Loki Software and John R. Hall. For all of these Loki deserves big thanks from all of us. We also owe them apology for not supporting them as we should. It's sad, but their economical failure is mostly our fault. We have to understand that.
Linux community is a pretty strange market. We're used to free speech and free beer. So I guess now we have to wait for WorldForge.
-
Kinda useless?
Why would a developer want to use this when they will have to develop for other platforms anyway? IMHO, using SDL is the best thing a developer can do as far as minimizing porting time goes. SDL allows programs to compile on most of the major platforms provided they don't use other external platform-dependant libraries.
It just seems useless to use a Mac only library when you'll probably do a Win32 and Linux version anyway and then the Mac one on top of that. Why not kill an entire flock of birds with one stone using SDL? -
Cross-compilingI build the win32 binaries for my (GPL'd 3D tron style lightcycle) game on linux. It's really just a matter of running the 'cross-configure.sh' and 'cross-make.sh' script. Ray Kelm has an excellent page on cross-compiling.
Thanks to SDL & OpenGL the same source code is used for all four supported platforms (Linux, Win32, MacOS9, MacOSX). There's still the odd #ifdef for things like reading directories, but that's about it.
- Andreas
-
Cross-compilingI build the win32 binaries for my (GPL'd 3D tron style lightcycle) game on linux. It's really just a matter of running the 'cross-configure.sh' and 'cross-make.sh' script. Ray Kelm has an excellent page on cross-compiling.
Thanks to SDL & OpenGL the same source code is used for all four supported platforms (Linux, Win32, MacOS9, MacOSX). There's still the odd #ifdef for things like reading directories, but that's about it.
- Andreas
-
Re:The Biggest, hardest step
If you want more portable games, why not write them using SDL? It seems perfect for the job...
-
Re:One thing that will live on...
Sam Lantinga, I think his name is.
Website here.
The library is a dream to code with. I haven't messed around with any of the c++ permutations, nor have I tried mixing in the straight c library with a c++ project... -
I think Loki did a great job after all.Loki proved that Linux really is a great platform for games. The only problems were strictly social and economical, not technical. I know many people who radically changed their opinions about Linux being a poor desktop and gaming platform, after seeing Soldier of Fortune or SimCity 3000 Unlimited.
So yes, they proved that Linux is not only a toy OS for hackers. And this means a lot.
Loki has made Linux better, from technical point of view. We have SDL and OpenAL. We have a great book Programming Linux Games by Loki Software and John R. Hall. For all of these Loki deserves big thanks from all of us. We also owe them apology for not supporting them as we should. It's sad, but their economical failure is mostly our fault. We have to understand that.
Linux community is a pretty strange market. We're used to free speech and free beer. So I guess now we have to wait for WorldForge. I'm not holding my breath for any commercial games for Linux anytime soon...
-
Re:Man this sucks....
At least the open source SDL will live on in someway, so all their effort will not be totally wasted.
Even better, Sam Lantinga (sp?) works for Blizzard now and is the creator/maintainer of SDL. SDL is alive and kicking. And it is good. -
Well...
Apparently SDL is also quite good. I've been organising a rewrite of the old classic C64 (and other platforms) game Wizball and my friend has started on it.
I told him he should check out SDL and he loves it, it's quite easy to use, and I'm looking forward to learning C to help him :)