Implement the Wesnoth Ladder

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderators: Forum Moderators, Developers

Forum rules
Before posting a new idea, you must read the following:
chains
Posts: 76
Joined: January 9th, 2007, 5:02 am
Location: Portland OR
Contact:

Implement the Wesnoth Ladder

Post by chains »

Over 25,000 games of Wesnoth ladder matches have been played, and 160,000 matches have been watched in replay! Even with barriers of having to report matches to a third party website, people still play ladder matches on a large scale. The ladder has been a phenomenal success. But, it could be so much more popular, fun, and inspiring if it were built into my game interface.

1. What's the idea?
The idea is to implement the wesnoth ladder http://ladder.subversiva.org into the multiplayer lobby. Players could then play matches, view the results, and see other people's rank without leaving the game interface. These matches can be of any map type with records kept individually for each game type. Survival players can work towards the most survival wins and 1v1 players can compete for 1v1 wins. The games would be matched through an automated system making the lobby both easier to use and less complicated.

2. Why do I want to do this?
a)Multi-player Wesnoth does not have any persistence. Once a game is over, you start over with nothing. The ladder would give multi-player more lasting replay value over time which would help to keep more veteran players in the community.
b) Recording matches allows games to be matched by skill level. This separates strong players from newbies and gives both user types a better gaming experience.
c) An automated ladder interface would provide more fair and honest rankings while allowing for ladder matches of greater team sizes.
d) Tournaments could be built into the interface allowing for lasting competitive game play which can be promoted and rewarded to encourage players to stay in the community and learn to play the game.

3. How exactly does this work
The lobby would have a single button that says 'Play Ladder Match' or even 'Play Game'. When you click this button, you are placed in a queue. When enough players are in the queue of appropriate skill, a ladder game is matched, configured by the server randomly according to player preferences, and launched by the server. Once the ladder match has launched, it must be won, lost, disconnected, or possibly mutually paused for a later date if the code were able to support this.

There should be a second button for "Settings" next to the "Play Game" button that allows players to select their preferences for a match. The setting screen should also appear after the play game button is first clicked, but this screen should have a check mark to allow the settings to be saved. These preferences should include:

Play 1v1 ladder match, Play 2v2 ladder match, faction selection, and some ability to veto at least one map from the list of default maps. Also, other game types can be included such as: survival, 3v3, FFA, RPG, Royal Rumble, New Land, age of heros.

When a match ends, the winner is determined and the results are recorded. A disconnect can be counted as a disconnect, still giving the winner a win. And, a player record would then be Wins-Losses-Drops. It could be made easier for players to concede a match, and special care should be taken to make sure losing players can't prolong matches for hours by delaying turns. Wesnoth does not currently determine the winner of most games, so this is a hurdle.

Once a game is finished, the result is recorded and players assigned points based on the modified ELO system used by the Ladder of Wesnoth. Any system could be used, this is simply the one that's currently being used.

4. Test Cases

This section needs to be taken up more seriously if there is interest in coding this idea.

1. Two clients select "Play game". A 1v1 game with random sides and map are matched between the two players and the match begins. This should play a brief and exciting sound for both players to notify them of the event, neither party can see which faction they are playing against, but they should both see a large picture of the map and game settings.

2. Four clients change their game preference to 2v2 match and then all 4 select "play game". A match with random sides and map is matched between the 4 players.

3. 2 Clients select a Faction in the setting screen and then click Play Game. They are loaded on a random 1v1 match with their chosen faction. The other party is shown what faction they are playing against as the game loads.

3. A Match is completed by being won by a side. Points are won by the winners and lost by the losers according to the rating difference between the two sides.

4. A match is completed by one player disconnecting and not returning within a timeout period: The disconnecting player loses points and is given a drop on the record. The other player is given a win.

5. 1 member of a two person team is disconnected during a match. His ally is given control by the server and the match continues. Points are awarded as if both players completed the game. A drop can still be assigned to the disconnected player.

6. A match ends with one person quitting. That person is assumed to be the loser, and the match is calculated according to test case 1.

7. A players record should be viewable by clicking on them.

8. A ladder screen of current standings should be viewable by clicking on a ladder button.

9. Your current position should be viewable by clicking on yourself perhaps.

10. When a player becomes the top player on any given ladder, they should get a message, dialog box, icon, or other notification of their achievement.

11. The ladder standings should be made available on a website external to the lobby.

