• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

 An idea for a future GMS audio feature : Using VST sound effects with audio emitters in rooms

( I had to re-write this three times here on this forum, so forgive me if I am leaving out certain details... )

So, I have an idea for a upgrade or separate license for GMS, which is the idea of allowing the use of VST effects ( e.g. in the same manner that LMMS uses it's sound effects : reverb, flanger, echo, and etc. ), to control the audio output of sound samples ( like music and environmental/atmospheric types ) that are played from the audio emitters that are placed in rooms. This might be a separate license add-on , like the GMS HTML license, but nevertheless in this case it would add features, like using timelines specificaly for VST sound effects, to allow the game to event trigger the control and values used by the VST effect that is changing the sound sample during game play. Instead of just using a sound sample with only the control of where the audio emitter is positioned ( to control how the sound pans ) and volume of the sound, you would have the freedom to use these other sound effects to be weak or strong, based on where the player is relative to where the audio emitter is that is using the VST sound effect.

Now in terms of setting up and controlling the sound effect, I would like to have the same function that LMMS uses to be used in GMS, where you can drag and drop a control knob from an effect on to a automated track, and on the automated track you control the value of that control knob that controls one of the parameters that changes the VST effect, in the timeline of the sound sample when it is played from a audio emitter. However, in the context of GMS, its all controlled from GML using special functions that are added on.

Here are two examples of How I use VST effects in LMMS ( which is the idea for GMS that I am thinking of ), where you simply drag and drop a control from the VST effect's GUI into the automated track which is controlling the sound sample

LMMS example 1

LMMS example 2

Now in LMMS, when you do this you have a GUI of the sound effect. In this case I am using the decay time value to control to change the first instrument called "Choir". Take note of the thin red frames. Now I could have added more automated tracks for controlling choir, using other control knobs assigned to those automated tracks , but I didn't. Its that feature of LMMS, that GMS ( via GML ) could use to control the values of a VST sound effect that changes the sound sample, that assigned to a audio emitter uses at its position in a room after its assigned.

Now I have not mentioned the entire implementation of GMS using VST sound effects, because I dont want to get long winded in my explanation. I just wanted to mention that it offers an advantage over just playing one sound sample or music during the time of game play. One of the problems I have noticed is that I am at the mercy of how the recording of a sound sample is and the problem when it does not sound right at different times in the atmosphere of my rooms. I am saying that not only that you could use VST sound effects, but you can alter the sound effects of the sound sample during the game play, just as I demonstrated in my examples.

( I hope this make sense.... )

Would VST sound effects in this context be any interest for game development, if YoYo games added this audio upgrade / or provide it as a separate license to add-on?


Thanks
 

kburkhart84

Firehammer Games
Other game engines actually do have this(or similar) features, so it actually does make sense for games. However, I'm not sure how much sense it makes for 2d, which is GM's primary focus. I would bet that if they ever decided to expand into the 3d market, that they would possibly add this. And I would hope that it would be part of the software license and not as a separate thing.
 
Other game engines actually do have this(or similar) features, so it actually does make sense for games. However, I'm not sure how much sense it makes for 2d, which is GM's primary focus. I would bet that if they ever decided to expand into the 3d market, that they would possibly add this. And I would hope that it would be part of the software license and not as a separate thing.
I dont see the reason why anyone wouldn't want to use VST effects for 2d games.
 

kburkhart84

Firehammer Games
I dont see the reason why anyone wouldn't want to use VST effects for 2d games.
I see no reason for opposition per se. I'm just not sure fully how much difference it would make. The primary reason I see to use them in 3d games in immersion. 2d games don't offer the same type of immersion. Sure, you could add it, more reverb when in big open areas, etc... I'm just not sure how it would be received. It wouldn't be bad of course if done right...but how much better would it actually make it?

It reminds of of the idea of just adding music or sound...it can be sad that adding audio to a game won't make a bad game good, but it can make a good game great, and a great game even better. What about adding VST effects? Would it push a game from one category(bad, good, great, even better) to another? I don't think so. It seems like it would be something like dust particles for foot steps in a platformer. It would seem like a minor detail that really only makes a difference as part of a large group of little details. In 3d it hits the immersion and makes a bigger difference, in 2d, I'm not sure. I might be wrong of course, this is all based on opinion. But it feels like a lot of work to add a feature that in my opinion won't make a lot of difference for very many games.

All that said, I have nothing directly against the idea, more like there are many other things I'd like to see first, things that can either really help make better games, or make the same games easier to make. The features they added in 2.3 are prime examples of the kind of thing I'm getting at. If they announced they were adding it to 2.3.3, I wouldn't tell them not to do it, I would just hope it happened after other features I think are more important to the games we are making.
 

TsukaYuriko

☄️
Forum Staff
Moderator
I'll move this to GMS2 Tech Support since that's the usual forum for suggestion discussions.

This sounds like something that's more suitable for an extension. FMOD, for example, allows loading VST plugins at run time. Integration for that can be implemented by the community and, at least on a fundamental level, has been done before.


Also, the audio engine in GMS has been through so many changes that I'm pretty sure someone will drop a feckin' strawberry milkshake if they're told to change it again... :D
 
D

Deleted member 13992

Guest
Being able to use VSTs would be amazing! But I don't think it's realistic, even if it's made to be technically possible. The developer would have to package the VST with their game, which would almost definitely create licensing issues. Most VSTs, even free ones (like the mda plugins) are not to be packaged with another product.

Better to use FMOD, as mentioned above.

I feel GMS still badly needs basic audio effects without FMOD, still. Like filtering, reverb, delay, aliasing/bitcrushing.

I see no reason for opposition per se. I'm just not sure fully how much difference it would make. The primary reason I see to use them in 3d games in immersion. 2d games don't offer the same type of immersion.
I disagree that this is 3D realm only. Look at the audio design/immersion of Hollow Knight (a 2D game) for example. I think we grow as an industry/artform if we push and challenge conventions, rather than just play it safe.
 

renex

Member
i agree that it's worth looking into official support for using fmod, since in my opinion it's the easiest to use out of the big boy audio engines and it's been around the game maker ecosystem for a while.

pretty much any serious project made in gm8 uses gmfmodsimple, and for the long while that 1.4's audio engine was broken, most of my friends switched their projects to fmod as well.
 

FrostyCat

Redemption Seeker
The big problem with things like FMOD and BASS is licensing. It's one thing for a rag-tag developer to make a GM shim for it, but another matter altogether for YoYo to include it into the engine (and by extension every product made with GMS 2 going forward).

The reason we ended up with the current audio system is because around the end of 1.4's life, YoYo got into a licensing dispute with an audio library vendor, and absent in-house talent in that area, ended up cobbling together a minimalist system to prop things up. Like a lot of temporary measures, it ended up being permanent.

It is something that I hope Opera will do something about while it is at the helm of YoYo, but I digress.
 

poliver

Member
All this can be achieved with FMOD and Wise.

An easier out of the box integration with those would be more than welcome as they are an industry standard.

Also audio buffers exist, I'm surprised no one has made anything interesting with them yet.
 

kburkhart84

Firehammer Games
I think the one thing holding people back from really digging in to using buffers is that you can't easily integrate them with audio in the IDE. If you could easily create a buffer to hold the contents of in IDE created sounds, I believe there would be some sound gurus getting in on it, but as it is...not likely. You would only be able to use sounds as loaded in the "Included Files" or you would have to find some kind of other workaround that likely isn't worth it.
 

poliver

Member
I was thinking more of in the lines of creating an fm synth or smtn since you can write into the buffer directly but yeah, I agree.
 

renex

Member
gml is just about fast enough for a complete fm synth but i think its only really feasible on desktop and console - i dont expect the supported mid and low end android devices to be able to run something like that.

or at least not at a good enough quality... if you're generating 32000 samples a second, and you have to do, say, lowball about 100 ops for each sample, you're looking at a third of a million operations per second just for the audio. then you have the game logic and drawing overhead... i also remember having pretty weird sync issues with audio buffers when they were introduced, not sure if that's been fixed over time although it probably has been since that was like 5 years ago.

it would be pretty cute though. looks like a fun weekend project to me.
 

FrostyCat

Redemption Seeker
GML is a Turing-complete language and there are enough low-level routines for this to be theoretically possible, but that's not the main issue.

Yes, there are community solutions like FMODGMS, but it suffers from the same 3 themes common to many GM community solutions:
  • Ongoing support: The author is no longer active and there are no maintainers to support it.
  • Platform support: It only works on desktop platforms, not on mobile platforms.
  • Reinventing the wheel: This is mostly busy work to sustain something that the game engine should be doing well but isn't.
Is GM really fulfilling its job of being a commercial game engine if the audio aspect requires this level of end-user intervention to be on even footing with competitors?

That needs to be called into question, and with a change in command at YoYo, this is an area that I want to see action in. Yes, I know they have plenty of fires to put out (e.g. x64, Apple Silicon, SDL2, Metal, etc.), and they are huge and necessary changes that may not finish until the end of the year. But once those are settled, I hope they would refrain from further duplicating third-party work that is already effective (e.g. particle system editor, tone generator), and instead work on actual unfulfilled community needs (e.g. audio engine for at least all non-HTML5 exports, native text fields) or areas that have suffered from severe code rot (e.g. lighting engines, learning material for beginners).
 
Top