Hi, i have question. I have server to program in BGT and i will add to this voice chat, how i can implement that to client and server? It's not a game.
I am not sure for certain, but I think the folks who use that functionality are calling on DLLs outside of BGT. Also, its not great, because it only lets you do clip style transmissions, you can't simply talk and have it transmitted realtime.
I know push to talk transmission. I have file called voice chat.bgt and i dont know i can implememnt it to the client and server
Well i never used that kind of feature before, for preserving bandwidth. But they're using dlls that calls mci functions to record, encrypt to ogg via oggenc and sending the audio data through the server.
you can do realtime voice chat by recording one part, then sending that part. while that part is sending, the next part is recorded, then it's send and so on. sure it's going to cause loads of lag, but even voice clips when really long take a lot of time to send, and it's surely going to make the sound lag out, if one part successfully and then the other one is lagging, then you may get a braker pause, but as farr as I know there is nothing better to be done.
follow me on twitter. @ferrumite666.
#6 (edited by Ethin 2018-01-09 04:51:32)
Um... BigGun.... that's not going to work. Think about what you guys are proposing for a minute. Your proposing real-time voice chat in a scripting language using a networking library that is less than stable, and you want to encode ogg files over the internet, decode them on the server, then download them to all clients connected, them play that back. Do you know how long that's going to take? At least 5-10 seconds, if not longer, for voice clip recording and transmission, another 5-6seconds for downloading to all your clients, and then the playback. That's a possible 20 second lag for voice chat. Seriously.... go develop in C++ and use something far more stable than voice chat in BGT -- it's simply not worth the trouble. And there are so, so many problems with the idea, too. You won't have an in-sync conversation at all. Nothing will flow well. You get the issue. And this is exactly why I want more blind game devs to not use BGT and use something like C++. You want all these features -- database access, ability to send emails, HTTP requests, etc -- but BGT can't handle half of what you want with the quality you want, if at all. Your forcing yourselves to reinvent the wheel and go through unnecessary and needless hassle just to get BGT to do what you want. I get that BGT is easy to learn, and that you can do a lot in it, but it is no longer equipped to face what users want. And it never will be. It's old, out of date, dead... whereas C++ is constantly being updated. There are libraries out there for literally anything. Voice chat is just one of them. Email is another. You guys are missing out on incredible opportunities because you quite literally religiously stick to this BGT-is-god nonsense. I get that BGT is good for a beginner, but once you've developed a few small games in it it's time to move on and learn how to write a real game. C++ or any number of other languages sounds hard. I agree. It looks hard sometimes, too. But if you want to make your games incredible, if you want them to (for example) have speech recognition, BGT is not the thing you should jump to. I won't force you to but it would be really nice if, instead of thinking that BGT can solve all the problems for audiogame development, you guys would actually consider other options.
OK, end of rant. As I said at the start of this post, true voice chat is not going to work in BGT. Definitely not the way you want it to, anyway.
Ethin, tell someone to just go use another programming language is just dumb. They can use any programming language they feel most experienced with. If you don't like BGT so much, why do you even bother clicking on these topics, to talk down to people that use lower end scripting languages than you do?
I not made this topic to fights. I have class to VC and i dont know how i can implement that on the server.
#9 (edited by Ethin 2018-01-09 14:56:05)
Ivan, I do because people go to BGT for *everything*. They don't consider all the limitations BGT has, yet they still want all these cool features (aka voice chat) and don't consider that BGT just make it incredibly hard for them to implement, if not impossible. In other words, I'm trying to assist the community in getting better by getting them to use a non-defunct programming language instead of stagnating like it has. And yes, it's been stagnating. It might not be obvious but it's there.
Also, keep in mind I'm not forcing them. I'm asking. And asking, or telling, people to use a different programming language is not dumb at all. Most programmers do it when someone's chosen a programming language that cannot handle the task they want to do (i.e. VisualBasic's InputBox() function in C# which must be self-designed), or they're doing a shared project (which involves multiple programming languages, a possibility on .NET). It's certainly not dumb.
And I'm not talking down to others. Not in post six, anyway. If I was it would be clearly obvious -- many have seen me do that. In post six I was clearly explaining how BGT cannot handle voice chat of any form (due to it's unstable network library and because of transmission times, it's simply impractical) whereas in C++, for instance, SFML can get you good voice-over IP (there's an example provided to do just that). And yes, it's real time. I might've not been the nicest, but when explaining that something isn't going to work I'm not going to sugarcoat things and wrap it in cotton wool just to satisfy people. I'm going to be blunt about it. And there are lots of people on the forum who do that, so you can't say I'm the only one.
@Ethin, are you telling me that 1 second or less audio clip would take 20 seconds to be sent and played? I am sorry but eather I am not clear about the meaning of the word one part or peace or what ever I said, or you're talking about computers from the nineties. I don't know how long does it take it to do all those things you menshened, but if you have tried using voice chat on stw or any other audiogame that uses voice chat in bgt, to transmit 1 second of audio takes 500 to 1500 milliseconds. Yes, it takes a lot of time, but surely not 20 seconds. I am not sure about what size of audio were you talking about, but I was talking about 1 second of audio or something around that in my original post. I know that I am not the best at programming, but I am sorry but your post doesn't make any sense.
and agreed 100% with Ivan.
if hate bgt so much, why do you even bother to reply to topics about bgt? ok, my rant, over.
follow me on twitter. @ferrumite666.
I was strictly talking about real time voice chat. And the length of transmission depends on how large the clip is. A short 1-2 second clip might take up to 1.5 seconds; a long 2 minute clip would probably take 10-15 seconds. Real time chat like Skype would lag the entire game to horrifying degrees in BGT. It's not practical nor worth it. That's why we have programs like Mumble or discord -- they offer this without you having to implement it yourself. As for why I reply to these, I already gave my response. You guys want all these awesome features that will make your games possibly the best yet you continue to jump to BGT every single time. And the only reason that I know of that you guys do it is because one, it's easy, and two, it's what everyone excluding myself seems to recommend. Look at a hero's call. It's not written in BGT. It's written in C# and look at what a great game it is. Tactical battles isn't written in BGT either and that game was bad-ass. Even in C++ with SFML's example of VOIP that's with no other network activity happening -- just pure audio transmission. It wouldn't be very practical once you started adding in things like weapons, movement, etc., into the program, and then had a lot of players connected. It just saddens me to see you guys express an idea of something like "I want voice chat" or "I want database support" in your games and you leap to BGT and just hope it can solve all your problems. Things like this would most likely be far easier in C++ or other languages because you can interface with the library headers directly rather than having to go through dLL calls. BGT makes things easy but game programming is never easy. Programming something huge is never easy in general. It would certainly make me (and probably others) happy if you guys at least looked towards other options rather than BGT being your immediate pick. We could even make a menu class in C++ to make things familiar for you. But no one's going to jump on it if none of you guys will use it.
Those features will not make audio games better. Making better games will make audio games better. I use BGT because no one has come close to making the most of it, and if we can't extract all the value from something easy, why should we assume we're ready for something more advanced? Give BGT a way to handle threads, libraries, unicode, and FCOL do something about how easy it is to get lag compared to something as famously slow as Java... and that's really all it needs.
But yeah. Is anyone sharing any of this MCI info, or are they just saying "use MCI" and leaving it at that? Using DLLs with BGT is pain enough without treating a couple library::call lines as proprietary.
Please stop this discussion. I put my question called how i can import that, not what you thing about bgt. It's spam. If you want argue and not have reply to my question, please continuing this discussion in other topic. It's not answer.
All right, then how on Earth are we supposed to know how you import a file if we don't know what file it is and what it looks like, or best, don't have the file?
@14, mind elaborating a bit?
I can send code of this, i found this file in example program in 2017
Look, Ethin and Dash, I have no idea what you are talking about. Noone has mentioned a specific way as to where the file can be found, has posted a link to it or anything. I'm not and don't want to be a part of any Skype groups, Dropbox or BTSync folders or whatnot. What I do have the time for, sometimes, is this forum, and basically not much else related to audiogames. I wouldn't mind elaborating if I only knew where to start.
So, Dash, I'm willing to take a look at it, but where and what?
I didn't say anything about a specific file. IF you mean the SFML VOIP example.... you can't import that into BGT... sorry