Further Remarks
The design for this interface came largely from http://www.battle.net. The interface was called Random Team Ladder (RT), they also had an Arranged Team(AT) ladder where you could pick your partner, but not your opponents. This interface had several advantages over the current Wesnoth lobby design:

0. It separates game matching from game chatting. User matched games can still take place on a secondary page with no chat box.
1. It removes the need for players to review a long list of games actively waiting for one to appear.
2. It can separate veteran and newbie players by skill level or league which will make the game more fun for both user groups.
3. It removes 'host abuse' of games. You can't just ban the guy your being beat by. All players are treated fairly.
4. Replays of ladder matches can be made viewable from a players profile, or through a generalized lobby interface. You could browse all ladder matches ever played and watch them. They could be sorted with the winner unknown so that the surprise isn't spoiled.
5. Players could earn icons, ribbons, stars etc based on games of a particular type that they have won.
6. It removes "GO GO GO" spam from the lobby.
7. It removes unfair team matching.
8. It can be made to support paused and resumed matches.

Many of the features described in this post can be used by mainline Wesnoth without implementing a "ladder" of any kind. Auto matched games respect user's time because we will no longer ask people to stare at a screen waiting for events to happen. The user can go seamlessly from "wanting to play a game" to "Playing a game" with the click of a single button. While they ar waiting for a match, they can be busy coding Wesnoth features, working on game art, or checking their Facebook. They no longer have to be a captive audience during the game matching.

hiro hito
Posts: 201
Joined: November 23rd, 2006, 8:00 am

Re: Implement the Wesnoth Ladder

Post by hiro hito »

really GOOD idea!
"Of course His Majesty is a pacifist. When I told him that to initiate war was a mistake, he agreed.Thus, gradually, he began to lead toward war."-Emperor Shòwa (Enlightened Peace)'s chief cabinet secretary

User avatar
Aethaeryn
Translator
Posts: 1553
Joined: September 15th, 2007, 10:21 pm
Location: Baltimore, Maryland, USA

Re: Implement the Wesnoth Ladder

Post by Aethaeryn »

I'm not opposed to integrating a ladder. It could be interesting for the competitive types who like to do the ultracompetitive games on mainline maps.
chains wrote:...

Survival players can work towards the most survival wins and 1v1 players can compete for 1v1 wins.

...

Play 1v1 ladder match, Play 2v2 ladder match, faction selection, and some ability to veto at least one map from the list of default maps. Also, other game types can be included such as: survival, 3v3, FFA, RPG, Royal Rumble, New Land, age of heros.
No.

Please keep competitive Wesnoth separate from non-default maps. Please keep competitive Wesnoth separate from non-mainline maps that are very, very different from the way mainline works and are usually cooperative: survivals, RPG, building mods, and other unique gameplay types. Or are we going to add a ladder for The High Seas too since it's really in a category of its own? There can be a clear line drawn, and it can be drawn against non-mainline (excludes rumble maps, which rely on tiny, imbalanced/luck-dependent maps as well as all RPGs and most survivals) and cooperative (no survival ladders, building mod ladders, and ladders for RPGs if mainlined). Why?

In cooperative games, the only foe is the AI. There usually isn't anything to compete against. In survivals, you would have the top of the ladder basically top out at dozens of people who beat a particular map on the hardest difficulty over and over again. The lack of a human element removes a lot of the variety to it and makes it seem scripted after a few plays. And what about the RPGs? Well, basically, you win RPGs by investing time into them and not having suicidal allies. Maybe if there were PvP RPGs it would make sense. For survivals and RPGs, you're basically implementing a high score system. It's totally different than what the ladder is.

Someone more interested in theory of gaming can cut it down in more detail with more buzzwords and statistics. I can just voice my discomfort as someone who makes RPGs, survivals, and other non-traditional gameplay concepts for MP. The whole point of what I do is to create something cooperative, comfortable, and fun in a relaxed way. Opposite of what a ladder is. (And I wouldn't even want my ultradiplomatic FFAs in a ladder, either.)

If every map were allowed to be ladderfied based on a UMC category's ladder, I probably would just not upload stuff on the server anymore and just host games with my content when people wanted to play them. To see an RPG in a "ladder" completely breaks the spirit of the thing, and the only RPGs that would fit in a ladder are ones that are barely "roleplaying" in the first place. (What is an RPG, btw? Survival Xtreme, Colosseum, and Labyrinth of Champions are all very different games, and I personally prefer the Bob the Mighty style. And if you define RPG as a scenario where you control only one unit, what about Fall of Trent where you control an army at the end or The High Seas where you control a whole crew of a ship? I'd rather call Survival Xtreme and Colosseum something else, such as "Deathmatch" to express the upgrade-heavy nature, but I doubt the people who started the confusion care about nuances like this. What a shame.)

