Armagetron Discord

General Stuff about Armagetron, That doesn't belong anywhere else...
User avatar
Ratchet
Match Winner
Posts: 779
Joined: Sat Mar 15, 2008 5:55 am

Armagetron Discord

Post by Ratchet »

Feel free to fire away with your negativity and whatever else you people do when someone makes a suggestion, but:

Armagetron should get a discord server. It's an incredibly beautiful interface that offers the exact same functionality of IRC with a few upgrades. All of the sub-channels are quickly accessible by tabs in the main server. Additionally, there are voice rooms if you want to click over and chat with your pals while you're playing. I feel that in order to appeal to the next generation of gamers, you may consider trying to keep up with the times regarding end-user communication methods. I've noticed lately that a ton of people are starting to prefer discord over teamspeak (and similar communication methods) because you don't have to download the standalone desktop app if you don't want to. It offers the exact same functionality within a web browser.

If you are interested, someone can go ahead and refer to this website to see details on creating a server: (no hosting required!)
https://support.discordapp.com/hc/en-us ... -a-server-

I didn't already do it because 1) I don't want to create something if no one is interested and, 2) I don't want to be in charge of making all of the appropriate people admins/mods.

A quick google search will also show that there is a readily available API for creating bots and apps. Actually, there is a built-in functionality that allows you to create apps for your discord server. Read briefly about it here:
https://discordapp.com/developers/docs/intro

If you want to see a sample of what a server looks like, here ya go:
https://discord.gg/Ph2Nd

And, now that I link you that, it's worth mentioning how ridiculously easy it is to help noobs get into a server. You send them a link and they click on it and type a username in. It's literally that easy. You can link them to any server/channel so that they are automatically connected to the room you are directing them to. If you're trying to help a new guy find #armagetron.tourneys, send them a link and you're done.
Image
"Dream as if you'll live forever,
Live as if you'll die today." -James Dean
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Armagetron Discord

Post by Light »

Ratchet wrote:I feel that in order to appeal to the next generation of gamers, you may consider trying to keep up with the times regarding end-user communication methods.
I think if we're going to talk about keeping up with current times, in-game voice chat should be considered. Most servers running the game are not having an issue with bandwidth, as the server uses very little. It shouldn't be a huge problem as far as that goes, but I'm not sure how much work would go into making it part of the client / server.

Most PC games only have text chat available, with an online forum. Many don't have a live chat outside of the game. So, in comparison to other games on the same platform, we're not really behind. That's not to say there's no room for improvement though.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Re: Armagetron Discord

Post by Lucifer »

Light wrote:
Ratchet wrote:I feel that in order to appeal to the next generation of gamers, you may consider trying to keep up with the times regarding end-user communication methods.
I think if we're going to talk about keeping up with current times, in-game voice chat should be considered. Most servers running the game are not having an issue with bandwidth, as the server uses very little. It shouldn't be a huge problem as far as that goes, but I'm not sure how much work would go into making it part of the client / server.
The basic idea is pretty simple. You have two keybinds, one for team-only and one for entire server. The server would have options to limit users, of course (a vote to silence could first disable talking for that player, for example). Anyway, you open the mic device, and when either button is pressed, you start streaming in from the mic device. Encode using Speex and send it to the server. Obviously the game protocol would need additions to support streaming media. The server takes all the streams, mixes them together, and streams them right back. (I don't remember off the top of my head if we have to decode speex to mix the streams together or not, but it would be worth finding or developing a codec that let's us mix streams without having to decode)

The catch is that the server doesn't handle multimedia of any kind right now, and adding that capability is a little out of the scope of the server. What it needs to do here is actually mix a separate stream for each player, because the player's own speech has to be left out of the stream or you get disorienting echos of your own speech. The other option is to simply send each stream out to each client and let the clients do the mixing, which is reasonable, but will make bandwidth usage O(n), whereas mixing on the server makes it more like O(n/2) or something like that.

