• Snag some vintage SPL team logo merch over at our Teespring store before January 12th!

'Endless' battle clause for PS! Ladder

false

maybe this is heaven
is a Tournament Directoris a Forum Moderatoris a Top Dedicated Tournament Hostis a Top Tutor Alumnusis a Team Rater Alumnusis a Battle Simulator Admin Alumnusis a Social Media Contributor Alumnusis a Community Leader Alumnusis a Community Contributor Alumnusis a Smogon Discord Contributor Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnusis a Past SPL Championis a Past SCL Champion
While the policy discussion pertaining to ‘endless’ battles within the context of official tournaments appears to have reached somewhat of a conclusion; I still believe there is room for discussion surrounding the handling of ‘endless’ battles on PS! main. Please note that everything I address in this post is within the context of battles ONLY on the PS! Ladder.



I am currently on PS!, watching a game between Vunty Cibes and Tai Oaki. The turn counter as I am typing this sits at 2105. A move has not been selected since Turn 1148 as both players have continued to switch endlessly for ~900 turns now.

 Obviously this is not the only instance in which a battle like this has occurred. With the way that current policy is set up, a forcetie is only permissible in the case of a game-breaking bug. This means that this game will only end in one of two ways:


1. One player runs out of time irl. eg. they have to go to sleep, school, work etc.
2. The server resets

Both of these outcomes seem to undercut the integrity of the game and seem to be a less fair outcome than a tie. The aim of my post is to open discussion in an attempt to find a potential clause that, if reached, would permit a ladder match to be forcetied. I am aware that clauses such as 1000 turns or 200 turns without PP use have been brought up before, however they mostly discussed within the context of official tournaments so I am hoping there will be a bit of a different discussion here as it pertains to ladder matches.

Thank you for reading. Here is the battle I mention for reference: https://play.pokemonshowdown.com/battle-gen7ou-680033630
 
Last edited:
Tournaments and ladder cannot have separate in battle rules, and I believe anyone high up would say the same. Separating the scenes in terms of rulesets, even in the most minor of ways, can be extremely detrimental.

Specifically, a timer that addresses the total length of a game in a way cause a timer metagame - it changes the way the game can be played. People could start "playing for draw" instead of playing to win in some cases. I don't need to explain too much here.

That being said, I agree some mechanism should be put in place for both ladder and tours.
 
You forgot an option:

3. Play the game.

Unless I'm missing something, nothing is preventing either battler from attacking the other. They both chose to waste their own time.

keeping attacking is a suboptimal play in these kind of battle, if they chose to waste their times it was obviously in order to try to win.
hence "playing the game" is not a solution here.
I also think we need to do something about these "infinite battle" even tho i don't really know what to do yet because as ABR stated an option that would allow players to "play for the draw" isn't a good thing in Pokémon.
 
keeping attacking is a suboptimal play in these kind of battle, if they chose to waste their times it was obviously in order to try to win.
hence "playing the game" is not a solution here.
I also think we need to do something about these "infinite battle" even tho i don't really know what to do yet because as ABR stated an option that would allow players to "play for the draw" isn't a good thing in Pokémon.
If you're willing to spend hours double switching and stalling to win a ladder match I pity you, fuck "suboptimal"
 
i honestly dont understand why PS doesnt have a "request draw" button in the battle screen

several people in the other endless battle thread were discussing a hypothetical "request draw" button screen that could pop up after X amount of turns so both players, after being in a stalemate for such a long duration, can request a draw, but i dont think the X amount of turns part is really necessary at all tbh. i would support a request draw button that appears right as the battle initiates, just like how you have the option to turn on the timer immediately when a game starts. players shouldnt have to wait a certain amount of turns just because they want to request a draw.

various people were against this in the other endless battle thread because they thought it would be abused on ladder. i on the other hand disagree and dont see how this feature could be abused at all

1) when two players draw vs each other, the higher ranked player actually loses some points regardless. this means that the higher ranked player will always still have an obligation to play if they want to conserve their ladder points and cant just request draws willy nilly with no drawbacks whatsoever. this means that a very low percentage of games would actually use this request draw feature since one player (the higher ranked one) will likely never want to request a draw (unless they are losing, in which the lower ranked player will never want a draw, or the game is endless, which is the whole discussion of this OP)

2) if both players want to draw, we should let them. i dont see why its an issue. some people say that if a player gets their friend on ladder this could lead to both of them wanting to request a draw, but honestly i dont see why we cant let them draw if thats what both of them want? it doesnt affect the rest of the ladder or other players so its not like they're taking advantage of anything. also idk about you guys but if i got my friend on ladder i'd 100% want to play it out just like i would with any other ladder game.

