Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
News

Cross-Platform Game Development Libraries? 13

Ratfink18 asks: "Is there a cross platform Game development library for Windows, Macintosh (Carbon or Coca) and Linux? I am a project director for a computer game and as such I am strongly pushing for release on all platforms simultaneous. Since programmers are limited I am looking for a library that will take the pain out of simultaneous releases of software. The library should support both 2D, 3D, input and sound functions."
This discussion has been archived. No new comments can be posted.

Cross-Platform Game Development Libraries?

Comments Filter:
  • by Leimy ( 6717 )
    www.libsdl.org (BeOS, MacOS, Linux Win32 others?) www.clanlib.org (Linux, Win32 others?) Dave
  • by RossyB ( 28685 )
    The Simple DirectMedia Layer is the answer I think (www.libsdl.org). It provides 2D and 3D libraries, and will use hardware acceleration if it available. Kicks arse!
  • by JediTrainer ( 314273 ) on Monday February 26, 2001 @01:22PM (#400290)
    Twilight 3D [twilight3d.com] claims to have an SDK which will save you 7570 man-hours of coding time, which is a multi-plaform multimedia framework and 3D engine.

    Crystal Space [linuxgames.com] is a free 3D engine which is supported on multiple platforms, or

    Flight Gear [flightgear.org] is around for those who'd like to code a Flight Sim of some sort.

    All of the above are noted for their portable API and I've been following their progress for some time now. I hope this helps.
  • Heh, anything but DirectX, right? What about OpenGL?
  • ...that can be found here [wpi.edu]. It's a college research project (by me and another person actually) that studies cross platform design, current software used for cross platform design and solutions to problems and design issues. It's a 90 page .pdf file. It also includes a survey on cross platform design and it's results. We did the research project in order to try and find out why many commercial companies do not create cross platform software, and to find solutions to the problems they claim. It is an interesting read I think.

    P.S. Currently this is the next to final draft.

  • by Heretik ( 93983 )
    http://libsdl.org [libsdl.org]

    SDL is a cross-platform game devel library, that (off the top of my head) works on Linux (X and fb), MacOS, Windows, and probably a bunch of other targets too :) )

    The API is quite nice, and the whole thing is.. it's just nice :). I love it.

    SDL has sound support, and 2d video. If you need 3d, you can use GL for graphics with SDL for everything else, which is a big plus.

    SDL is, BTW, what Loki [lokigames.com] uses to port games from Windows to Linux (Like Civilization:CTP, etc).

    -----

  • When you create software using OpenGL & OpenAL to handle the graphics and sounds, all you need to do is set up the windowing code specific to each OS, and then recompile based on that new window code. I've created simple OpenGL projects on both Macs, Windows & Linux (no Be/BSD/Solaris, though, but I'd assume this still works), and by using an Object Oriented method (C++), the only file that I ever had to change was my main.cc file.
  • Well, my project [wirewd.com] is using OpenGL and OpenAL [openal.org] as the 3D library and audio library, respectively. For a 2D library, OpenPTC [gaffer.org] is always nice, but you can also try faking some 2D under OpenGL. That is the first step on getting your software cross-platform.

    Input is not as problematic as you'd think and is relitively easy to port across platforms. Especially for joystick, mouse, and keys.

    Right now I'm using GLUT [sgi.com] to handle input and windowing for the actual game executable and wxWindows [wxwindows.org] for the other tools. I'm tempted to switch entirely over to wxWindows, although it doesn't have an up-to-date Mac port. The problem with GLUT is that it isn't fast and isn't powerful, but it's great for getting things up and running quickly.

    But as long as you just have to rewrite the program that popps up a window and sets up the OpenGL/OpenAL contexts, it's not as big as starting in DirectX and porting to GL. Just carefully architect the basic framework and there won't be any problems.

    Also note that Mozilla's C++ Portability guide [mozilla.org] may prove to be useful. The goal is to think about portability from the beginning.

  • crystal.linuxgames.com

    It runs on every platform you can think of, and is accelerated in Windows and Linux. Supports 2D, 3D, console, network, physics, Windows-ish GUIs, and even Python scripting.

    Also think about Allegro. It's much more low-level than CrystalSpace, but it's easier to learn (C instead of C++). It exists for Windows and X, though I haven't heard of a Mac version.

    Anyone have actual experience with these two libraries? I've never used either in anything serious.

    Oh yeah - check out PyGame too. Write the whole game in Python, and it will run on any platform with SDL! Samesource code for every platform. (I don't think SDL alone is what you're after, though.)
  • Yes, SDL is good.
  • I'm the project manager of that project so I may be a little biased but Crystal Space does all you want. It is very portable (including MacOS/X, Linux, Windows, BeOS, Mac, OS/2, ...), Open Source, and has lots of features. It is mainly a 3D engine but there is also support for 2D, sound, networking, python scripting, ...

    Check it out at http://crystal.linuxgames.com

    Greetings,
  • www.libsdl.org (BeOS, MacOS, Linux Win32 others?)

    SDL is indeed worthy of praise, but I should point out that Linux, Win32 and BeOS are the only platforms that it _officially_ runs on. From their FAQs [libsdl.org], MacOS "sort of" [libsdl.org] works (8-bit displays don't work properly, audio support is experimental). I mention this since the original questioner specifically asked about Mac support.

  • by Adam Wiggins ( 349 ) on Tuesday February 27, 2001 @04:33PM (#400300) Homepage
    Back in the "old days", I worked at a company that created products that ran on Linux, Windows, and DOS. This was about four years ago and there weren't as many choices. We used:

    rendering: Glide
    input: DirectInput on Windows, /dev/js0 on Linux
    sound: Midas
    widget set: Qt on Linux, win32 on Windows, text mode hackery on DOS

    There were plenty of custom code blocks (file access, system timers, keyboard input, window setup) but they were all small, very quick to write, and self-contained.

    In other words, it's actually no big deal to not use a single, all-encompassing library to protect you from the horrors of coding to a specific platform.

    However, there are other choices these days. OpenGL+OpenAL+Qt would make a pretty nice, completely cross-platform toolkit setup that should do everything you want and more.

    And of course there's SDL, which I think is probably the best choice. I haven't used it extensively myself, but everything I've seen looks very good, and moreover it's what Loki uses, so that's a pretty good recommend right there.

    Also, you might check out the links here [slashdot.org].

"Everything should be made as simple as possible, but not simpler." -- Albert Einstein

Working...