No. When you play a cooperative UMC, you play to have fun, not to win and collect points. There's enough mainline, traditional MP for that.
chains wrote:2. It can separate veteran and newbie players by skill level or league which will make the game more fun for both user groups.
No, it separates RPG players who have too much time on their hands from RPG players who are always busy or don't like playing the same scenario more than a handful of times. Wesnoth RPGs don't really require that much skill, it's more of an adventure anyone can enjoy.
chains wrote:5. Players could earn icons, ribbons, stars etc based on games of a particular type that they have won.
This is pretty much the one thing I can stand behind for survivals/RPGs. Some kind of achievement-type award for completion of the scenario as well as additional tasks that boost the replay value (kill 20 orcs or whatever).

For simplicity's sake (and I thought simplicity was the driving principle behind Wesnoth), the ladder should stick to 1v1 and 2v2 mainline multiplayer maps and not branch out into other genres or into user maps that may have no balance at all (I'm looking at you Rumbles... fun yet so unfair).
Aethaeryn (User Page)
Wiki Moderator (wiki)
Latin Translator [wiki=Latin Translation](wiki)[/wiki]
Maintainer of Thunderstone Era (wiki) and Aethaeryn's Maps [wiki=Aethaeryn's Maps](wiki)[/wiki]

User avatar
Hulavuta
Posts: 1668
Joined: October 11th, 2008, 8:17 pm
Location: United States

Re: Implement the Wesnoth Ladder

Post by Hulavuta »

Yeah, I agree, as long as there is like an on-off feature for people who don't want to have competition.

But considering what was said in the post above me, maybe a good idea I should also mention is achievements, like in Halo. Defeat an Ulf with full Hp in melee combat! Defeat a level 4 with a level 4! Stuff like that.
F:tGJ, Saurian Campaign
The Southern Chains, a fanfic
“The difference between winners and champions is that champions are more consistent."
~Sierra

User avatar
ancestral
Developer
Posts: 1108
Joined: August 1st, 2006, 5:29 am
Location: Motion City

Re: Implement the Wesnoth Ladder

Post by ancestral »

One thing that could be interesting the storing of statistics from games played, which would invariably be required for this. For example, how many victories when playing as Northerners, how many victories on a particular map, average number of level 2+ units controlled in the game, most damage done by one unit in a turn, fewest turns to win a game on a particular map, etc.
Wesnoth BestiaryPREVIEW IT HERE )
Unit tree and stat browser
CanvasPREVIEW IT HERE )
Exp. map viewer

chains
Posts: 76
Joined: January 9th, 2007, 5:02 am
Location: Portland OR
Contact:

Re: Implement the Wesnoth Ladder

Post by chains »

@Aethaeryn you and I agree on everything point for point. Except one. Having more than two ladders isn't more complex. Selectively eliminating default maps from "play game" will be MORE complex. The settings screen would allow you to specify if you wanted a 2v2 or 1v1 map and you don't need to worry about 3v3 games. I think we should start by including all default maps and work on making more complicated rules later. How we display the data after we've started recording it will be a long design process. Plenty of time to flesh out how to give people ribbons and ladder ratings.

I like to design for the most basic user. Espeically in Wesnoth where the majority of the active users are new, we should pay special attention to making the game engaging for them as well as long standing hardcore veteran users.

While I'm in favor of some stats tracking for "newbie" type maps, I don't think it should be confused with, connected to, or mixed up with ladder ratings for competitive games. That being said, if someone wants to keep track of a survival ladder for the players who care, I don't really see any reason not to the ladders will almost certainly all be generated dynamically anyway. As long as the interface for accessing them is clean, they will be very simple for users.

We also don't have to limit stats on these as long as it's recorded as separate item like: "500 survivals completed". It gives these players some kudos for being committed members of the community. It also gives map developers some idea how "hard" their maps are. Maps can then be compared to each other based on how often people lose to them. Something tells me the current Dark Forest survival will come out well behind the other popular survival maps.
In cooperative games, the only foe is the AI.
And wins should be clearly labeled as wins against the AI
"5. Players could earn icons, ribbons, stars etc based on games of a particular type that they have won."

