I've had an idea (dangerous, I know!)
I was thinking about user voices in the client - with most games, you join some kind of group channel, and you can always hear what they're saying, regardless of where you are. It comes out the speakers, nice and clear.
What I was thinking, is that it would be useful (if not rather clever) to sort out some sort of locational voice system, so when a player is talking whilst standing next to you, you'll hear him clearly, and if he's standing on your left, the sound will come from your left speaker, and so on. If the player is behind you, you'll hear it a little less through both speakers. I think it's called 3D sound or something?
So, the further a player gets from you, the quieter he will sound, and the cut-off point will be fairly distant (perhaps 10 metres).
The reason I thought of this is because with the game I'm working on, there'll be points where lots of players are attacking in a small area (for example, a skirmish or a siege), and it would be more realistic to have locational sound, than having all voice within 10 metres be exactly the same volume, coming out of both sides of the speakers.
Another feature that would useful to add would be some kind of shouting button. Say, for example, the microphone toggle button is Z. If you hold that down, it will be the normal mode, with the volume set according to distance from the player. If you press Shift + Z, the output volume is increased, and the cut-off radius is increased. This would be useful if for example a Centurion needs to shout orders to a player who is too far to hear normally, without the need to run over to them in order to be heard better at the normal volume.
When a player speaks, their name could also come up on the screen somewhere which lets the player know they're speaking, and different ranks could have different coloured text. The same cut-off system would apply, with the name only showing up if they're in the radius, and perhaps it could have a fade scale where the further away the speaker is, the fainter the text is...
Am I making sense so far?
Is this something that can coded in? If so, I think it would be a useful feature to include in the Open Source version.
Thoughts?