Forums » Community Projects

In Game Voice Communication, Not voice Chat

12»
Jan 11, 2005 Knight_Of_Order link
http://www.vendetta-online.com/x/msgboard/3/8458#98994

is the original post, we are just continuing it here for a more... Professional look & feel

now as for resources.

i have Adobe AF
Flash
and the ilife, and other aOUDO working devices, a friend of mine is also majoring in sound, so i can get him to (GARBAL) the sound
Jan 11, 2005 roguelazer link
This would have to be something the devs integrate. I personally wouldn't want to use an external interface for that- I'd just use TeamSpeak. Not that I disagree with the idea- I just don't think it's a Community Project.
Jan 11, 2005 Beolach link
I see it as being very feasible as a community project. In the thread Knight_Of_Order links to, I've already posted a proof-of-concept shell script that plays an audio warning at the 5 minute Itani CtC announcement. It really wouldn't be that hard to expand to other things.

One of the first things we're going to need to do is decide on a protocol to tell the Voice client what to play. This is kinda what I had in mind, post any problems you see with it or improvements you think would be nice.

Players that wanted to use a voice would review the available voices & select one. Which voice was selected would be indicated by something like M1 for Male voice 1, or FB for Female voice 12. They would then download either a voice-m1.cfg or voice-fb.cfg file, and a "load voice-m1.cfg" or "load voice-fb.cfg" line to their wgaf.cfg file. This would give them all the needed aliases to send messages with that voice.

The voice config files (voice-m1.cfg) would contain aliases similar to these:
alias serco_taunt1 "msg %target% '(M1) Admit your allegience to the Serco Dominion, or prepare to be blasted!'"
alias guild_help1 "say_guild '(M1) Assistance requested ASAP!'"

The player would then bind serco_taunt1 & guild_help1 to whichever keys they wanted to use, and would begin transmitting those messages to other players.

On the receiving side, if the recipient(s) don't have the voice client running, they would simply see the text message as normal, albeit with the (M1) at the beginning. If they do have the voice client running, it will see the message show up in errors.log, and will play $(VENDETTA_DIR)/voices/m1-serco-taunt1.ogg or $(VENDETTA_DIR)/voices/m1-help1.ogg as appropriate.

[edit]
Oh, and I see this as having two big advantages over TeamSpeak:
1) TeamSpeak does not have a Mac OS X client
2) This would not require any additional bandwidth (other than the one time downloading the audio files), and so would be feasible for dial-up players.

@Knight_Of_Order: About you setting up a server from home on your cable modem (mentioned in the previous thread), make sure it wouldn't violate the TOS of your cable provider, so that you don't get cut off. Also, we may eventually want to move to an actual server eventually, if it starts using very much bandwidth at all. We don't want to have to take the server down everytime you want to play VO, and we don't want you lagging out of VO because the server's in use.
[/edit]
Jan 11, 2005 Knight_Of_Order link
@Beolach: your right, what i meant is that i have like 10-15 mb at comcast for a web page, that would give us a beginning to our website, and if people use it then we can consider moving to a better location.

as for the application, it is a good idea, if we could bind them to the Numb pad 1-9 but not have it effect the 1-0 above the "qwertyuiop" it would event be better.

of course we will need to have DETAILED instructions for all implementation, because not everyone has the knowledge that you, the betas, have.

as for voices, i have a 250 mb mailbox. for anyone who reads this feel free to send them to me at gagihia@hotmail.com

but i think this is a VERRY PLAUSIBLE idea.

now for the phrases that we all love and need.

(other then the ones that Beolach gave)

NO NO PLEASE DON'T SHOOT, i'll pay, i'll pay!!!!
ARRRG STOP YEE ENGINES AND PAY ME 20,000 CREDITS, OR YE BE SPACE DEBRIT (this is a very poetic pirate)
OK, OK, THERE IT IS, CAN I GO?
ARRRG PLEASURE DOING BISSNESS WITH YE

one thing we need to look out for is ***.EXE*** and making sure that we avoid it at all costs.

again, i like your idea of binding it.



oh one last thing, any audo file you send me will be ok (exept .RM and .wmp and .avi and .wmv) why you ask...BECAUSE THEY SUCK. .ogg would be best. .mp3 IS JUST as good, .wav is fine so is .aac and .aiff but .midi is pushing it, i could muck with them a bit but it will be anoying and probably overlooked unless it was good.

i also thing Sound effects could be bound too.

@Beolach

this is a question with coding, is it possible to bind multiple things to one button

EX: so yes does not get boring *user presses 1* "yes" user presses 1 again "of course" user presses 1 yet again "why not?"

that way, we could have different saying so we don't hear "ARRRG STOP YEE ENGINES AND PAY ME 20,000 CREDITS, OR YE BE SPACE DEBRIT"