numerous people might think this is problematic because if its a haxy game the person that got haxed would likely request a draw but at the end this is irrelevant because the person who is a winning position is unlikely to want a draw. almost every person i know who haxes their opponent would take the win 100% instead of drawing, its pokemon and hax affects each and every one of us. no one is going to feel guilty for taking the win instead of requesting a draw

TLDR: add a request draw button that both players have the option to click when the game initiates
 
Tournaments and ladder cannot have separate in battle rules, and I believe anyone high up would say the same. Separating the scenes in terms of rulesets, even in the most minor of ways, can be extremely detrimental.

Specifically, a timer that addresses the total length of a game in a way cause a timer metagame - it changes the way the game can be played. People could start "playing for draw" instead of playing to win in some cases. I don't need to explain too much here.

That being said, I agree some mechanism should be put in place for both ladder and tours.

I spoke to ABR about this on discord and they said that tournament directors reserve the right to call a match. They also gave an example of an official game that went 1287 turns and ended normally (6 Pokemon fainted). This isn't an upper bound, but it demonstrates that matches can go 1000+ turns and end (whether or not they should is another question).


I personally feel like we should aim to reduce situations where tournament directors/PS staff need to call matches, but acknowledge that doing so is hard. The match linked in the OP eventually did end, at approx 2600 turns, because endless battle clause activated.

Endless battle clause is designed to address cases where a match physically can't end, which is different from matches where making a move that moves closer to the end of the game is un-optimal for both players. Endless battle clause is also fairly lenient and gives warnings the closer you get to it activating since we really want to avoid false positives, especially in a tournament setting.
 
Last edited:
My current plan is to make the per-player timer harsher, so each player is limited to ~2 hours total, and using up all that time is an instant loss.

The main difference between this and a global time limit is that this makes it impossible to timerstall to a tie.

