What is a good way to fix the length of games?

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderators: Forum Moderators, Developers

Post Reply
bert1
Posts: 240
Joined: December 6th, 2006, 10:39 pm
Location: Morecambe, UK

What is a good way to fix the length of games?

Post by bert1 » January 7th, 2009, 10:16 am

[I did a forum search for similar ideas but only found threads about ranking systems or campaign scoring systems, so I hope this hasn't been brought up before, but I'd be surprised if it hasn't.]

I miss playing MP Wesnoth. The main reason I don't play any more is because games, even with a timer, take an unpredictable amount of time to play, ranging from 15 or so minutes to several hours, and this is impossible to incorporate into RL. The only standard victory condition available by default in multiplayer is the death of all leaders except those of one team, and that can take a short or a long time.

What would draw me (and maybe others?) back to multiplayer play is a way to set in advance how long a game will take, so if I have an hour of free time, I can fire up an hour long multiplayer game. This would necessitate very different victory conditions based on the state of play at a certain time. Of course, any scoring system would immediately be trumped if one of the leaders were killed. If balance is preserved, they could perhaps be used in tournament play to maintain pace.

What I want to ask is: What is the best way of determining who is winning at a particular point in a game, such that we could stop the game at that point and declare a winner? By 'best' I mean:

a) Preserves as much as possible what it currently means to play well in a standard multiplayer game.
b) Involves as little change to the game as possible.
c) What changes are necessary are ideally do-able by me if I learn WML! (I haven't dabbled with it at all yet). Maybe by creating an alternative set of default MP scenarios in which the host can set the time limit for the game and a message window pops up explaining the rules to all the players.

Possibilities:

1. Number of villages owned.

Pros: Simple to determine winner. Requires no change to the game at all - just look at the status table.
Cons: Game may be unbalanced. Tactics will change. People minght hold back until the last turn and then go all out for a village grab. Factions which can deal a lot of damage in a short time might be advantaged. Whoever has the best TOD on the last turn will be advantaged.

2. Number of kills.

Pros: Simple to determine winner. Requires no change to the game at all - just look at the stats.
Cons: Unbalanced. Quite often the winner of a normal game will have more losses than kills; I'm thinking of a TOC final between Pietro and Soliton in which Pietro had many more kills and levelups but Soliton had more income and could field sufficient units to win. Game would have to be rebalanced and a new era made. Not my preferred option, I want it to be as close to default as possible.

3. Total gold earned.

Pros: Relatively simple. Seems a better indicator of good play than (1) as it will reflect village ownership throughout the game. Will encourage more aggressive play earlier on.
Cons: May not necessarily reflect good play as we ordinarily understand it. AFAIK there is no total gold earned statistic, so that would involve some meddling. Can WML access total gold info and display a message after a certain time limit has passed?

4. A points system based on the value of units remaining in play once the time limit is expired. It could be simply the flat gold cost of the units. Or it could be the gold cost of the units related to their remaining HP, for example, a grunt with half his hitpoints left would be worth 6 points (12/2), perhaps down to a minimum unit value of, say, 4, as a unit with 2-3 HP left is worth much more than 1 gold.

Pros: Fairly simple. Probably quite a good indicator of who has played better (?).
Cons: Is it WML-able? The flat gold vlaue of units could be calculated fairly quickly by the host with a calculator, but it would be better if the game could do it automatically and declare a winner.

5. A points sytem which included some or all of the above in a complex equation. I have no idea what would be the best equation. As a basis for discussion, how about:
Total points scored = #villages + (0.5*#kills) + (0.25*total gold earned) + (2*(gold cost of units * %of their total HP remaining))

Pros: Potential to be tweaked so that it rewards play that closely resembles current good MP play.
Cons: Somewhat more complicated.

I think number 4 might be the best solution. I don't think 1,2 or 3 are very good.

-----

None of these options are able to account for the positional advantage a side may have at the end of the time limit. We'd just have to accept that, I think, as it would be virtually impossible to quantify.

-----

There is a possibility in all this to satisfy those who think there is too much luck in the game. The total points (however determined) could be modified by the %EV for the whole game. This wouldn't completely level the luck playing field because sometimes luck is more or less significant depending on the game context, but it might go some way to off-setting luck-rage.

------

EDIT: Of course, the time limit would have to be slightly flexible to allow the last player (say, player 4 in a 2v2) to play a full turn.

EDIT2: The existing turn timer could be used to ensure that a minimum number of turns is played before the time limit for the whole game is up.
Good is simply that which is willed. - Eugene Halliday

Velensk
Multiplayer Contributor
Posts: 3987
Joined: January 24th, 2007, 12:56 am

Re: What is a good way to fix the length of games?

Post by Velensk » January 7th, 2009, 11:13 am

I've got to say, that to me, none of the ways you listed feel satifactory. I dislike saving games and schedualing for another day, but I'd rather do that than call the game early.
"There are two kinds of old men in the world. The kind who didn't go to war and who say that they should have lived fast died young and left a handsome corpse and the old men who did go to war and who say that there is no such thing as a handsome corpse."

User avatar
Sapient
Inactive Developer
Posts: 4453
Joined: November 26th, 2005, 7:41 am
Contact:

Re: What is a good way to fix the length of games?

Post by Sapient » January 7th, 2009, 11:42 am

http://www.wesnoth.org/wiki/User:Sapient... "Looks like your skills saved us again. Uh, well at least, they saved Soarin's apple pie."

User avatar
Viliam
Translator
Posts: 1341
Joined: January 30th, 2004, 11:07 am
Location: Bratislava, Slovakia
Contact:

Re: What is a good way to fix the length of games?

Post by Viliam » January 7th, 2009, 12:12 pm

There could be a special multiplayer scenario... played on an island, which at turn 20 starts shrinking... the hexes at border are gradually turned to water, villages and keeps are slowly moved towards center... and at turn 40 the island is so small and everything is so close that the final battle becomes inevitable... at turn 50 there are only 2 keeps remaining on adjacent hexes.
:twisted:

Clonkinator
Posts: 676
Joined: July 20th, 2006, 4:45 pm
Location: Germany

Re: What is a good way to fix the length of games?

Post by Clonkinator » January 7th, 2009, 1:29 pm

Wouldn't a time limit per turn combined with a turn limit get you the desired result? That way, a game couldn't possibly exceed a certain amount of time. For example, if you allow a flat 3 minutes per turn with two players, one turn would at most take 6 minutes. Then set a turn limit of, say, 20 turns, and you would ensure that the game wouldn't take any longer than 120 minutes (if each player always waited for their time to run out). Of course, that may still be a little much, but Wesnoth just is a very time-consuming game, especially if you play against human opponents.

User avatar
governor
Posts: 267
Joined: December 8th, 2006, 12:32 am

Re: What is a good way to fix the length of games?

Post by governor » January 7th, 2009, 3:00 pm

Clonkinator, the problem after the time has elapsed is determining the winner, if there even is one.

SaintDust
Posts: 310
Joined: May 12th, 2004, 2:49 pm

Re: What is a good way to fix the length of games?

Post by SaintDust » January 7th, 2009, 5:14 pm

I try to limit the size of the maps i play on.
This way new recruits dont have to take 2-3 turns getting to combat. Combat is decided faster and thus means for a shorter game. Cross is my fav map. Its extremely small. And terrain is very important for winning. At most it takes 30-1hr to play out...And since maps is small team work is very important
Hurry up and take your time
Only the dead have seen the end of war

bert1
Posts: 240
Joined: December 6th, 2006, 10:39 pm
Location: Morecambe, UK

Re: What is a good way to fix the length of games?

Post by bert1 » January 7th, 2009, 8:16 pm

Thanks to Sapient for the thread I overlooked. For convenience, I'll reproduce Sapient's formula for an extra stat of 'Ending Advantage':

Code: Select all

Advantage = Income Factor + Holdings + Other Advantage Factors
Income Factor = Net Income * INCOME_WEIGHT
Holdings = Gold + ALL( Unit Value )
Unit Value = MAX( price*(%hp), Next Level Value*(%exp) )
Other Advantage Factors = {undefined}
Which sounds pretty reasonable to me, although I 'm not sure what is meant by INCOME_WEIGHT. Holdings should be the most important factor when determining Advantage IMO, but I think this formula will achieve that.

Blue Manta came up with this:
Blue Manta wrote:How about this:
Player A rating =
(actual damage inflicted / player B 'hit point quotient')*{C +(total income / theoretical max income)}

where 'hp quotient' = sum of every enemy units' (alive or dead) hp + all enemy hp healed + all successful enemy drain+ enemy hp gained thru leveling and enemy hp healed thru leveling. ( = the total number of hp that A can target)
e.g. player B is drakes: he finishes with a high 'hp quotient', obliging player A to score proportionally more damage for a better rating.
C would be a constant, in order to achieve the desired weighting between fighting and finance.
Theoretical max income is the total money you would have made if all income sources were yours from the beginning.
Which has the drawback of assessing the end advantage score not on the basis of who is most likely to win, but on past performance in the game, because it takes into account total damage inflicted. (Irrevenant made that point.)

Clonkinator: Thanks for reminding me that multiplayer games don't have to have unlimited turns! I had overlooked that, and your suggestion would be an excellent way of fixing the maximum length of a game. I still need a method of determining a winner, though.

SaintDust: Well, when I did play I played more or less exclusively Isar's Cross for that reason. I always wanted to play more serious 1v1s but just couldn't handle the commitment required.

Viliam: Good idea, but not really what I'm after. I want to be able to play the default maps with normal settings, only without the grim ''til death do us part" vow one implicitly makes when starting a 1v1. I'd prefer "til lunchtime do us part" as a more convivial alternative.

Velensk: Rescheduling leaves the game hanging around in the back of your head. I'd want closure. I agree, though, that none of the suggestions so far feel 100% satisfactory as ways to capture who is winning. I doubt it's possible. But with playtesting and tweaking it might become close enough to be meaningful.

--------

Sapient's extra stat combined with Clonkinator's method of limiting the total time of the game would solve the problem for me very nicely, I think. Would anyone else use this apart from me?
Good is simply that which is willed. - Eugene Halliday

Rhuvaen
Inactive Developer
Posts: 1272
Joined: August 27th, 2004, 8:05 am
Location: Berlin, Germany

Re: What is a good way to fix the length of games?

Post by Rhuvaen » January 7th, 2009, 9:15 pm

I think none of these are really workable, since villages change hands naturally with the ebb and flow of time of day (ToD). So it's basically up to which side is favoured by end-game ToD.

If anything, a cumulative score (over all the turns) would need to be kept IMO. I don't see it working WML-wise, but some calculation of the amount of the map that's controlled per turn (covered by ZOC or blocked access to by ZOC) would be ideal.

Just a calculation based on income and gold value of units doesn't do much to stalemating games, since stalemating games have an equal number of villages per side. The game would then be decided by who spent the biggest amount of his gold (i.e. sides with level 0's would probably have a lower fraction of unspent gold than those with expensive units) - not ideal.