30 times in 4 sectors

more to post later (sorry, got board typing and want t test my boost from 56k to 3000+k
Jan 11, 2005 Beolach link
alias agree1 "msg %target% 'Yes'; alias agree agree2"
alias agree2 "msg %target% 'Of course'; alias agree agree3"
alias agree3 "mag %target% 'Why not?'; alias agree agree1"
alias agree agree1
bind 1 agree

That will make pressing 1 cycle through those three.

As far as binding to the numpad keys but not the regular number keys, I haven't tried it myself, but from what I've read, at least under Linux there's a problem where the binds aren't saved properly in wgaf.cfg. Also, I don't know if it's even possible to bind anything other than the stuff in the game->controls menu to the numpad keys.

I'd prefer to just document how individual players can bind it to whatever key they want, and let them decide what to use. Personally, I'd use capital letters, like H for help, T for taunt etc.
Jan 11, 2005 Knight_Of_Order link
yah the number pad would be more for myself, i would like to use that because i use a joystick and there are 16 just sitting there.

ok, so i have a question beo, have you tried this yet, (i have been looking for and .ogg conversation program so i can make my voices)

so as of yet i have not tried it.

if you did would you let me see the coding?
Jan 12, 2005 Knight_Of_Order link
oh this is what i have so far

#!/bin/bash
cd ~/.vendetta
tail -f errors.log | {
while true ; do
grep -il "\[201\] Itani convoy scheduled to depart from Bractus Watch in five minutes." && ogg123 ~/vendetta/Itani-Five_minute.ogg ;
done ; }

alias serco_taunt1 "msg %target% '(M1) Admit your allegience to the Serco Dominion, or prepare to be blasted!'"
alias guild_help1 "say_guild '(M1) Assistance requested ASAP!'"

alias agree1 "msg %target% 'Yes'; alias agree agree2"
alias agree2 "msg %target% 'Of course'; alias agree agree3"
alias agree3 "mag %target% 'Why not?'; alias agree agree1"
alias agree agree1
bind 1 agree

from your demonstrations.
but, looking at this, i think there should be a sertan way to name them

i was thinking

Nation-Type-QuickDiscription

EX

Serco-Threat-ifyoudon'tfighti'l.ogg
itan-Agreement-thatwouldbeayes.ogg
UIT-plee-nopleasedon'tshootme.ogg
Pirate-Ransome-handoveryecreditsand.ogg
Jan 12, 2005 Beolach link
My personal preference for recording & saving as ogg is Audacity, http://audacity.sourceforge.net a Free/Open Source sound editor. It's available for Windows, Mac OS X, and *nix. I'd prefer to stick with one audio format, Ogg Vorbis being my first choice. But it's easy to convert between most formats, so if contributers want to send in recordings in other formats it should be fine.

Other than my initial Itani 5 minute CtC warning shell script, I haven't yet done any further programming (or recording) for this yet. Before we do get started programming, we need to know what the program will need to watch for, so we'll need to know how we handle sending messages (like I outlined previously, unless someone has a better idea), and exactly what dialogue lines it needs to watch for, and what filenames to look for to play.

So, let's start writing dialogue lines. At first, I just want to get a few out, so we can start programming & testing. Also, mostly (but not entirely, of course) I'd like to stick with generic lines, that could be used by any faction, not just one. Both sides of a pirate/trader conversation could be the same, regardless what faction the pirate & trader were. These lines will be in the form <filename> : Dialogue, for example:
help1.ogg : Assistance requested ASAP!
Means that the recordings of "Assistance requested ASAP!" would be in files ending in help1.ogg. Note that all filenames would be prepended by the identifier for the voice actor, m1- for the first male voice actor, so m1-help1.ogg.

help1.ogg : Assistance requested ASAP!
help2.ogg : I need help here!
pirate1.ogg : ARRRG STOP YEE ENGINES AND PAY ME 20,000 CREDITS, OR YE BE SPACE DEBRIT
pirate2.ogg : ARRRG PLEASURE DOING BISSNESS WITH YE
trader1.ogg : NO NO PLEASE DON'T SHOOT, i'll pay, i'll pay!!!!
trader2.ogg : OK, OK, THERE IT IS, CAN I GO?
serco-taunt1.ogg : Admit your allegience to the Serco Dominion, or prepare to be blasted!
thanks1.ogg : Thanks!
omw1.ogg : On my way.
distress1.ogg : I can't hold her! she's breaking up, she's breaking up!

I think that's enough for now, we can add more later. One other important thing we'll need to decide, is what language we want to program the voice client in. That proof-of-concept I did was in bash using standard Linux commands, but for the full-fledged voice client I don't think bash would be the best choice. I'm personally leaning towards perl, because it's supposed to be fast, have good text string parsing, and is very cross-platform. Also, I've been meaning to learn perl for a long time now, and this would be a good project for me to start on. ;-)
But, if anyone else wants to get involved as a programmer, and would prefer to use a different language, it'd be best to say so now.
Jan 12, 2005 smittens link
I would love this...making a name for myself by using something after every kill...hehehehehe

