Game Development Community

Voice

by Quentin Headen · in Torque Game Engine · 07/03/2006 (2:36 pm) · 23 replies

I wanted to know if you can program your game for voice. For example, I want to make a game that people can talk to each other while they are playing online just like xbox live. Please give me this info.

Thanks

About the author

Just your average programmer who tries to finish the projects he starts. :) I am currently focused on creating games with Torque engines. My website is http://phaseshiftsoftware.com

Page «Previous 1 2
#1
07/03/2006 (3:06 pm)
I'm currently in talks with teamspeak and google talk about implementing either of their systems into an MMORPG I'm building. Google talk seems the best course atm, and is free ;)
#2
07/03/2006 (4:24 pm)
So you just download Google Talk and then talk to people while you play?
#3
07/03/2006 (4:28 pm)
Some people use teamSpeak as a voice client. It can run in the background as you play. You just have to make sure that you have a blank key to press for voice chat.
Personaly, it would be nice to use Rakvoice in our games, but it's lisenced to Raknet.
#4
07/03/2006 (5:23 pm)
How whould you program the game to open the voice chat?
#5
07/03/2006 (5:31 pm)
With teamspeak, it couldn't. It's a seperate app.
With RakVoice (if it could be used. At the moment it can't) you'd start it with the game. It get's compiled in.
#6
07/03/2006 (5:40 pm)
Hi guys,

I believe Sam Redfern was able to get TeamSpeak code compiled into Torque.
#7
07/03/2006 (5:45 pm)
Can I program my game so that it can open Google Talk?
#8
07/04/2006 (8:11 am)
Quintin,

There should be a way to do that with Google Talk. I got it working with Skype last week. My method required a couple of intermediate steps with external apps, but it worked fine for me. GT could probably work similarly.

Basically, I created a help document in TML (.hfl files for example) with a link to a web page that has Skype calling code links. Since Torque can pull up external web pages in an external browser, users can click the in-Torque link, then when their browser pops up with the connections page links, they can click one of them to start up Skype and make the call.

Unfortunately, with this method, every application in the process adds a potential point of failure. Users have to make sure that they have Skype set up properly on their systems and that it is linked up with their web browser as an external app. For experienced web-heads and gamers, that's not a big deal. But for mom and pop casual gamers and net-neophytes, it could pose a problem.

I haven't yet figured out how to get Torque to pull up Skype on its own, but I'm looking into it. That would eliminate the middle man (browser) and get it down to just two apps (Torque and Skype). Here's what I'm trying . . .

In regular Torque, using TML a link automatically pulls up the referenced web address in the default web browser for the operating system. I'm trying to change TML to activate Skype and place calls using or similar link codes. I keep running into obstacles, but I know that with some engine changes, this should be possible.

However, even this is just a stop-gap measure until full VoIP integration in Torque becomes a reality for the masses.

Check out this LONG thread for more general information about getting voice in your apps . . .

www.garagegames.com/mg/forums/result.thread.php?qt=15979

Sorry for the long post. I hope this helps somehow.

Aaron E.
#9
07/05/2006 (8:09 am)
Thanks for all of your help Aaron. I will try these things.
#10
07/05/2006 (8:47 am)
Hi,

Just as an update, I finally got Torque (via TML) to open up an external Skype session in Windows when a document link is clicked. It's pretty cool and getting it to work was surprisingly easy. However, I haven't figured out how to place a call successfully.

The main thing is that I don't know how to pass the Skypecast number or target user ID from TML to Skype. In Windows (once Skype is installed on a system), you can place a call by clicking Start->Run. . . and typing in

skype:+3249587349383

or

skype:aaron.ellis

But I get errors when I try to pass those same commands from Torque/TNL. I've tried a number of variations, but still, with no luck.

If anyone has suggestions, I'd love to try them out.

:)

Aaron E.
#11
07/05/2006 (9:06 am)
@Aaron - If I wanted to open a web browser and have a link that I click that places the call, what would that link look like? For instance: http://www.skype.com:aaron.ellis etc
#12
07/05/2006 (9:48 am)
Jonathon,

From your web browser/html file, you can do something like . . .

<a href="skype:aaron.ellis?call">

which will make a person-to-person call. Or you can use . . .

<a href="skype:+99001110010218746">

to join a Skypecast that is already in progress.

To check out the simple one I've got, go to . . .

www.aaronellis.net/skype.htm

[Note: This example uses an old Skypecast session address/number that has expired]

I hope that helps.

Aaron E.
#13
07/05/2006 (9:50 am)
One more thing.

From Torque TML, you would just do . . .

<a:www.aaronellis.net/skype.htm>

When the user clicks the link in TML, it opens up their default browser, goes to the specified web page, and from there, they can pick which number to call or skypecast to join. The web browser will handle everything from there.
#14
07/05/2006 (11:40 am)
Here is the full url you are using to make a call on your skype.htm page:

<a href="skype:+99001110010218746" onClick="var wnd = 
window.open('https://uiskypecasts.skype.com/ui/auth/login.html?id=0f38e8a29cba1ce7e594b791ffd17207&id_talk=15057',
'WebUI','top=50,left=50,toolbar=no,location=no,menubar=no,scrollbars=no,status=no,resizable=yes,width=500,height=400');
 wnd.focus(); return true;">Join this Skypecast</a>

As you can see, there is a javascript 'onclick' event that is happening. So the initial 'http=skype' call is simply opening an instance of skype in the browser, where the actual uiskypecasts.skype.com call is what is actually connecting you to the session.

I would look at extending TML to have a skype tag that will open the skype instance in the browser and then plug the actual url in that you are using to make the connection into that window. This should push you in the right direction.
#15
07/05/2006 (12:21 pm)
Jonathon,

I just tried it out with a more streamlined HTML document and it works fine without all the javascript.

Check out this link . . .

www.aaronellis.net/skype2.htm

The skypecast linked in that one will be valid for another 10 minutes or so.

Aaron E.
#16
07/05/2006 (12:27 pm)
@Aaron - I get a 'page not found' error when I click the 'skypecast' link and when I click the 'skype' link it just sits there loading until it times out.
#17
07/05/2006 (12:32 pm)
Hmm. Wierd. I just heard someone join to my skypecast a couple of minutes ago, but I didn't hear anyone's voice.

Try this, straight from windows and see what happens . . .

Goto the Start button, then click run . . . then type

Skype:aaron.ellis?call

This windows command should start up skype and give me a call.

I'm on right now.
#18
07/05/2006 (12:34 pm)
By the way, what version are you running

I'm using Skype v. 2.5.0.122
#19
07/05/2006 (12:38 pm)
I don't have skype on this computer, but that doesn't stop me from popping the window. At least, it didn't the first time I went to your site.

Maybe the new protocol requires it? If so I'll test it after I get home tonight and let you know.
#20
07/05/2006 (12:57 pm)
Ah. That explains it.

The javascript in the links on my first example (aaronellis.net/skype.htm) takes people to the skype website and tells them how to download the program if they don't already have it.

In my second example (aaronellis.net/skype2.htm), there's no javascript to tell people that they need to install skype. So in the second example, it either connects to skype or it gives an error.

You will need Skype installed on whatever computer you call from in order for it to work. Currently I'm having to make sure my end-users have Skype set up properly in order for my Torque app to call and connect. That extra step and potential confusion is one of the reasons I'd like to find an integrated VoIP solution for Torque.


[Edit: grammar]
Page «Previous 1 2