BTW, I don't find small maps a guarantee for a short game. I think I've had 3+ hour games on a "quick" Isar's before with decent players.

Boucman
Inactive Developer
Posts: 2119
Joined: March 31st, 2004, 1:04 pm

Re: What is a good way to fix the length of games?

Post by Boucman » January 7th, 2009, 9:25 pm

the problem is that in an MP game that is a stalemate... it is a stalemate....

I mean, if it was obvious to the human player who the winner is, then there would be no problem at all.


This feature is really needed when there is no clear winner.


So here is my take to the original question


Change the rules of the game, change them hard, change them clearly. Don't try to find out who the winner would have been, it will always seem unfair. Change the game.

"when playing this map, the aim is not to kill the ennemy leader it is to have the most gold at turn XXX" yes, it is not the same game at all, it's totally different, different startegy, probably some unfair factions, and some totally different strategies (should I recruit and try to kill my oponent before the end, or build a small defense and cumulate gold, or do a huge offens to restrict him in a small territory with lvl0 unit and then wait for money to come)


you won't suceed in your original goal. Try a slightly different one
Fight key loggers: write some perl using vim

bert1
Posts: 240
Joined: December 6th, 2006, 10:39 pm
Location: Morecambe, UK

Re: What is a good way to fix the length of games?