Love your ideas Beolach.

--Smittens
Itani: Register at http://itaniboards.proboards43.com
Jan 12, 2005 KAos_nyrb link
When you program this can you try your hardest to make it for all 3 platforms?
Sounds cool anyways. Nice addiction to vendetta!
Jan 12, 2005 Knight_Of_Order link
"When you program this can you try your hardest to make it for all 3 platforms?"

thats what beo meant when he said:

"and [perl] is very cross-platform"

@Beo

sure when can do it in perl if you like, i now nothing of perl so you would be on you own until i learn a bit.

as for audacity, i had downloaded that a year ago, but when i got my new comp, i did not transfer it over. and when i tried to get it again it was not at the same site, thanks for showing m the correct site. (thats the program i was going to do the converting in but could not find.)

as the naming goes, i think you may have a good idea.

as for the programing. if it is possible to just choose a random audio file from a folder then we don't have to look up folders

EX: when button is pushed tells system to open a random one in folder help
that way, even if the other user does not have that particular file they will still hear the announcement

even if it is the same one that comes with the add-on "Help!"

we could have as many folders as we can think of, and for later we could have 4 main folder for the nations and then the subfolder for the types of chat.

and if a serco is calling for help then a UIT will here it with his SERCO voices but if the UIT asses for help as well then both serco and UIT voices would be herd
Jan 12, 2005 Knight_Of_Order link
page for this has been Remade

Still under construction

//EDIT No longer up, being Remade. :)
Jan 13, 2005 darksmiley link
hi people - wow i didnt realise this much was going on! so u like the idea then? lol

do you think the animation and true transmission feel of it is possible this way or just the basic transmitted messages?

im not sure how much i will be able to contribute as i am busy at uni and with lots of stuff right now (plus i cant even play vendetta for the next 2 months coz of the uni network) but i would obviously like to keep up to date and will help in any small ways i can.

chat later. =)
Jan 13, 2005 Beolach link
There's no way we could really directly integrate an animation with Vendetta. The only way I can think of that we could do it without needing the devs, would be to run VO in windowmode, and then launch a seperate window to play the animation. If we want to do that we can, but I'm planning of focusing just on the audio side first. We can really expand it a lot as time goes in.

I'm going to be stuck at work a lot for the next couple days, so I won't be able to do a whole lot. I'm hoping I'll have enough time next week to really get started on programming the voice client.
Jan 14, 2005 Knight_Of_Order link
ok, i'll see what i can do to get the listed voice commands onto my web-page for you. i will see if i can get a friend of mine to do some female voice for us, and i will work on getting the files named in an appropriate, and easy to use list.

which reminds me, how do we want the files.

Crisp and clear
slightly scratchy
Not much there

i was thinking of it as a dependent. if we use the scratchy for under attack and so on (should have a couple of rudimentary ones by 4:00 PM PST jan 14th
Jan 14, 2005 Klepto link
This is a great idea. I'm working on a VO script right now, I'd love for it to integrate with this project. I know the numpad has big problems ATM, but I have faith that it will be fixed soon enough :)

Is there anywhere I can get/suggest a list of messages we could use?

I haven't used windows in a long time, how easy will it be for non-tech savvy users to install everything they need?

As for sounds, all should have a little static IMO, make it sound like radio and it will add to the atmosphere. For "under attack" perhaps put some battle sounds in the background?
Jan 14, 2005 Knight_Of_Order link
Klepto, for now just suggest the things on here. as for needing windows you won't need it. the idea is that it is cross platform, all platforms will be able to use this and all OS will be able to use it the same way. who wants a mod that only on OS can use? so power-hungry vindictive user? (no pun intended)

sorry for the delay in sounds, got caught up, and was unable to do any today.

will add all the voice suggestions to the web-page.
Jan 14, 2005 Klepto link
The reason I asked is that I agree it should be as widespread as possible, and as such should be as easy as possible to install.

As for the suggestions, I'll get then to you sometime over the next few days. Keep up the good work ;)
Jan 14, 2005 Beolach link
Since I'm planning on doing this as a perl script, it should work pretty much "out-of-the-box" for *nix & Mac OS X, both of which should come with perl. For Windows users, you will need to install perl, either from source or as a binary. I'll post more info on what all is needed once I actually have anything done...
Jan 24, 2005 Knight_Of_Order link
Sorry Beo Slacking on Voices, been busy with work and making money for school coming up.