(I've been yak shaving towards this solution the past few days; here, I'll describe the yak shaving: I need to rewrite the timer to run on total time rather than tick counting, which involves a refactor, so I should TypeScript the file to prevent bugs, which requires TypeScripting its process manager dependency, which is poorly written so I should rewrite it, and it should use streams, but Node's built-in streams are bad, so I should write my own stream library.)
 
Last edited:
Main issue I have with a lot of the discussion around this subject is that there's a strong opposition to eliminating this kind of game entirely because "it's a valid playstyle and requires skill". Thing is, this kind of "valid playstyle" is unhealthy for the gameplay, and just leads to matches being decided by who has the most free time, instead of who's the better player. I honestly think there's literally no benefit to trying to have a compromise solution, and I'm still very much a fan of having some hard measurements put in place to eliminate any sort of game where the entire game plan is to just switch every turn until infinity. A thing I read on discord was "So we would force stall players to actually give their team a wincon?" and I completely agree with that. 1000+ turn games aren't fun for anyone, both from a technical standpoint and a "ladder experience" perspective. I don't think limiting the timer is a good solution for this, since it just causes people to play their stall games faster, and doesn't even limit extremely long stall games from a mechanical standpoint.
 
I think a force-tie mechanic similar to the '50-turn-rule' from Chess would be the best way to go from a competitive standpoint. If players haven't used any PP over X amount of turns, I'd say a reasonable amount of turns for X is about 150; Players who resort to double switching endlessly are where games have effectively reached a stalemate exactly like with two kings in Chess and would result in a draw. One could argue 'just use moves/attack' but this would be a losing play for the player who decides to waste PP and this is harsher than a force-tie in the long run. Furthermore this would resolve the issue of 'stalemated' games almost always and would also remove the issue of one player effectively trying to tire their opponent out or until they have to leave.

My current plan is to make the per-player timer harsher, so each player is limited to ~2 hours total, and using up all that time is an instant loss.

The main difference between this and a global time limit is that this makes it impossible to timerstall to a tie.

(I've been yak shaving towards this solution the past few days; here, I'll describe the yak shaving: I need to rewrite the timer to run on total time rather than tick counting, which involves a refactor, so I should TypeScript the file to prevent bugs, which requires TypeScripting its process manager dependency, which is poorly written so I should rewrite it, and it should use streams, but Node's built-in streams are bad, so I should write my own stream library.)

I'm not sure if this is solely aimed at ladder games, but my concern with this is there are slower paced metagames such as GSC OU that would sometimes require more than 2hrs of player-thinking time which go into the region of about 400 turns, with little or none of these composing of 'dobule switches' and resulting in an automatic loss for a player in a legitimate played out game is really harsh in my opinion and I feel players should be allowed to play out games where they have a legitimate way of winning. If this is the most popular/chosen option I would urge you to consider to make this player-timer longer for non-ladder games.
 
The best solution is the simplest one, which is to forcetie battles at a 2000 turn limit. In this way there is a predefined endgame scenario for stall cores lacking the ability to break through eachother, where the winner is not determined by who manages the timer or a complex pp counting system which could go awry. Pokemon was never designed to be played without a "time limit" in the modern gens, but the cartridge limit has been so restrictive that PS has been wise to ignore it. Imposing a set limit at 2000 turns, however, patches up the inherent gameplay flaw while making it so that 99% of stall v. stall games where one player has a wincon will conclude naturally. Yes, there are theoretical games which could play out over the 2000 turn limit, but they are exceedingly rare and often could be finished before 2000 turns if they were played with the limit in mind. There is no perfect solution, but I thnk a 2000 turn limit is a good compromise, which is still very geared towards letting the game play out as it should be. In my mind, this fixes a game design problem on the simulator, not the actual problem of the pain of playing out 2000 turns. So I think in conjunction with a hard 2000 turn limit, players should be given a request draw option after 500 turns or something of the like. 500 turns prevents abuse of the mechanic and forces players to try and find a win condition, but also allows for a stall v. stall game to conclude in a managable interval if both players consent.
 
The best solution is the simplest one, which is to forcetie battles at a 2000 turn limit. In this way there is a predefined endgame scenario for stall cores lacking the ability to break through eachother, where the winner is not determined by who manages the timer or a complex pp counting system which could go awry. Pokemon was never designed to be played without a "time limit" in the modern gens, but the cartridge limit has been so restrictive that PS has been wise to ignore it. Imposing a set limit at 2000 turns, however, patches up the inherent gameplay flaw while making it so that 99% of stall v. stall games where one player has a wincon will conclude naturally. Yes, there are theoretical games which could play out over the 2000 turn limit, but they are exceedingly rare and often could be finished before 2000 turns if they were played with the limit in mind. There is no perfect solution, but I thnk a 2000 turn limit is a good compromise, which is still very geared towards letting the game play out as it should be. In my mind, this fixes a game design problem on the simulator, not the actual problem of the pain of playing out 2000 turns. So I think in conjunction with a hard 2000 turn limit, players should be given a request draw option after 500 turns or something of the like. 500 turns prevents abuse of the mechanic and forces players to try and find a win condition, but also allows for a stall v. stall game to conclude in a managable interval if both players consent.

I think that's a flawed solution as a 2000 turns game is worth some hours and that the battle will most of the time cause one of the player will run out of time irl. in a similar fashion i'd rather add a "request draw" button tbh.
 
Last edited:
Cynara That's been brought up many times in the past 5 threads on this; people don't want it because there's no good way to measure progress that would both guarantee the game ends in less than 8 hours, and also doesn't interfere with people's ability to play strategically.

I'm also okay with a 1000-turn limit, but it seems less elegant. 2000 is some serious inflation there.
 
A request tie button is the best solution here. A game past 1000 turns is still winnable in certain scenarios (abr vs tele), and setting a limit forces a timer on a player that still has a win condition. If we implement a chess clock of 2 hours into a match it creates an outside win condition separate from the match itself. Ironically, this only replicates the original issue with these endless battles. Currently, a player can stall a match out by making endless switches until the opponent needs to leave. With a clock in place, a player with a lead in time can just make their switches as fast as possible and just run the opponent out of time, or force the opponent to play sub-optimally by trying to use pp, eventually leading to a loss. In both cases a player is able to win a match due to a win condition outside of the actual game.
 
A request tie button is the best solution here.
Currently, a player can stall a match out by making endless switches until the opponent needs to leave.
So, um, how does a request tie button solve the problem where a player can stall a match out by making endless switches until the opponent needs to leave? You realize the player can also click "no" when the opponent clicks "offer draw", right?

I think I'm going to do the 1000-turn autotie. If I did the 2-hour per-player time limit, the winner would be whoever can click faster, and that seems less fair. And in both cases, the battle will end after two hours. You're right that ABR vs Tele ended in over 1000 turns, but ABR himself said he would have played faster and still probably have won if he knew there was a turn limit, and it's not like anyone's been able to offer a better solution.
 
Last edited:
No matter what the trigger is for a game being called, an absolute tie is preferable instead of a "who has more mons left" type of deal, so we don't alter the strategies in trying to win games.

From this point, I also agree with a turn based autotie. This has been discussed at length in various threads of this nature and the faults with all of: request draw, "x turns without pp use", and "x turns without a mon dying" are all extremely apparent. The only question at this point is deciding the proper arbitrary number, and as far as I know all numbers here are fairly arbitrary so we just need to do something that is clean (a multiple of 50 or 100?). I'd say 1000 is pretty damn close to the perfect number, as the amount of games that can legitimately end past this point are exceedingly slim. If people worry about infringing on that fraction of games (think me vs tele, and yes, its possible I could have won sooner), then maybe 1250 or 1500 can be discussed. Whether 1000, 1250, or 1500, this is the way forward.
 
Back
Top