Post by bert1 » January 11th, 2009, 9:24 am

Boucman wrote:the problem is that in an MP game that is a stalemate... it is a stalemate....
A equal-ish position is not the same thing as a stalemate. I suppose a stalemate is an equal-ish position in which neither player wants to stick their neck out.
Boucman wrote:I mean, if it was obvious to the human player who the winner is, then there would be no problem at all.
Yes, that's true in a way. But it's an unsatisfactory basis for a game: "Lets play for an hour and then agree who is most likely to win." Would I get any takers? I doubt it. Also players would have to stay nice and reasonable. On the other hand, if there was a scoring system which could be gamed for and objectively declares a winner then both players could fly into a rage and it wouldn't matter.
Boucman wrote:This feature is really needed when there is no clear winner.
Which is very often the case halfway through a game isn't it?
Boucman wrote:Change the rules of the game, change them hard, change them clearly. Don't try to find out who the winner would have been, it will always seem unfair. Change the game.
I think that's very good advice, if I could follow it. Changing the victory conditions will mess up the balance and tactics of the game, I won't be able to avoid that. But to fix that by altering the factions and maps would be far too much work for me. I want something quick and easy. My best option is to tweak the scoring formula to fit the current default era and maps. I won't get it right, but I might get something good enough for casual play.

