Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add mumble positional Audio #1753

Closed
iqualfragile opened this issue Oct 20, 2014 · 28 comments

Comments

Projects
None yet
@RealBadAngel

This comment has been minimized.

Copy link
Contributor

commented Oct 21, 2014

i dont get the point. openal supports positional playing of sounds already.

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Oct 22, 2014

the point is to export the player position and orientation to the external programm mumble, which is like team speak so it can put the people into the right relative positions to each others, which really helps with immersion.

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Oct 22, 2014

so it sounds like the things people say in mumble come from the position of their minetest characters

@kahrl

This comment has been minimized.

Copy link
Contributor

commented Oct 25, 2014

This video demonstrates what it does: www.youtube.com/watch?v=yL4t4QBc4gU

@Calinou

This comment has been minimized.

Copy link
Member

commented Oct 26, 2014

Sauerbraten, Red Eclipse and Tesseract already support it, if someone wants to look at the code.

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Oct 27, 2014

The linked documentation already contains enough code, I would basically only need the refractor the game pull request merged and this would be trivial to implement.

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Nov 4, 2014

https://gist.github.com/iqualfragile/bc0864e1cc9830d40e0a
Implemented it.
Works under linux, no idea about crappy platforms.

@RealBadAngel

This comment has been minimized.

Copy link
Contributor

commented Nov 15, 2014

can you make pull request with it?

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Nov 15, 2014

does not yet work on crappy platforms, i will get it ready in about 3 days i think.

@kaeza

This comment has been minimized.

Copy link
Contributor

commented Nov 15, 2014

It seems to compile fine under MinGW32, with minor modifications. You can find a fixed patch here.

I still couldn't test if it really "works". Anybody up to test?

mumble

@kaeza

This comment has been minimized.

@mwild1

This comment has been minimized.

Copy link

commented Feb 20, 2015

Any update on this, @iqualfragile ?

@falsechicken

This comment has been minimized.

Copy link

commented Feb 20, 2015

I would like to know as well. It would be a killer feature for me as it is something I have always wished Minecraft had for survival servers. I would like to have full positional audio (Similar to games like DayZ) where you cannot hear players until you get close.

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Oct 24, 2015

@mwild1 @falsechicken
Well, i did test that patch i wrote, and it worked on linux x64 but i never tested it on other platforms.
There also seem to be a horrendous ammount of issuse with the code, which are mostly styling issuses, that i am in fact willing to fix, but the "moving it to the games recyable state" thing i am not so sure how to do, as i am not too familiar with minetests inner workings. if someone could mentor me on that i could fix it up (would base it on kaezas work so it might work on crappy platforms, but i can't really test that).
@Hmmmm the dependency on shm is necessary as thats the way to talk to mumble. if there is some way to detect if its available on compile time, we should use that.

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Oct 24, 2015

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Oct 24, 2015

@rubenwardy not quite sure what the relation between mumble positional audio and libspatial is.
there is no need to serialize anything for mumble.

@rubenwardy

This comment has been minimized.

Copy link
Member

commented Oct 24, 2015

I meant that it is possible to optionally include a library.

@Hmmmm the dependency on shm is necessary as thats the way to talk to mumble. if there is some way to detect if its available on compile time, we should use that.

@Hiradur

This comment has been minimized.

Copy link

commented Dec 3, 2015

Anybody working on this? If not I would give it a try.

EDIT: Work started, ~80% done, probably won't be completed before the holidays are over.

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Dec 3, 2015

@Hiradur not that i know of, there is working code, but its considered ugly for the linked reasons (irc)

@Hiradur

This comment has been minimized.

Copy link

commented Dec 16, 2015

I'm almost finished now. Here is my implementation which is based on work by @iqualfragile and @kaeza:
https://gist.github.com/Hiradur/94bb7414a40043b2a628

Please note that it is untested. I'm going to test it over Christmas. Any feedback and testing is welcome (particularly on Windows which I can't test on).

details:

  • optional at build time (ENABLE_MUMBLE)
  • optional setting at runtime (enable_mumble in mintest.conf)

Known issues:

  • mumble_link is not cleaned up when enable_mumble is set to disabled ingame
  • Option "Mumble positional audio" is visible ingame even if the game was built without ENABLE_MUMBLE (any idea how to fix this?)
  • calculation of avatar direction and up vector depends on camera and thus is wrong in "third person front camera" mode
@iqualfragile

This comment has been minimized.

Copy link
Author

commented Dec 16, 2015

There is no need to have the settings for run and compile time, especially not the setting for run time.
It costs like one function call and 7 variable sets each frame, which is ignorable so a run time setting is not necessary. The compile time switch is not needed in my opinion because it does not introduce any external dependencies or change any function. Maybe use the server/client flag instead, because having that on a server is really useless.

@Hiradur

This comment has been minimized.

Copy link

commented Dec 16, 2015

I made it optional at runtime because it could influence PvP games which some may not like.
I made it optional at build time because I'm not sure if and how shared memory works on Android and other platforms.

I have no problem with making it non-optional if the community demands though.

@JurajVajda

This comment has been minimized.

Copy link

commented Jan 17, 2016

hi guys, would be possible to test this already without re-building the minetest game, maybe even in some sort of lua mod ?

@iqualfragile

This comment has been minimized.

Copy link
Author

commented Jan 17, 2016

as you need to set up shared memory, i think not.

@0-afflatus

This comment has been minimized.

Copy link

commented Feb 17, 2016

I'll be ready to test this soon. It would be a great addition.

@verymilan

This comment has been minimized.

Copy link

commented Sep 14, 2016

Any news here? :)

@paramat

This comment has been minimized.

Copy link
Member

commented Aug 13, 2017

👎

@paramat paramat added the Sounds label Aug 13, 2017

@paramat

This comment has been minimized.

Copy link
Member

commented Sep 8, 2017

#3739 was closed, we consider it not worth doing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.