Ceres Posted April 25, 2021 Report Share Posted April 25, 2021 (edited) Hello! Would you think it possible (and beneficial?) to provide some way to tell mumble/murmur the players' positions? There are mumble plugins for many games, so the players can judge each other's position on the game field when talking via mumble (using stereo speakers or headsets). This is certainly of a very low prio (if not even not worth to further pursue), so please regard this just as a "brainstorming"/idea. Edited April 25, 2021 by Ceres 2 Quote Link to comment Share on other sites More sharing options...
asterix Posted April 25, 2021 Report Share Posted April 25, 2021 55 minutes ago, Ceres said: Hello! Would you think it possible (and beneficial?) to provide some way to tell mumble/murmur the players' positions? There are mumble plugins for many games, so the players can judge each other's position on the game field when talking via mumble (using stereo speakers or headsets). This is certainly of a very low prio (if not even not worth to further pursue), so please regard this just as a "brainstorming"/idea. This is indeed a very nice idea which I like. First of all, we should ask ourselves how do you envision this feature to be used. From what I read so far, It could be beneficial for campaigns, mods or third person view (as rpg or shooters). pinging sound department here @Samulis @Stan`. Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 26, 2021 Author Report Share Posted April 26, 2021 We use mumble on 3 devises at home. The mumble clients run independently from 0 A.D. or any other game. We use push-to-talk, but it can also be configured with speech-autodetection (then one should not forget to turn it off later ;)). The mumble clients have configurable overlays, so the players names and status are shown during game play (works already in 0 A.D.). The text chat of the mumble clients is, however, not shown in that overlay, but 0 A.D. also has its own text chat, so they could still be used separately from each other (i.e. mumble just for speech and - if deemed worth to further investigate and develop - with audio-positioning of the players). If no further development for audio-positioning takes place, then at least the use of mumble/murmur could be a nice way to communicate with each other during game play. Quote Link to comment Share on other sites More sharing options...
Yekaterina Posted April 26, 2021 Report Share Posted April 26, 2021 Mumble is a good idea. We can even implement voice chat. The only catch of mumble is some players don't have good quality stereo headphones, making the game unfair on them. (I do have 1 so I am ok with that) 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 26, 2021 Author Report Share Posted April 26, 2021 Yes, the players should come to common grounds before they start if/how they would like to make use if it, else it could get frustrating to some. When I play with - well, rather against - our kids, they have their own mumble channel, so I cannot hear how they plan to sneak in on me from 2 sides. However, when they want to laugh at me for some captured building or some other success, they are sure to use the "all" channel. I wonder how audio-positioning would feel like... Oh, before I forget - @Yekaterina What do you mean by "We can even implement voice chat"? With mumble as standalone client (and e.g. murmur as mumble server) this is already possible when playing 0 A.D. Do you think about somehow embedding some mumble client within 0 A.D.? Would it be worth the effort? I would really like to contribute to even some very small developing project, but I lack the knowledge for this. So please accept my apologies that my recent posts in the forums were about "feature requests", without me really adding something on the developing side. I hope I can give something else back (e.g. helping with new or reviewing existing translations and testing stuff, especially since I (and the kids) love this game. It is really fantastic - thanks to all involved people! Quote Link to comment Share on other sites More sharing options...
Yekaterina Posted April 26, 2021 Report Share Posted April 26, 2021 1 minute ago, Ceres said: What do you mean by "We can even implement voice chat"? With mumble as standalone client (and e.g. murmur as mumble server) this is already possible when playing 0 A.D. Do you think about somehow embedding some mumble client within 0 A.D.? Would it be worth the effort? I mean a built-in voice chat function in the lobby and in multiplayer games, just like there is already a text chat. If you have played PUBG then that is what I mean. Not all players can agree to use the same platform due to incompatibility / trust issues / privacy, so if 0AD can be its own telephone then that would be great. Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 26, 2021 Author Report Share Posted April 26, 2021 Ah, understood. Hitherto, I only had in mind playing at home, i.e. on LAN. For this purpose, I set up a murmur server in a VM on my Synology server, so all clients at home connect within the home network. I have no experience with online games, though, but understand that when playing on a WAN, privacy matters (even) more. Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 27, 2021 Author Report Share Posted April 27, 2021 Another thing that might be of interest when looking at mumble is that the Windows client* includes a decent text-to-speech (TTS) engine which reads messages, e.g. when a user has joined or left a mumble channel. Maybe this TTS engine could be used to also read messages from 0 A.D., e.g. that one's civic centre or troops are under attack and such? Kindly consider looking into the discussion on GitHub about this. If it will lead to something, I don't know, though. *They released 1.4.0 dev. snapshot 4 on 03 Apr 2021. I currently use the stable version 1.3.4. Quote Link to comment Share on other sites More sharing options...
Samulis Posted April 27, 2021 Report Share Posted April 27, 2021 (edited) TTS would probably be good for visually impaired players, but I don't imagine there are many of those given how visually-driven RTS' are. Not sure why one would prefer it other than that, as most people read text faster than it is spoken (at least for romance languages). Edit: for things like civic centers under attack and so on, there are sound effects intended to help you identify those already without being as intrusive as a TTS voice. While I potentially support the idea of a voice chat in lobby and of course in multiplayer games, I don't quite understand how the game (or any other system) would calculate "player position" as shown in your example. There are no "player" units in the game, it's not an RPG or FPS, it's an angled top-down RTS. Would it be based on city location? If so, players would spend almost all of the time hard-panned left or right which is not comfortable in headphones, and it would offer a massive unfair advantage to players when trying to find an enemy in the first part of the game; the human ear is sensitive to stereo field changes of less than a degree, so it does not take long to locate an exact position even behind unexplored map. I think it would be better for players to simply be mono, or perhaps locked in a fixed place panned slightly based on which side of the map they are on. Honestly probably the simplest solution might just be to have some sort of integration with a 3rd party voice chat solution like Discord or Mumble or something... that way all that would need to be implemented is a way to add an optional field for users to enter their handles or similar callsign, no need for actual audio infrastructure in the game. I'm not even sure what a built-in voice chat could do any better than such pre-existing solutions. Edited April 27, 2021 by Samulis 2 Quote Link to comment Share on other sites More sharing options...
Ceres Posted May 2, 2021 Author Report Share Posted May 2, 2021 Thanks for your thorough reply, which I agree with. I had not given enough thought about the position. And TTS can certainly be annoying if used too frequently/for too many messages. It should be adjustable at least. Finally, some help as you described for "integrating" (using when playing 0 A.D.) of mumble or some other tool would be great enough. E.g., maybe joining the correct channel(s) depending on the team one plays in could be supported? Sorry that it seems that I am just throwing wild ideas here. Please regard them just as some "brainstorming" stuff. If not worth to further purpsue, I will still be happy. Quote Link to comment Share on other sites More sharing options...
Stan` Posted May 2, 2021 Report Share Posted May 2, 2021 Most people use Discord these days. Quote Link to comment Share on other sites More sharing options...
Ceres Posted May 2, 2021 Author Report Share Posted May 2, 2021 Yes, I know about this one. The advantage I see (for my needs at home/LAN) for mumble is to be able to set up the server locally. But keeping in mind the large audience, Discord is certainly more important. Just for curiosity: Does playing 0 A.D. with Discord as chatting/speaking solution work "out of the box"? I don't ask for a guide, just want to know if it's possible without tweaking 0 A.D. And how about different channels for different teams? Does Discord already support this? (mumble does not, i.e. we have to set up several channels, and then select the right ones for communication, if we want to avoid that one can hear the other team opponents) Quote Link to comment Share on other sites More sharing options...
Stan` Posted May 2, 2021 Report Share Posted May 2, 2021 They don't either. It's basically the same as there is no integration whatsoever. 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted May 2, 2021 Author Report Share Posted May 2, 2021 (edited) Where in the 0 A.D. code can I look up the team/player selection? (to understand in which variables etc. this info is stored) And is it also stored in a file during gameplay? If yes, where? Thanks again for your help! PS: Sorry, if my questions maybe do not make sense (I am still trying to learn). Edited May 2, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Stan` Posted May 2, 2021 Report Share Posted May 2, 2021 27 minutes ago, Ceres said: Where in the 0 A.D. code can I look up the team/player selection? (to understand in which variables etc. this info is stored) And is it also stored in a file during gameplay? If yes, where? Thanks again for your help! PS: Sorry, if my questions maybe do not make sense (I am still trying to learn). It's in gui / gamesetup Quote Link to comment Share on other sites More sharing options...
Ceres Posted May 2, 2021 Author Report Share Posted May 2, 2021 Yes, I know, but I am interested to understand whether these settings are then stored somewhere and if yes, where? Quote Link to comment Share on other sites More sharing options...
Stan` Posted May 2, 2021 Report Share Posted May 2, 2021 Well there is matchsettings.json next to the user.cfg. But they are used in memory and go through C++ code 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted May 2, 2021 Author Report Share Posted May 2, 2021 (edited) Thank you! I found the file there (also as a note for myself): https://github.com/0ad/0ad/blob/f314b5b9d2be852a4d25f4b9ef40ab4acf4f2002/binaries/data/mods/public/gui/gamesetup/Persistence/PersistentMatchSettings.js ... PersistentMatchSettings.prototype.ConfigName = "persistmatchsettings"; PersistentMatchSettings.prototype.PersistedSettingsFileSingleplayer = "config/matchsettings.json"; PersistentMatchSettings.prototype.PersistedSettingsFileMultiplayer = "config/matchsettings.mp.json"; PS also for others interested - in Windows (10), the files are there: C:\Users\<username>\AppData\Roaming\0ad\config\ matchsettings.json matchsettings.mp.json user.cfg There is a nice (IMO) online JSON validator: https://jsonlint.com Edited May 3, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Ceres Posted May 3, 2021 Author Report Share Posted May 3, 2021 Now I would like to try feeding 'matchsettings.mp.json' to the mumble client and to have the players join the respective channels... "PlayerData": [{ "Name": "Player 1", "Civ": "spart", "Color": { "r": 21, "g": 55, "b": 149 }, "Team": 0, "AI": false }, { "Name": "Player 2", "Civ": "sele", "Color": { "r": 150, "g": 20, "b": 20 }, "Team": 0, "AI": false }, { "Name": "Player 3", "Civ": "ptol", "Color": { "r": 86, "g": 180, "b": 31 }, "Team": 1, "AI": false Player 1 + Player 2 (both in 'Team 0') will join channel 'All' and channel 'Team 0'. Player 3 (in 'Team 1') will join channel 'All'. Thus, all 3 players can talk via channel 'All', but the 2 allies in 'Team 0' can also talk among themselves, without Player 3 hearing them. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.