"This is pretty much the one thing I can stand behind for survivals/RPGs."
Again, we are in agreement. It's similar to what pardus.at does. Shooting AI is almost meaningless in that game, but people love to collect their ribbons for doing it! It's fun and adds a great dimension to an other wise boring game.

I assume the developers are going to add more survival maps, these future maps will be more challenging. Especially as the AI finally starts to improve. There was an insane isars survival for example that would make good "ribbon points".

As for Rumbles, I think Wesnoth needs to include one in the main maps because new players who may never find out about add-ons will enjoy this match and I almost never see the good old school versions of these maps anymore. People used to play them 10 at a time, no it's rare to see one. And when people do play one it's not nearly as fun as the "regular" rumble maps we used to have floating around. Being a rumble pro won't give you as much credit as being a "real" wesnoth player, but it's still fun for a lot of new players. I'm sure there will be a big user base for king of the rumble. I want to include ideas fun for players of all levels.

@ancestral statistics for every game played is already being stored in the replay archive. They just aren't in a form easily viewable by human beings, because they are still saved in WML rather than SQL or XML. The ladder is also storing a treasure trove of statistics waiting for some happy coder to come parse them into a database. This is something separate from a ladder, and could /should be done as part of the statistics project. However, the statistic project just got marked for tear out because of lack of interest. The interesting part about this is that it doesn't require a C programmer. Just someone willing to parse text files in any language... PHP, Python, Java... etc. They are just text files.


Thanks for the feedback, input, and additional ideas.

User avatar
eyerouge
Posts: 380
Joined: June 29th, 2007, 4:37 am
Location: wtactics.org
Contact:

Re: Implement the Wesnoth Ladder

Post by eyerouge »

Just to fill in: I started writing a PHP parser for the replayfiles to extract all kinds of stuff/stats from them. It works well but isn't completed, nor will I complete it by me in the nearest future. I announced it in the Wesnoth forums zillion years ago and there was, as always when I announce something, an amazing black hole of interest. :P If anyobody would want to continue dev of it please feel free to pm me and I'll supply the code which is under GPL.

User avatar
Gambit
Loose Screw
Posts: 3266
Joined: August 13th, 2008, 3:00 pm
Location: Dynamica
Contact:

Re: Implement the Wesnoth Ladder

Post by Gambit »

chains wrote: in Wesnoth where the majority of the active users are new
Image

User avatar
eyerouge
Posts: 380
Joined: June 29th, 2007, 4:37 am
Location: wtactics.org
Contact:

Re: Implement the Wesnoth Ladder

Post by eyerouge »

Gambit wrote:
chains wrote: in Wesnoth where the majority of the active users are new
Image
Not that I have any statistics, but ever since I became a part of the Wes community I have seen an amazing flow-through of players. If Wesnoth really wanted it it would be "easy" keeping track of all of this and get crude estimates.

My non-scientifical-non-statistical-non-mathematical impression tells me that BfW is a game which has a very very high flow-through/stream of players, and that a fat majority of all players that give this game a chance do not stick around for long with it. (Yes, the same can be said about a lot of games, but then again, now we're not discussing them... and even if so, there are varying degrees of flow-through depending on game/genre and maybe even plattforms.)

Most come and go. And most of those who go do so probably because the RNG and/or because they didn't quite understand what genre/type of game it was, probably expecting more action/cooler graphics/speedier play/Frodo. (Again, "wild" speculations on my behalf, but I could bet my Wose that there's probably some truth behind those statements...)

fabi
Developer
Posts: 1223
Joined: March 21st, 2004, 2:42 pm
Location: Germany

Re: Implement the Wesnoth Ladder

Post by fabi »

Yogibear already mentioned the Wesnoth Ladder as a valid and welcomed addition to the XP fork.
I agree with him but I am not sure about the way to do it.

To make it short:
I don't think that there should be a single type of Ladder included in the game,
but an interface to support different types of Ladders.

Let's gather the needs of a Ladder.

I think those needs can easily go into mainline:
* Display extra information like rank of a player in the server lobby. That needs to be implemented in c++.
* A system to match players together. That needs to be implemented in c++ as well.

