Hi,
I wanted to ask how the new sound API devleopment is going. Is this something that is stable enough for us to deploy yet?
Thanks, Greg
Hi,
I wanted to ask how the new sound API devleopment is going. Is this something that is stable enough for us to deploy yet?
Thanks, Greg
We pursued “audio2” on Android because of the significant number of OpenAL related crashes that was impacting app rankings. We have solved those issues in the original audio.* APIs. While audio2 might have some minor improvements in resource efficiency, we think it’s better to stay with the regular audio.* APIs since they are better known. There really isn’t much in the way of benefits to using “audio2”, but they should be reasonably stable. There are no new features.
If you choose to use audio2, you should thoroughly test your app’s audio features before releasing.
Rob
Hi Rob,
I experience ‘quirks’ with the OpenAL system. Sometimes I get intermittent freezes when loading my projects in the Simulator on windows in the middle of a sound load block. Users also experience strange sound problems with sounds not playing when they should, that play normally. Sometimes I get echoing happening or sounds that don’t play completely. That’s not to say that these are bugs with the current Open AL system, I just don’t know.
I was hoping for the sound api replacement to solve my issues but if we are staying with OpenAL I will try to detail these problems in a post so that they can be looked at.
Thanks, Greg
audio2 is an Android only feature. You will see no changes at all in the Simulator either on Windows or macOS. You won’t see any changes on iOS at all.
None of these updates will address any of the issues you’re talking about.
Rob
Corona should really try to talk to FMod and maybe add it as a paid plugin, it’s just the gold standard since 2 decades (well back then together with miles from RAD) even though the indie license isn’t as good as it once was as you can’t pump out cheap games every 2 weeks and still use it for free.
But for those with above minimal goals for their projects, Coronas features of sound support (well the lack of) can be a real dealbreaker, and we’re not talking exotic requests, but basic stuff like variable pitch (i.e. playback speed) or positional audio.
I’d die for positional audio and fading…!!!
Quite some time ago I had a discussion with StarCrunch about FMod as he intended to create a plugin. Back then I wasn’t so sure it would make that much sense given the typical Corona dev seemed to be doing this as a hobby / fun experience (besides Adrian/SGS and a few other successful devs) but I guess it’s always a chicken egg probelm too.
Any dev doing a real serious evaluation of engines will just skip Corona for such limits most of the time - f.i. positional audio is not a AAA requirement, *any* 2d game with *any* kind of scrolling needs this.
I think it’s quite unfair to call Corona developer’s hobbyists. If you evaluate our developer pool as people who post in the forums, then you are evaluating people mostly new to Corona. We have many studios who us Corona who never post in the forums.
What I also find interesting is that I didn’t see any requests on our Feedback site for FMod. Even a community plugin developer isn’t going to consider this if the only requests are a few people mentioning it in the forums. If this is something you want, please visit
http://feedback.coronalabs.com
and create a feature request for it and get people to vote for it.
With you saying it should be a paid plugin, how much would you be willing to pay for it? If I’m going to pitch this to the team, I need some idea of its value to our developers.
Rob
Hm Rob, maybe I missed to write this in a better way - what I actually meant was, that *back then*, I had the *impression* that most devs besides SGS, Glitch and a very few others, were just hobbyists. Meanwhile I noticed there are quite a few more pretty successful devs, still sadly slightly better audio etc. is almost never a topic here
I actually did ask for these simple audio enhancements (well pitch modulation at least), but probably only in the forums if the discussion came up and I also kind of expected that, “improve audio features” as it was on the roadmap for a long time, at least will include this and positional audio. After all what’s else to improve besides just the already available fundamental features? Also the roadmap did not mention this will be Android only.
There’s also other stuff I wait for a long time and felt like it can’t be a huge tasks, like vertex colors, originally announced for 2017. Given Corona needs to have vertex colors in the internal used streams already this can’t be a huge issue (there’s more to optimize on the mesh API but that’s one of the bigger things). Of course I know there’s only a limited time available, but the thing is, the better Corona supports fundamental features other devs can’t change, the better the others can implement things that need those.
I haven’t thought about a pricetag, but in general, a plugin offering some serious additional features I think a pricetag of $50-100 is, most of the time, a good range. It’s a level where there is a chance, plugin developers might be able to generate a reasonable amount of revenues for their time and it’s still good value for the money for those, buying the assets.
This would be the amount I think would be fine for a slightly improved internal mixer.
Which I probably think would be the better solution for Corona, *IF* FMod support would mean just to offer a wrapper while the devs had to buy the regular license anyway. Given it’s $2k starting with the second game (per year) the number of devs with usage for this would be quite a bit lower than just a better internal mixer.
That said, the absolute best solution would be for Corona to make a deal with Firelight to include FMod in Corona/in a plugin, at a lower flat fee but I have no idea if there’s even remotely a chance for them accepting such a deal. On the other side, so far they get zero revenues from Corona devs. This could be more expensive than $100 IMO, but I have no idea where a sweet spot would be.
There’s also another option … http://www.un4seen.com/ maybe simpler to make a deal with (depending on how open Firelight is).
Audio seems to be something that a lot of developers overlook. For others, audio may not be such an important issue.
For instance, for a simple platformer, strategy, puzzle, manager, etc. game, having fancy audio features might not be all that important as long as the audio itself works well for the project. Positional audio, fading, altering pitch, etc. are overkill for 99.99% of projects.
Personally, as a gamer, while I love the rich audio of AAA games on my computer, I tend to mute the vast majority of the games that I play on my mobile devices. The few exceptions where I keep music/sounds on are the likes of Tiny Wings, Monument Valley, Super Hexagon, etc. where the music is an integral part of the experience. For vast majority of games, like Clash of Clans or Candy Crush Saga, the music and SFX aren’t arguably all that important to the overall experience.
Nevertheless, I do also agree with you that having more advanced audio controls would be great for some projects. I have written a design document for a simple rhythm game that my team and I would love to create at some point, however, we are not certain if we can do so using Corona. The major issue is concerning the likelihood of lag spikes or some other issues, which may cause the audio and the visuals to come out of sync at which point the entire idea of the rhythm game would be defeated. It might be possible to address this issue to some extent by using delta time, but I haven’t tried it out yet.
I simply see this as a confirmation … audio on mobiles seem to be soooo bad, you’re simply trained to mute it - what’s next - visuals so bad, you just switch off the display (obviously overexagerating)
Of course I see there might be lots of dumbed down simple mobile games made to be played while waiting for 5 minutes here and there etc. or many games that work without sound. But it’s simply not what I, as a game developer, aim for. I aim for the best I’ll be able to create. Everything else is wasted time, my own as well as the users/players time.
Positional audio is *not* advanced tech, it’s stupid simple stereo balance in most situations (or 5.1 in some more), hell I’d be happy to handle this myself if I could set the volume for a speaker per sound. Also I don’t think platformers and the like don’t benefit form this - ever played a game and heard enemies sounds before they became visible - it’s something I actually just expect form any decent platformer.
But even for single screen games it might make sense - of course not as important to anything with bigger maps. One of my games in dev is a singel screen puzzle game, and I’d for sure add a positional bias to it’s sounds if there’d be a way to do it.
Ok, so any new features will have to be submitted as feature requests for audio? For some reason I was thinking we were getting a new and improved audio system.
Thanks, Greg
There is a long standing request for improved audio and there is a (probably valid) perception that OpenAL is the limit. “audio2” was getting away from OpenAL to solve crash bugs and ANR’s on Android. While the audio2 core libraries may have more features than OpenAL, that wasn’t the goal of this project.
Rob
OpenAL, as by it’s documentation (haven’t used it natively by myself), does have all the stuff like positional audio, pitch modifiers, doppler effect - maybe you’re mixing something up and OpenAL was meant to improve audio but caused other issues?
I code around the limitations and try not to have audio respond directly to an event. More ambient sounds than recreational sounds.
It is sad the we are still coding around problems rather than addressing them.
Admittedly most mobile users mute sounds instantly - I know I do.
I am still troubled that I cannot get a cached mp3 to play instantly even with a latest daily - this is just poor IMHO. I really doubt this is an “Android limitation” because I cannot find this limitation in say an Unity game on Android.
Yeah maybe lots of the typical 5minute per session mobile-gamers will mute the sound (probably also because it’s often done while not in a private area) but decent sound can have a huge impact on games (if you ever played Alien Isolation during the night, lights off, headphones on you know the other extreme) and it would be great to at least be able to improve audio quality above the absolute minimum.
are you aware of this?
i haven’t used it for position, but can confirm that pitch works (well) (and has for years, in production, on devices)
given the way they opened it up, i’d be surprised if position didn’t work, as all the needed pieces are there, fe try:
print(al.Source) print(al.Listener) print(al.POSITION) -- or: for k,v in pairs(al) do print(k,v) end
As many others, as well as myself, have already mentioned, audio doesn’t often receive adequate attention. A great way to look at any entertainment product, or any other project for that matter, is to look at its parts as individuals. For games, they typically consist of audio, visual assets, gameplay mechanics & their implementation, i.e. the code, as well as sometimes video. The important takeaway is that the one thing that people focus in every case is the weakest link. If you have a game that sounds great and plays great, but looks horrible and the visuals don’t fit the game at all, that’s what people are going to focus on. On the other hand, if the audio is 3/10 when the art and code are both 9/10, people will focus on the poor audio.
As I already mentioned above, this is why I mute the vast majority of mobile games, because even if the game engines that they were created with supported fancy audio features and what not, the developers themselves haven’t paid enough attention to the audio. I personally get the creeps when I listed to Candy Crush Saga’s background music for more than 5 seconds
Still, humans are drawn to music and what it makes them feel. Games like Super Hexagon are simply an amazing experience and that is thanks to the perfect blend of high quality audio, visuals and gameplay. If a game’s music and sfx suck, you can improve the experience by muting it
Yeah I think this came up at some point in the past already and it’s kind of sad that one has to use archive.org to access that info of 2011.
And even though it works (which is great if it does), it’s not supported and as a dev using these features I’d have to accept that, with any daily build, the functionality could be fully removed without a note (and it would be 100% my fault if it would be a huge problem for my game).
Hi Rob,
Since Corona is staying with the OpenAL sound libraries, would it be possible to create a task to officially implement some of the functions like audio position and range?
It would be fantastic to have a sound come from the direction of its source and grow louder the closer you got to it.
Thanks, Greg