New server browser
From TremFusion
I'd like to create a new server browser page, as the current design is horrible. Here's a shot of it
Now, this shot already has the TremFusion update of pulling out unprintable characters. It also allows for sorting of servers by ping, which is another huge improvement. A few annotations:
Contents |
Source Menu
The Source menu is pretty attrocious. In order to see your 'Favorites' list, you click on this and it cycles out all of the servers and shows only your favorites. Another click takes you to the LAN servers. Now, the idea of showing LAN servers in the same view as the Internet servers isn't bad, but this implementation is horrible. There's no way to know you should cycle this option out, and if you didn't know to look for it, you'd have no idea why your are only showing 0 servers instead of 150 (answer: you are looking at your favorites, not the Internet servers)
Get New List
The user clicks this button to get a new list - that's when the client queries the master server for a list of active servers. A user shouldnt' be aware of this sort of nuts'n'bolts interface. This should just happen in the background
Refresh List
This queries all the servers in the current list for their game status. Again, the user shouldn't have to think about stuff like this, it should just happen in the background. It only confuses people
Filter options
The filter options are fine to have, but notice how much space they take. Nothing tells you they are filter options - they are just there for you to figure out. These should be kept somewhere with some other nice filter options
Wasted space
In Tremulous 1.1.0, this was usually full of unprintable characters. Since the default server list sort was by character value, unprintable characters bumped your server name up in the list - stupid. In encourages users to break the system to get more traffic. First, stripping out unprintable characters is good. Colored server names should be retained but meta (color-setting) characters should be ignored when sorting. Second, supporting Unicode is even better. Third, server name should be a sort option, but not the default. Fourth, a maximum server name parameter should cap them at something reasonable, like 16 or 32, then get rid of all this wasted space.
Layout is easily changed with UI scripts, but new sort behavior will require code changes.
Other 'buttons'
These aren't hardly buttons. They aren't grouped logically. When you click on them, half of them do nothing to show you they have done their job. All of their functionality should go somewhere else, somewhere cleaner.
Map preview
The only idea from this whole interface that should be kept - selecting a server shows a small image preview of what map they are playing.
Sort by columns
Each of these columns can be used to sort the table entries. That's good. Keep this.
Some ideas
This is a WIP image of some ideas of how I want to enhance/modify the UI of the Server Browser. I'll try to change this often to reflect the latest ideas on how to do it. But, images will save me a lot of words, and be a good way to vet current ideas.
Overall
It'll try to cover each individual part going from left to right. But, first, an overall. This image was done at 640x480 resolution intentionally to see how much data I could reasonably pack onto the screen. The answer: a lot. Now, my goal was not to pack information on, but rather to provide additional information in an organized, systematic, and appealing way. Graphics are used consistently, but relatively sparingly, to show you the important information quickly. There are two major tables, each of which will scroll, showing grids of pertinent data. Much of the data here can't be extracted from the current network traffic - we would need to update the protocol to the Master Server to get it all to work. But, it is all easily in the realm of possibility.
Clans
One idea that permeates all of this is the idea that a clan is more than just a loose group of people with the same tag on their names. A clan is now a recognized, registered entity. This has several uses. 1 - clans can have a logo displayed in-game. 2 - You can search by clan. 3 - You no longer have to wonder if someone's name is their clan or vice-versa.
Increased Server Visibility
This whole system relies on the idea that the Master server tracks more than just the server's IP, current map and fs_game setting. It now tracks game time, server nationality/region, and how often the server is played. This allows us to more carefully filter on data. Also, the user no longer explicitly requests extra server data - this is provided in the background when they click on the server's name, bringing up current players, their rank, clan, and the overall feel of the game.
Left Sidebar - Favorites Buttons
The left sidebar consists of 3 vertical groups of icons, each group with the same 4 buttons. The first filters to just favorites. For servers, it filters to all favorite servers. For friends, it filters to all friends. For clans...I'm not sure what it'd do. The next adds the currently selected server as a favorite, or the currently selected player, or their clan. The next removes in a similar fashion. The last button highlights any favorites in the current list. So, say you have a filter in place which shows 20 servers - hitting this button will pull out and highlight any favorite servers in that 20. Same goes for players.
Server Grid
Notice there are no unprintable characters or rediculously long server names. That's on purpose. The green bars represent how often the server is full - its an indicator of server popularity, which also indicates quality. I realize most people will disagree that 'X' is a quality server - but it is popular for a reason. Next, we see a server-chosen flag. This will generally be the country where the server resides, but could also indicate the server language. This helps us from having everyone think this is an English-only game. I would expect to see some servers with non-English names as well, though I show none here.
Next we have the familiar map list. This is followed by game type. Ideally, this column should indicate if ANY game rule changes have been made. For instance, Dretch*Storm plays with bouncy barbs. Therefore, their game type has been changed to "D*S T", which is for "Dretch*Storm Tremulous". An additional server info box should show a brief paragraph on what is different about the server, to let players know what to expect. Next we have the familiar players and ping columns. Finally, we display clearly where the game is at, so that players can easily pick a server based on whether they want to join a game well in progress, or one that is just starting. The dashes indicate the game is over, and a new one about to start.
Filters
The current filter system is too simple at best, worthless at worst. I don't use it, and I doubt many others do either. The new system is designed so that you can quickly set up a general filter that you like, then quickly tweak it by enabling/disabling aspects of it, but usually keep the same overall filter active. The options are pretty self-explanatory - on some you type in values (Game type), some ranges (time, players, ping), some are toggles (VoIP, Bots, AllowMods) and others are dropdowns (Region). The checkbox to the left enables the filter, which is then applied immediately. You can also save and load complicated filters, and get some additional options with the button.
Game Grid
The game grid is designed to give you, at a glance, a clear idea of what the game is like on the server you are looking at. It shows each team, who is on it, their clan, if any, and their rank. Yes, this requires a RankingSystem. Next it shows the number of deaths, kills, and time in game. We can see here that the teams are relatively well-balanced, but that Heckle is feeding a ton and Ender is winning, because he's amazing.
Moving farther right, we see more server information that isn't displayed on the server grid. We can see the current game time is 9:17 into sudden death. We see that some kind of second sudden death occurs at 50 minutes. We see that the server supports VoIP, bots, and allows client-side mods. Very nice. We can also see the next map in rotation, in case we are willing to connect and wait for the match to end. Also, we can see that there is currently at least a Level 3 admin on, though we don't know who.
Finally, below the map preview shot, we see a strange new display. This shows who is currently in a stronger position, based on buildings and overall team cash. This gradient will waver back and forth as kills are made, buildings are destroyed, and credits/evos are gained and lost. Below that, we see two bar graphs showing the kills on each team, which tells us at a glance how balanced the game is, to some extent. Between the two, we have a clear picture of what kind of game we'd be getting in to.