My personal preference is actually to develop a separate server for the task that is dedicated to the task and have the clients support that protocol. The server itself should support as many channels as possible and allow game servers to direct connected clients to the speech server that they're using. Then the server admin can decide whether or not to run one of his own, and whether or not to run it on the same machine the game server is on.

I believe we looked into supporting teamspeak in particular, but decided it was missing a few features we needed, and adding support to it wouldn't improve the experience over someone simply running a teamspeak client.

Anyway, in the python network library I'm working on, I'll get to a point where I'm adding streaming speech support and also file transfer support. Since it uses the same tools (other than the obvious language difference) as armagetron for network message serializing, it shouldn't be too difficult to use the game library to develop the speech server and add protocol support to arma for it. You know, when I've already added those features to the game library.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Armagetron Discord

Post by Light »

Lucifer wrote:My personal preference is actually to develop a separate server for the task that is dedicated to the task and have the clients support that protocol. The server itself should support as many channels as possible and allow game servers to direct connected clients to the speech server that they're using. Then the server admin can decide whether or not to run one of his own, and whether or not to run it on the same machine the game server is on.

I believe we looked into supporting teamspeak in particular, but decided it was missing a few features we needed, and adding support to it wouldn't improve the experience over someone simply running a teamspeak client.
Creating a separate server like that sounds nice, giving the ability to maybe have an external client for voice chat, or maybe phone apps. I don't care much for the idea of using Teamspeak with its restrictions without going through the troubles of getting more slots. I think a basic voice chat without a bunch of extras would do fine. All I really see a need for is having the server tell it to mute someone. If it had multiple channels, that could be nice to just have one voice server you use for multiple servers, simply selecting the channel you plan to use per server, or putting your servers into one big voice chat.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Re: Armagetron Discord

Post by Lucifer »

Light wrote: Creating a separate server like that sounds nice, giving the ability to maybe have an external client for voice chat, or maybe phone apps. I don't care much for the idea of using Teamspeak with its restrictions without going through the troubles of getting more slots. I think a basic voice chat without a bunch of extras would do fine. All I really see a need for is having the server tell it to mute someone. If it had multiple channels, that could be nice to just have one voice server you use for multiple servers, simply selecting the channel you plan to use per server, or putting your servers into one big voice chat.
Apparently Speex is considered obsolete, and Xiph has given us Opus, which allows up to 255 audio channels per stream. If it performs as well as the wikipedia page says it does, that makes it reasonable to embed the speech server into the arma dedicated server, because then we just add each client to the channels as needed, and do the mixing for playback on the client side.

What I meant by channels on a server was more like IRC channels than audio channels, which I think is how you read it. So, yeah, the idea would be to basically create a small-scale freenode-like system for speech streaming. Each game server would claim a channel on the network, and we'd start with a single server on the network and work on maybe adding more servers to the network if demand requires it. But the network itself would use armathentication to authenticate users, and game servers could specify whether or not clients who don't authenticate can use the speech capability or will be limited to regular chat.

We'll see what happens when I actually have a game that uses my network game library. I intend to make a single master server network that all games using the library can use, taking lessons learned in arma and applying them in the design phase. :) It would be reasonable to add this speech server idea to it when I get to that point (which will happen, provided we're all working on games around here. We want a bridge simulator that actually works for all of us, and in an MMORPG setting, we'll need speech streaming to talk to other ships). Speaking of whiches, my game network library is almost at a point where it might be helpful if someone wants to help. Most of the framework stuff is there. I'm working on a curses-based game to test everything. Then we're moving to pygame to make a more complete game, and then we're probably moving to Kivy for anything else after that, since that gives us access to Android as a target platform.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
Monkey
Match Winner
Posts: 759
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: Armagetron Discord

Post by Monkey »

Lucifer wrote:I believe we looked into supporting teamspeak in particular, but decided it was missing a few features we needed, and adding support to it wouldn't improve the experience over someone simply running a teamspeak client.
Can we please, please, please only deal with open source software in the future. Both teamspeak and discord are proprietory software and hence aren't available for OpenBSD (my OS) as well as a plethora of other, smaller operating systems that can (or will, in the future, be able to) run Arma.Thankyou.
Playing since December 2006
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Re: Armagetron Discord

Post by Lucifer »

Monkey wrote:
Lucifer wrote:I believe we looked into supporting teamspeak in particular, but decided it was missing a few features we needed, and adding support to it wouldn't improve the experience over someone simply running a teamspeak client.
Can we please, please, please only deal with open source software in the future..
For me, this is a non-issue. I only work with FOSS stuff. I'm quite the idealist. I've put my foot down, and, well, Tank and Z-man have agreed, because they're really cool people.

But there are two who can out-vote me. I'll do my best, but I know those two are also dedicated to the same principles that we're both dedicated to. So, yeah, you get what you want. That's what we do. (there's a stargate joke in there)

Edit: After saying that, and rereading the context, it's worth pointing out that the primary reason we don't support teamspeak is a license incompatibility. This was one of those "no duh" votes that we took. We actually talked about it, and decided "no duh, we won't do that". In my view, that was the decision that led to the fork by the ww people, you know, the fork that wasn't. THAT fork.

We're watching out for you, and we need you to keep us honest. so, Keep doing what you do, and we'll keep having these periodic bullshit arguments, ok?
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Re: Armagetron Discord

Post by Z-Man »

Mumble. We were looking into mumble, I don't recall us giving Teamspeak any serious consideration. That one is FOSS and is present in Linux distributions, supports overlay and has an API that would be usable for us for creating channels and authorizing users, and yeah, the mumble server would not need to be running on the same machine as the game server. IMHO, the only reason we're not already supporting that is the usual one: Time.

Discord, as far as I can tell, only has an experimental native Linux client. I don't see how a web client would give even close to an acceptable user experience while playing a game. I might be wrong there, I'd need to try on a proper PC. And we'd be relying on a specific third party service, which I'm not a fan of. The non-FOSS thing does not bother me as much philosophically as Lucifer, but it definitely bugs me when there are practical consequences.
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Armagetron Discord

Post by Light »

Z-Man wrote:Mumble. We were looking into mumble, I don't recall us giving Teamspeak any serious consideration. That one is FOSS and is present in Linux distributions, supports overlay and has an API that would be usable for us for creating channels and authorizing users, and yeah, the mumble server would not need to be running on the same machine as the game server. IMHO, the only reason we're not already supporting that is the usual one: Time.
That sounds like a much simpler solution, and would already allow out of game, PC and mobile clients to join in if allowed. It would be nice to be able to restrict that as well, but being open source, it would be difficult (at least off the top of my head) to come up with a solution for that.

If the client were to get the server address and channel from the server, that would be awesome, and just have the PTT hotkey available. Maybe a speaker icon on the score board like many console games do it to avoid flooding your screen with a list of people talking.

This is a feature I wish were in more games, as it definitely makes it more interactive than having to take the time to type everything out. Granted, I'm not a slow typer, it still slows down the speed of the conversation and forces you to momentarily take focus away from playing. when speaking and continuing to play is much easier (most of the time).
User avatar
Ratchet
Match Winner
Posts: 779
Joined: Sat Mar 15, 2008 5:55 am

Re: Armagetron Discord

Post by Ratchet »

Z-Man wrote:Mumble. We were looking into mumble, I don't recall us giving Teamspeak any serious consideration. That one is FOSS and is present in Linux distributions, supports overlay and has an API that would be usable for us for creating channels and authorizing users, and yeah, the mumble server would not need to be running on the same machine as the game server. IMHO, the only reason we're not already supporting that is the usual one: Time.

Discord, as far as I can tell, only has an experimental native Linux client. I don't see how a web client would give even close to an acceptable user experience while playing a game. I might be wrong there, I'd need to try on a proper PC. And we'd be relying on a specific third party service, which I'm not a fan of. The non-FOSS thing does not bother me as much philosophically as Lucifer, but it definitely bugs me when there are practical consequences.
Sorry to sound like an ass to everyone else, but thanks for the meaningful response, Z-man.

To those of you talking about creating a solution for in-game chat: why waste your time? Seriously. It's going to be absolutely no less than 18 months before this is talked about again by someone in the future, much less actually coded. Besides, it would be clunky and probably buggy for a while. We don't even have a "beautiful" interface for the necessary basics... (the HUD, menus, in-game music, etc.)

Why waste your time trying to come up with some game-specific voice communications? You'd also have to have it work so that you don't have to be in the game at all to be able to voice chat otherwise it's almost completely useless. I want to be able to go to a central place (like IRC) that I can communicate/visit with my friends and maybe hop in a game.

It's the same reason that very few people use in-game chat on most PC games. It's easier to just start up a skype group call or join a discord server. That way, even your friends that aren't playing can hang out.

I suggested Discord because of how ******* incredibly simple it is. An idiot doesn't know how to play fortress? Shoot them a discord link and explain it to them while you play. You run some janky ass operating system that doesn't support anything (Skype, Mumble, Ventrilo, whatever)? Fine, open the app in chrome. You're tired of trying to find an IRC app on your phone that isn't completely shitty? Guess what, Discord has a beautiful app that has the same, awesome interface.

I'm not getting paid to market for anyone, obviously. I just think this is an incredible opportunity for the community to make a difference now. It's much less daunting than IRC for a new user. I still don't use IRC because it's just not as streamlined and "pretty." Plus, as a gamer, the only game I've ever used IRC for is tron. All of my other gaming friends use Skype and Discord
Image
"Dream as if you'll live forever,
Live as if you'll die today." -James Dean
User avatar
Ratchet
Match Winner
Posts: 779
Joined: Sat Mar 15, 2008 5:55 am

Re: Armagetron Discord

Post by Ratchet »

Double post just because:

If you (the devs) aren't interested, I understand. I felt like this would be a fast and simple upgrade that could potentially immediately improve player retention. As something most PC gamers are familiar with, it would "click" with them more than IRC does. "Hey, you have discord right?" "Yeah, shoot me an invite link!"

That's how it goes any time I want to talk with someone on a different game.

With all of that being said, I doubt I'm ever going to play the game again. So, feel free to do with your time what you wish. I, personally, think you should use something existing and focus any developmental efforts you may have on something else.
Image
"Dream as if you'll live forever,
Live as if you'll die today." -James Dean
User avatar
Light
Reverse Outside Corner Grinder
Posts: 1667
Joined: Thu Oct 20, 2011 2:11 pm

Re: Armagetron Discord

Post by Light »

If you wanted to use an external client, there are already plenty of options available to you. Throw a server up on any PC and run it when you want to talk to people. There's also online options that will provide the server, free servers available for Vent, TS, etc, and likely some with web clients available as well. When it comes to the actual game, I don't see how it wouldn't be best to have the option built into the client. Even using your example. Wanna teach someone fort? Just press a button and talk to them. Not even having to bother trying to get them to your server / channel and toggle between your web client and the game.

I also don't see how it would be useless if you couldn't chat outside of the game. If mumble were used, you would be getting your wish of using it on PC, mobile, and in-game. But with how you said it, pretty much every console game's voice chat is useless? Yet, it's used constantly in just about every game. I don't see why you'd want to be in-game talking to people that are on Facebook or something. I'd rather talk to the people I'm actively playing with.
User avatar
Ratchet
Match Winner
Posts: 779
Joined: Sat Mar 15, 2008 5:55 am

Re: Armagetron Discord

Post by Ratchet »

Light wrote:If you wanted to use an external client, there are already plenty of options available to you. Throw a server up on any PC and run it when you want to talk to people. There's also online options that will provide the server, free servers available for Vent, TS, etc, and likely some with web clients available as well.
That's exactly my point. That's why I can't understand why you guys are talking about going through hoops to get something complicated done. I'm not suggesting in-game chat, I'm suggesting the adaptation of something more versatile and user-friendly than IRC.
Light wrote:When it comes to the actual game, I don't see how it wouldn't be best to have the option built into the client. Even using your example. Wanna teach someone fort? Just press a button and talk to them. Not even having to bother trying to get them to your server / channel and toggle between your web client and the game.
I see. I'm not particularly disagreeing here but it seems like no matter what, in-game chat is going to require extra work. We have a shortage of work in general.
Light wrote:I also don't see how it would be useless if you couldn't chat outside of the game. If mumble were used, you would be getting your wish of using it on PC, mobile, and in-game. But with how you said it, pretty much every console game's voice chat is useless? Yet, it's used constantly in just about every game. I don't see why you'd want to be in-game talking to people that are on Facebook or something. I'd rather talk to the people I'm actively playing with.
I can say with brutal honesty that I haven't used in-game chat on my Xbox console in over 4 years. In fact, if you fire up an Xbox One and try and talk in-game with someone on most games you won't be able to. I would say that less than 5% of people are in game chat on the latest installment of CoD. It's just how the system has evolved. Everyone is in parties so that they can talk cross-game or without being in a game at all. It's not because they're "on Facebook or something"
Image
"Dream as if you'll live forever,
Live as if you'll die today." -James Dean
Monkey
Match Winner
Posts: 759
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: Armagetron Discord

Post by Monkey »

Lucifer wrote:I only work with FOSS stuff
That's good to hear 8)
Z-Man wrote:Mumble. We were looking into mumble...That one is FOSS and is present in Linux distributions
...and it's in OpenBSD's repository too; I've used it successfully myself...
Ratchet wrote:You run some janky ass operating system that doesn't support anything (Skype, Mumble, Ventrilo, whatever)?
"Janky ass" operating systems, such as mine, do support open source software, including Mumble; that's the point, that is just one example of the power and importance of using open source software.
Ratchet wrote:All of my other gaming friends use Skype and Discord
Do your friends know about open source games and open source software? Many people don't.
Ratchet wrote:I felt like this would be a fast and simple upgrade that could potentially immediately improve player retention.
Contrarily, I believe this would have a negative effect on the game and, IMO, our player retention issues aren't down to the fact that we lack something like Discord.
Z-Man wrote:The non-FOSS thing does not bother me as much philosophically as Lucifer, but it definitely bugs me when there are practical consequences.
It's no coincidence that there are practical consequences to using non-FOSS software. Again, that is the point.

While it concerns me that Ratchet, Z-Man and probably many other people haven't realised the full power and importance of using open source software, to be fair, it still has a way to go. I'll keep fighting its cause and take any abuse I get for doing so. :)
Playing since December 2006
User avatar
Ratchet
Match Winner
Posts: 779
Joined: Sat Mar 15, 2008 5:55 am

Re: Armagetron Discord

Post by Ratchet »

Nah, I understand, Monkey. I really do. I'm not an active member by any means around here. I can't honestly imagine myself playing this game any more. I only check the forums when I'm reeaaaally bored or when I'm holding a conversation in a thread (because I was bored).

That being said, I can't force anyone to do anything. And I'm not going to go through with setting it up and advertising when I have no reason to do so. To be honest, your statement about open source-ness is true. I don't think many of my gaming friends know jack about open source software. And, I would argue, why the hell should they? I think it's a great thing for development purposes and those who feel like contributing to the game. But, as a "casual player", most people don't give a damn if a game is open source or not.

Essentially, open source has enabled this game to have some amazing features that it otherwise would not have. However, I can't agree with the notion of completely separating the game from anything that isn't open source. It's a handicap as far as I'm concerned.

I was falsely optimistic that I could suggest something that might help bring this game back from the dumps. I just need to accept it and move on like everyone else has :/
Image
"Dream as if you'll live forever,
Live as if you'll die today." -James Dean
Post Reply