Those needs should be provided externally:
* The ladder system would mostly consist of a database (sql ?) that is filled by parsing server logs/replays or by direct
insertion from the wesnoth server.
* The ladder controller is a simple application that uses the database to calculate the ladder accordingly to the rules of
the individual ladder. It stores the ladder back into the database so a website can be used to display it and the MP Lobby
is able to use the data for displaying them and matching the games.

Each ladder would have it's own server this way.

User avatar
Crab
Inactive Developer
Posts: 200
Joined: March 18th, 2009, 9:42 pm

Re: Implement the Wesnoth Ladder

Post by Crab »

I would like to note that 'an interface to support different types of Ladders.' is expected to be coded this summer as a side effect of two current GSoC projects (since a ladder is, technically, a long-going massive multiplayer campaign, and the goal is to support those.)

How it would look like:

1) there will be a 'gamemaster' binary which will:
1.1) maintain a pool of connections to wesnoth multiplayer server
1.2) provide a in-game multiplayer lobby channel with themed view (e.g., ladder rankings can be outputted there)
1.3) use a SQL database as a backend for storing the game state and out-of-game state. (the database can be accessed by external tools like website scripts, as well)
1.4) allow to create games 'on demand', according to WML (lua) defined rules (e.g., random matchups can be made using that functionality)
1.5) be able to be present in each and every game as a player or observer (this will allow it to log replays, winners/losers and make announcements)

2) all the players can use stock wesnoth client, and stock wesnoth multiplayer server.

tsr
Posts: 790
Joined: May 24th, 2006, 1:05 pm

Re: Implement the Wesnoth Ladder

Post by tsr »

One "small" feature that I think is lacking in wesnoth and that imho must be included if you are going to create an integrated ladder is: "surrender". If players can't tell the game that they surrender there isn't any other way but to kill the leader to determine if the save-game represents a finished game or not.

/tsr

chains
Posts: 76
Joined: January 9th, 2007, 5:02 am
Location: Portland OR
Contact:

Re: Implement the Wesnoth Ladder

Post by chains »

One "small" feature that I think is lacking in wesnoth and that imho must be included if you are going to create an integrated ladder is: "surrender". If players can't tell the game that they surrender there isn't any other way but to kill the leader to determine if the save-game represents a finished game or not.
Wesnoth needs to go one step beyond surrender. It needs to determine a winner in the case of drops and quits. It also needs to remove the hosts ability to completely abuse the other players in an official game like booting your opponent and giving his side to someone else. It would also benefit from a more robust reconnection/timeout mechanism.

Wesnoth may also have to require login so people could finally stop fighting over user names.

User avatar
Gambit
Loose Screw
Posts: 3266
Joined: August 13th, 2008, 3:00 pm
Location: Dynamica
Contact:

Re: Implement the Wesnoth Ladder

Post by Gambit »

chains wrote:
One "small" feature that I think is lacking in wesnoth and that imho must be included if you are going to create an integrated ladder is: "surrender". If players can't tell the game that they surrender there isn't any other way but to kill the leader to determine if the save-game represents a finished game or not.
Wesnoth needs to go one step beyond surrender. It needs to determine a winner in the case of drops and quits. It also needs to remove the hosts ability to completely abuse the other players in an official game like booting your opponent and giving his side to someone else. It would also benefit from a more robust reconnection/timeout mechanism.

Wesnoth may also have to require login so people could finally stop fighting over user names.
All of that... for ladder games only. Please. :'(

User avatar
Evelangos
Posts: 27
Joined: March 24th, 2010, 4:49 am
Location: Kirkland, Washington
Contact:

Re: Implement the Wesnoth Ladder

Post by Evelangos »

I hardly understand, never the less READ, most of it. However, statistics are usually a way to seperate people from other people, supporting seperation in an OPENSOURCE game. This is starting to sound good besides that part, a little awards would be great! Opensource is here for the PUBLIC, not a few select people who think they're awesome and have played the game a lot and have acquired a new ability to own with 1 faction, on 1 map. Going into any sort of speech would be so stupid for me to do, especially right now, where Chains knows that I'm new everywhere in Wesnoth. Oh, and hi Chains. If you want your *Clubs* and *cliques* and other ideals, the with Gambit's last post: Word.

Gambit, I love the picture and the ideals.

Say, anyone want a -$500 bill?
To do is to make, and to make is to become, therefore, even the simplest things in life matter, for they all contribute in a major way to existence...
start logoff
exit
.......

Post Reply