Also, with this approach, I can use existing replays between good players, frozen at turn 15 or 20 or 25 or whatever in order to test the formula. I'd first make a gestalt judgement about who was in a winning position. Then apply the formula and see how well the score corresponds to the judgement.

I'll let you know if I get any good results with this method!
Rhuvaen wrote:I think none of these are really workable, since villages change hands naturally with the ebb and flow of time of day (ToD). So it's basically up to which side is favoured by end-game ToD.
True. Villages held would have to be less important than other factors, perhaps. Or a TOD correction factor would have to be included in the equation. (Ugh, getting complicated already!)
Rhuvaen wrote:If anything, a cumulative score (over all the turns) would need to be kept IMO. I don't see it working WML-wise, but some calculation of the amount of the map that's controlled per turn (covered by ZOC or blocked access to by ZOC) would be ideal.
It would be great to take terrain controlled into account somehow, but I'll leave it out for now in the interests of simplicity, and see how far I get.
Rhuvaen wrote:Just a calculation based on income and gold value of units doesn't do much to stalemating games, since stalemating games have an equal number of villages per side. The game would then be decided by who spent the biggest amount of his gold (i.e. sides with level 0's would probably have a lower fraction of unspent gold than those with expensive units) - not ideal.
Indeed, which would force the opponent of the lvl1 spammer to break the stalemate, I guess, maybe guaranteeing a loss. I'll worry about that when I come to it. Good point to consider, though.
BTW, I don't find small maps a guarantee for a short game. I think I've had 3+ hour games on a "quick" Isar's before with decent players.
Oh, yes, so have I. But with 2v2s generally the chances of one player being significantly weaker than the others is much higher than in 1v1s, which means the game will collapse much more quickly (or that's how it seemed - I never actually timed them). I was finding with 1v1s that I had become good enough to force a long-ish game against most half-decent players, so the only way to guarantee a short game was to play Mr Gogogo or to play extremely recklessly, which meant I lost. Not much fun either way.
Good is simply that which is willed. - Eugene Halliday

User avatar
TL
Posts: 511
Joined: March 3rd, 2007, 3:02 am

Re: What is a good way to fix the length of games?

Post by TL » January 11th, 2009, 6:30 pm

bert1 wrote:True. Villages held would have to be less important than other factors, perhaps. Or a TOD correction factor would have to be included in the equation. (Ugh, getting complicated already!)
A TOD factor might be best in any event. I mean, suppose you're looking at a snapshot of a loyalist vs. undead matchup where both sides are roughly equal in kills, experience, gold, current health, positioning etc. If this snapshot is taken right at the start of dawn, before the loyalists' big daytime advantage, that speaks more favorably of the loyalist side than it would if it was a snapshot of the game taken right at dusk.

Post Reply