OpenAL vs FMOD

Discussion in 'Game Development (Technical)' started by Aggrav8d, Oct 12, 2004.

  1. Aggrav8d

    Original Member

    Joined:
    Sep 20, 2004
    Messages:
    31
    Likes Received:
    0
    I've tried implementing both OpenAL+ogg support and FMOD support. I found that FMOD was a little easier to implement but the main reason I chose FMOD was because FMOD could tell me exactly how many hardware channels actually existed and would compensate in software if I accidentally went overboard. OpenAL, on the other hand, didn't give me any (obvious) way of finding out my limit and had no software fallback. So my question is: Did I miss something? There seem to be a number of indies out there who use OpenAL and don't have this problem.
     
  2. tolik

    Original Member

    Joined:
    Sep 20, 2004
    Messages:
    1,407
    Likes Received:
    0
    I also wonder if anybody tried to use latest mikmod builds lately?
     
  3. RedKnight

    Original Member

    Joined:
    Sep 23, 2004
    Messages:
    148
    Likes Received:
    0
    yeah But
    OpenAL is Free
     
  4. Applewood

    Moderator Original Member Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    3,859
    Likes Received:
    2
    And you get what you pay for :)

    That's actually not fair as I've not tried OpenAL, but I'm a devout user of fmod. I started using it as there was a version that runs on pocketpc, but I stayed using it for my desktop stuff as the interface is so damn good. I've still not found a bug in it either.

    FMOD for me...
     
  5. tolik

    Original Member

    Joined:
    Sep 20, 2004
    Messages:
    1,407
    Likes Received:
    0
    We also do use FMOD in some of the projects, however I wanted to hear ANYBODY dealing with mikmod since it has GPL license.
     
  6. otaku

    Original Member

    Joined:
    Aug 25, 2004
    Messages:
    107
    Likes Received:
    0
    I've settled on using FMOD as it provides a nice cross-platform experience with absolutely no headaches. Currently considering porting a game from PC to XBOX & PS2 and FMOD is going to save a lot of headaches.

    I know that the Torque Game Engine makes use of OpenAL, though of course they have wrapped it in their own code and script to insulate the user.
     
  7. Igmon

    Original Member

    Joined:
    Aug 14, 2004
    Messages:
    12
    Likes Received:
    0
    the only difference I see is the price and time spent implementing.

    I think using FMOD is the best move unless you already invested enough time implementing OpenAL. Besides, the shareware price of FMOD is fairly cheap. If you are starting on implementing sound, then FMOD is the way to go.
     
  8. Sega

    Original Member

    Joined:
    Mar 27, 2005
    Messages:
    34
    Likes Received:
    0
    Does that mean OpenAL can play MOD/S3M/XM and IT files? I'm using Torque 2D, but I thought that MOD/S3M/XM/IT files were outside of my options for music. I'd LOVE to use them.
     
  9. Vorax

    Original Member

    Joined:
    Jan 21, 2005
    Messages:
    349
    Likes Received:
    0
    For ease of use, performance and capabilities, FMOD wins hands down IMHO. It's worth the $100 bucks for Indy developers.
     
  10. oNyx

    Original Member

    Joined:
    Jul 26, 2004
    Messages:
    1,212
    Likes Received:
    0
    OpenAL can play raw pcm. So, if you have some way to get a decoded pcm stream out of fileformat xyz, you can play it with OpenAL.
     
  11. Fabio

    Original Member

    Joined:
    Sep 30, 2005
    Messages:
    499
    Likes Received:
    0
    What is the status of OpenAL compatibility on Windoze PC nowadays?

    Also, is OpenAL available for Mac as a standard?

    What about Linux?

    Thanks.
     
  12. Sharkbait

    Original Member

    Joined:
    Apr 12, 2005
    Messages:
    303
    Likes Received:
    0
    I worked with OpenAL about a year ago and it isn't so bad once you get a hang of how to work with it. I found that the best way to find out the number of channels available is to allocate them one at a time until no more channels are returned. Like OpenGL, OpenAL is pretty rudimentary so it makes sense to build an 'engine' around it in the form of channel pooling, support for different audio formats etc.

    Unless one is roll-your-own fanatic and/or really stingy, Fmod is really a time saver. I'm personally working with SDL/SDL_Mixer by the way.. no fancy 3D sound but it surves me well!

    P.S. Fabio, stop complaining about Windows or you'll get a visit by MS 'Ndrangeta... :)
     
  13. Fabio

    Original Member

    Joined:
    Sep 30, 2005
    Messages:
    499
    Likes Received:
    0
    "rudimentary" is the word I like most. ;) I only need streaming.. I prefer to do the mixing by myself with my own audio system because I love it, it's already written and debugged, and I admit I'm affected by the NIH Sindrome and anyway nowadays and before CPU power is plenty for this anyway.

    As I said, I only need streaming. WDM Kernel Streaming is what I use on Win2000+, it's very efficient and low-latency.

    Thanks for the protective hint, dude. :D In fact I tried to keep the profile very low.. if I had to write what I had in my mind 1:1, I'd get that visit for sure. :D
     
  14. gosub

    Original Member

    Joined:
    Sep 10, 2005
    Messages:
    151
    Likes Received:
    0
    Switched from FMOD to BASS

    I was using FMOD, when I ran in to a serious problem. I couldn't search to a specific time within a MOD file in a reasonable amount of time. It took 500 milliseconds to do a search. BASS doesn't seem to have this problem, and so far is getting the job done.

    -Jeremy
     
  15. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Yes:
    Code:
    List sources = new ArrayList(32);
    try {
    for (;;) {
    ALSource source = new ALSource();
    source.create();
    sources.add(source);
    } 
    } catch (OpenALException e) {
    // Ignore - created all sources we can
    }
    
    Cas :)
     
  16. soniCron

    Indie Author

    Joined:
    May 4, 2005
    Messages:
    3,664
    Likes Received:
    0
    I know this is a strange question, but is that safe? It reminds me of the old Borland DOS extender that crashed once computers got fast enough that the speed tests would result in 0, thus creating a divide by zero error. Anyone know what I'm talking about?
     
  17. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    This is the safe and accepted way to do it (although that's Java code there and wrapped up in my library classes, the basic logic is there: create as many sources as you can one at a time until you get an OpenAL error, which OpenAL specifies is what happens when you try to create too many sources).

    Cas :)
     
  18. soniCron

    Indie Author

    Joined:
    May 4, 2005
    Messages:
    3,664
    Likes Received:
    0
    I guess what I'm asking is: Shouldn't you put some sort of ceiling in there? What happens if/when a driver will let you create more than a reasonable number of channels, perhaps due to a bug or "feature?" Value sound cards are increasingly software emulated and I wouldn't be surprised if some day a sound card will let you create as many "hardware" channels as the CPU allows. But in this case, you'd overload the system. I know it isn't your fault if that's the case, but isn't it just good programming habit to be respectful of potentially infinite loops or fatal system overloading?
     
  19. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Yeah, actually I limit my own games to 16 channels max ;) But the pseudocode there is guaranteed to work because OpenAL sources are always hardware sources and you can bet there's a physical limit on them! They're like texture units in OpenGL.

    Cas :)
     
  20. soniCron

    Indie Author

    Joined:
    May 4, 2005
    Messages:
    3,664
    Likes Received:
    0
    The reason I disagree is because my soundcard is fully emulated. It's about as simple as it gets: Output jacks and a small buffer -- the driver mixes everything in software. Because of this, there is no actual, physical channel -- the limit is embedded in the driver. I suppose I'm just incredibly wary of infinite loops. To each their own! ;)
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer