I will take the current lobby as reference. I know, it's a beta. But as we have no idea what they are planning, let's take the worst but most probable scenario : The current lobby is the base and they will build stuff on top of it. First, let's take some griefs that others game lobbies had from their community, and in particular another RTS lobby, that had millions and years of developpement, but still failed to grasp some basics concepts. http://www.teamliquid.net/forum/viewmessage.php?topic_id=429715 Let me quote the important part : Let me break this into several key points: Community feel Fast & Slick interaction Matchmaker & Ladder Community feel The chat. There is none now, so let's talk about how I think it should be done. In my previous gaming experiences, I've experienced a real community feeling only a few times. And each time, it was due to the central presence of a chat in the game lobby. It's not about friend list & Private message. Friend list is nice. It has to be there. But it's not nearly enough. Let's take Battlefield 3 lobby (or battle.net 2). It has a friend list. On my list, it has mostly people I already know, and some people that I've met in forums or other games. There is not a single guy that I've met inside BF3 (or starcraft2/diablo3). Because that's what friend lists are : A way to add people you know. For having a good community spirit, you need to MET people in the first place, mingle. And you need tools to do in in a non-intrusive way. Friend list are intrusives. I won't add someone I've just met in game, but that doesn't mean I don't want to talk to him anymore. It's just that I don't want to be *that* close so soon. Chat must be accessible. Like the guy in the quote said, it need to be a central point of the lobby. There are Chats built in steam. In every game. Have you EVER seen one game chat with people on it? But I will go further : It has to be something you can join even if you don't really want to play PA. For that, the easiest and more sensible solution I've found is IRC. While it's old, there are IRC client for ANY platform, even smartphone. No extra work needed, you can join your community in public transportation if you want to. Another major key point is : I don't want to launch a big application to join the lobby. ie. I don't want to launch PA to join the lobby. I don't want a fullscreen app for that. It has to launch fast and not be intrusive in your desktop. From the PA current lobby, there is a simple solution to that : Open PA in a windowed, resizeable window. When a game is launched, switch to fullscreen. It should also be possible to switch to the chat at any point during the game. It has to be friendly. Let's take diablo 3 in example. They've tried to listen to griefs, and there is a chat opened by default when you launch the game. It's in a corner of your interface, and the only thing you see is people trying to sell stuff. The only thing I want to do is to close it immediately. It has to be a central part of the experience. Ie. friend list should be linked to that. Awards should be linked to that. Games should be linked to that. Anything must be done so the user wants to join the chat, and feel part of a community, even if they don't actively participate. It makes the game feel alive. How I've applied all this points in FAF : Chat is join by default. You cannot not join the chat. Even if the user skip the chat entirely, everything is linked to it. He can't ignore it entirely. If he need it, he knows it's there. Also, he feel that he is not alone. He feel the game is alive. Friends are in blue. I can see when they are joining a game or create a lobby. Or play a game I can observe. I'm getting a message when their game is launch or when they do it. A simple click teleport me in their game, or launch the livereplay (in the case of PA, the chronocam).
Fast & Slick interaction A lobby has to be fast, because it's a gate to your game. Not something you want to spend time in (unless you are chatting Right now, I can see some new added transitions in the PA lobby. Drop them. It's nice the first time you see them, then it's just annoying. If you really want to add transitions, make them optional, and disabled by default. Listing the games is a basic function, I should not have to confirm it. ie. in Battlefield 3, I have to click refresh to see the games. It's silly. If I'm on that page, it's logical that I want to see the games, and the games that are available now, not 5 min ago. It makes no sense from an user point of view. Who never compulsively pressed "refresh" a dozen times in a row "just to be sure" ? The news. Most people don't read them. They want to play the game. Add a new feed in a corner, but not an annoying thing you have to confirm. (seen that too many times in other lobbies). How I've applied this in FAF : From ANYWHERE in the lobby, you are at less than 3 clicks and less than 0.5 seconds (if you are REALLY fast) from any other function. And when I say function, I mean the final step of the function. (ie. not 3 steps from a "refresh" button From the deepest hierarchy of FAF (ie. map stats) you are at : One click from the chat. One click from the list of game. Two clicks from hosting a game (+ an additional click to confirm). Two clicks from joining a game. Two clicks from seing a livereplay. Mostly because of tabs, and the fact that everything is precharged all the time. If you go on the game lister, you don't have to click "refresh". There is no refresh button. It already has every game listed, and it's pushed in (almost) real-time. The memory footprint is low, it's mostly HTML formatting, even for the game lister, exactly the kind of stuff PA can do. And for friend functions, (game hosted,..) everything is pushed to you.
Matchmaker & Ladder Something starcraft 2 did really well. I mostly want to talk about 3 main things. First, the rating system. Drop Elo. I've did my research when I've started FAF, so I can talk about it in details. Any rating system, Elo included, is based on the chances that two (or more) players has to draw against each other. A draw is an abstraction of the fact that the game was balanced. If the probably of drawing is 100%, it means that both players have the exact same skill. So when you compare two players, you are actually comparing their chances to draw, and their rating is the reflection of these chances. The scale of the rating is arbitrary, only the gap is meaningful. (ie. on FAF, a gap of 200 means that one player has 70% chances of winning). Now, any system, Elo included, use normal distribution to compute that. The problem with Elo is that it was "invented" at a time where computers didn't exists. It has to be easy to compute by hand. So they did a crude mathematical approximation, dropping the deviation entirely and replaced it by what they've called a "k-factor". It's a arbitrary number determined by the rating of the player that is supposed to represent deviation. Now, we have computers. Hell, PA rating will never be computed by hands. Drop Elo. It's not important what other system you are using, but doesn't use Elo because some players doesn't understand the mathematical aspect of things. Why some players prefer Elo. Because it has plagued games for a long time. They are used to it. But there is another insidious reason: Any other rating system, once reach your skill level, won't make your rating evolve a lot. That's normal. Once your level is evaluated, it's unlikely that you will get way better in 3 games. Elo, due to the k-factor, inflate rating consistently (that's why it has to be reset regularly). That makes people "feel" they are getting better, while it's just a side effect of inflation. "Oh! I win 10 points on that match! It feel great!" But from a mathematical point of view, the system is biased. How I'm trying to solve this in FAF I'm using Trueskill because it's the most documented, and so easy to implement, system out there. http://www.moserware.com/2010/03/computing-your-skill.html I find it very reliable, in the sense that the distribution of players seems correct, it doesn't inflate over time, and more important, people are matched with people of their skill. I've seen some very bad implementation in some games, but it's mostly because the people who implemented it did not understand how it was working. I never had any complain of someone being matched against way better than him, and looking at win ratios of players, it's very often around 50% (that should be the case of any good matchmaker), meaning that they had 50% chances of winning or losing, so most of time, nearly 100% chances of drawing. BUT the problem is the "reward" factor : rating doesn't evolve much once you've reached your level. (when you are around 50% win ratio) So I've implemented a league system : It's very prone to inflation, but it's meant to. It's reset every season (3 months), and people get rewards grinding the leaderboard (more points, avatars, ...). But underlying that, trueskill is used to match them. It's not perfect (it's rewarding people who play a lot too much), but that's my main concern for the next season. On top of it, I've added a message and a quick join when someone your skill is inside the matchmaker, to make people aware of that. They know the system is reliable rating-wise, so they don't fear searching that much knowing it will be someone their skill level. Also, it's a good fight against laziness that plague ladders most of the time. It's actually working great. Another good think to look at is the starcraft 2 system. (who is using a trueskill-like system under a league system too).
See, this is hard, I take some issue with the WAY you make your proposals but, in the end, I do like the proposals. Simple +1, really. Also BIG +1 on abandoning ELO. It is profoundly stupid.
+1 The FAF-Lobby is by far the best lobby I've ever used! For me, the most important part of the lobby is the global chat, which can be visited even when a game is joined. This really gives you a feeling of not being alone. Oh yes, not having stupid graphics effects hindering me from navigating fast is also big feature.
Yeah I really feel a lobby can make or break a game. FAF has an incredible system, you can check it out without having the game just to see how well it works. It's nice to have so much there in the lobby that you don't have to play the game to want to open the lobby and integrate with the community and utilise the lobby features.
When I see the current game lobby its hurting. This has nothing todo with beta because its just utter dumb to put the chat window infront of the player list. It was done thousands of times and now uber with so much spare money does not want to use existing stuff but want to reinvent the wheel. Uber should spent money to support thepilot for his input and not on stupid experiments!
Wow. I'm glad I'm not the only one that hopes this game will be great. Thank you so much for the indepth writeup! @thepilot I would actually make the Wiki for FAF a more important than it is now. If people used it more, it would be in much better shape. Maybe a button on the bottom, right next to "Tutorials". That way, it's more community focused and crowdsourced.
Heh, I thought the same thing when he posted his first proposal, but I quite like it now. He thinks he is right, he provides good arguments as to why he is right, and has evidence to back the conclusions he draws. That said, the integrated lobby/chat system in faf is great, if a bit intimidating at first. A good lobby can MAKE multiplayer, which in turn will make a game successful. One reason faf's is so good is because most everybody in the community is relatively mature and all the possible trolls have been weeded out over time. Its very homogenous due to how it came into being. PA will not have this advantage, if the steam chats and forums are any indication. In addition to being user friendly, the PA lobby will also need to be prepared for the titanic onslaught of internet vomit that will do its best to drown it. Yay for pronouns!
@thepilot GREAT write up! I'd love to have those things in PA too, but this is just Beta so we're going to have to wait.
Every player should be able to vote the another player a -1 or +1. The community vote will add up over time. Even newbs aren't dumb enough to listen to some guy with a -73 rating. Especially when another few have a +300 community vote. That should keep the trolls in check.
Your system seems to work very well because the community is "small" and most certainly composed of the best part of the players (maybe one hundred MAX at the same time ? Numbers could be interesting). A general chat only works for small communities : imagine 44K backers connected to the same chat at the same time. Forums can be already a mess with only a few hundred persons on it. Imagine a live chat with THOUSANDs of people. Same a the push of the new games created. The number of games in FAF are certainly limited (i mean : probably not more than a few changes every 10 secs or so), so you can manage all the changes that happens. On a bigger scale (again, 44k players at the same time), the continuous push of new data will fry your brain (and consume a HUGE amount of bandwith, don't forget that, bandwith consumption is Evil). And i consider that a welcome screen with news is mandatory. Veterans, people that lurk in forums don't like/need it, but the average Joe will probably never go on the forum and will never be up to date with the changes and news, thus keeping him informed by that mean is mandatory. The rest of the interface is nice none the less. Especially the fast access to the different community tools. Ho, and the down/up vote system is flawed. Someone popular can be a complete A**, and a very nice person can be higly downvoted. Without counting on the fact that some people have no affinities with others, leading in some backdoor fighting, that will most likely degenerate to some kind of -1 bombing. Rule N°1 of the crowd management : keep the community aspect ingame to a minimum. An interface to have a clan/guild/faction, a few tools to manage that (clan/guild/... chat, internal ranks, maybe a specific lobby) and that's it. All the rest must be managed in a dedicated external tool (ie : a forum, much simplier to change and administrate, and it has been created for that : allowing hundred of people to talk together). Don't mix the game and the community all in one. Bad mojo. Never forget that the IQ of a group of people is conversely proportionnal to the size of the group Fun fact : if i recall correctly, in programing, around 70% of the code is protection/security/error management. => This must be applied to everything, especially things that are in destination of the public. If you create something, always start from the worst acceptable scenario, not the best theoritical case. Because when s**** hit the fan, it's usually so messy that you'll regret for ages that you didn't used a protection layer (demonstration of my example : i point the flaws of your proposal, you will probably not like it. It's normal, nobody like to be criticised. And other might not like it too, downvoting me. but i don't think beeing a troll right now)
Welcome/News Screen? In this day an age? I don't think it's even optional. I just figure it's a given. Not sure I agree with the rest, I think I have more faith in people. But you are probably right, really dependent on maturity of the community I think.
at least 600 every day, 800 the week-end (peak time). Around 5000 unique players each week. GPGNET did the same similar thing for supcom, and it was working great. You will never have 44K connected at the same time. That's not how online games works Team Fortress 2 has a peak of 28.000 players at the same time. And it's Team Fortress, not a niche RTS. Rome total war is 8000 (counting solo, probably 60-70% of that number), and it's already more mainstream than PA. Another niche game (a FPS) called shotmania was really happy with 600 players at peak time. And even then, I don't think a few thousand will be a problem : Check the teamliquid IRC chat for starcraft, at some point it has 2000 players online at the same time, no problems (and yes it was readable and enjoyable). Worst case scenario : you limit the main channel to 1K and open new channels if needed. You only need moderators, and probably not that much (we are running with 4-5 regular right now). I think we have more than 200 games running at the same time regularly. Even with 2000 games opened at the same time, it's unlikely that the configuration of each one of them will change every second. Even so, it's still less data than the bandwidth required for PA. It's just a few integer reformated by the client in HTML. Actually, it's probably way less than the users of a big forum browsing it. Even of my exemple of "what not to do", BattleField 3, you don't have THAT many servers to push. They push them all the time when users click reload like crazies. It's just the polling of servers that is problematic, but there are some simple solution for that (ie. a better master server design). EVEN with 44k players (and no you won't have that), it's nothing compared to the data PA send in game. If you really are into optimization, most of the players will be in game (these games state won't change, no need to send them). No need to send opened lobbies to them either. If you look at my screenshot, you will see a "what's new" tab. The client opens on it. What I meant is that the user shouldn't have to click ANYTHING when coming online. No patch read confirmation, .... They should have access to that info when they want, not when the lobby decided to. That's probably the better way to sink a niche game Community the only thing that keeping these kind of games alive. It's fair, but you are wrong. I can say that because I have the numbers, not you If you like, I can provide you numbers about the bandwidth needed for any functions you are worry about, it's quite linear. Or IRC chat links with more than 1k people on it. For online frequentation : http://store.steampowered.com/stats/?l=french (also, it counts the solo for game that have it, it's not all the game).
But you are right in one point : If PA community is like LoL one, it's a bad idea to have a chat. But then the game will probably be dead in a few months, it's really not the same kind of public, and it wouldn't resist such plague. FA/PA attract the same kind of people, so I think the comparison and predictions are fair. I bet anything you want that the average age for PA will be more around 30 than 15...
Some very good concerns and advice about a good lobby ... sadly hidden behind a weird arrogant title. If we could get a lobby like FAF for PA, or if we could simply host PA on FAF, it would be a very big step done for the game. Except the arguably league system, and maybe few minor missing (but planned) features, FAF lobby can only be a good exemple for PA devlopers.
On a side note, PA games are already pushed to the user without any refresh button. It's more "keep it like that" comment for that one
It would be arrogant if it was titled "the only good way to make a working lobby". It's my personal view of how a perfect lobby should work, based obviously of my work. And it's not humble because the premise of FAF was that I was sure it wasn't difficult to do better than 99% of the game lobby system out there (mostly GPGNET, but it was actually one of the best), hence the "not humble". If I was arrogant, My post would be a single sentence : "I can do better than you and already did, open my lobby and take lessons". But this is only my personal opinion about game lobbies, and seeing the general direction of the industry, it's probably not the general opinion. In more general way, I really hate people who claim to be humble while they try to teach people they are plain wrong. What you are taking for arrogance is honesty. And I would certainly shut up if I was unable to do myself what I'm telling others to do.