• Follow our Instagram!
  • Curious about what we're currently doing about bots? Check out the latest updates from staff in this thread.

Battle Bot New name: Mew's Truck #1 ranked VGC bot. What do I do with this thing now?

number_1_again.jpg

I made this bot and now it's #1 on the ladder. It got there in 155 games, but I was making improvements as it was climbing so if I had to restart the climb it would probably be closer to 100 games now. I had very little experience with programming before this, and am a bad VGC player.

I have an idea to turn this bot into a game review bot similar to chess.com where it can show you what you did wrong in your games and explain why, but IDK if that's something people want. Feel free to DM me or post in this thread on ideas of what to do with this bot.

BTW, if anyone is still unsure, we are absolutely past the Deep Blue point where computers are better than humans at Pokémon. I don't really know what that means for the game and what should be done about it, but I am in favor of what's been proposed so far of a bot registry, banning or forcefully registering bots that aren't registered and probably an option that human users can turn on or off about whether they want to face bots in their games. Also the creation of a bot-only ladder would be cool, so bot makers have a place to grind our bots against each other and push the limits of theoretical Pokémon play, and have something to do besides play on the human ladder.
 
I really like this idea! It could be a great way for players to learn from their mistakes and keep improving over time.
I have an idea to turn this bot into a game review bot similar to chess.com where it can show you what you did wrong in your games and explain why, but IDK if that's something people want. Feel free to DM me or post in this thread on ideas of what to do with this bot.
 
why do you say this?
Idk, I was probably being dramatic lol. We've probably been at that point for a little while now, and it's more accurate to say that we're now at the point where anyone with a little too much free time can whip up a bot that's better than practically every human at VGC on their own.

Jaxcalibur beat MichaelderBeste and he's probably the best RandBats player or at least close to it, and this bot and mikumiku hit #1 on the ladder with relatively simple bots. Idk how exactly to measure that the best bot is better than the best human, but if I had to put money on it, I'm betting on the bot for any format at this point.

Also, there might be better bots than this used by other people that want to keep it to themselves for whatever reason. There are two players in the top 20 of the ladder, halfcookedRigatoni with 84.7% GXE and 9zitis with 85.2% GXE. I could be wrong and those are just the greatest players (or same player on two accounts, since they're both pasta themed names) on the ladder by a large margin, or they are incredibly strong bots.
 
Last edited:
BTW, if anyone is still unsure, we are absolutely past the Deep Blue point where computers are better than humans at Pokémon.
I wouldn't say this exactly... at least as of now.

I fear that if everything just keeps going like this, it'll creep up in due time. I hope that time doesn't come, but it might be quicker than expected.

With all that being said, I really dont think it'll happen since most bots just go off of safer options and use moves based off of what everyone else has done, they could probably be more predictable than we might expect.
 
Last edited:
Idk, I was probably being dramatic lol. We've probably been at that point for a little while now, and it's more accurate to say that we're now at the point where anyone with a little too much free time can whip up a bot that's better than practically every human at VGC on their own.

Jaxcalibur beat MichaelderBeste and he's probably the best RandBats player or at least close to it, and this bot and mikumiku hit #1 on the ladder with relatively simple bots. Idk how exactly to measure that the best bot is better than the best human, but if I had to put money on it, I'm betting on the bot for any format at this point.

Also, there might be better bots than this used by other people that want to keep it to themselves for whatever reason. There are two players in the top 20 of the ladder, halfcookedRigatoni with 84.7% GXE and 9zitis with 85.2% GXE. I could be wrong and those are just the greatest players (or same player on two accounts, since they're both pasta themed names) on the ladder by a large margin, or they are incredibly strong bots.
would you consider bring 6 pick 4 easier or harder for a bot to learn than full 6v6 like what smogon does? It is quite curious that we have not yet seen these bots hit any significant numbers in Smogon Singles (or Doubles?).
 
would you consider bring 6 pick 4 easier or harder for a bot to learn than full 6v6 like what smogon does? It is quite curious that we have not yet seen these bots hit any significant numbers in Smogon Singles (or Doubles?).

It's harder for transformers to learn consequences multiple plies in and search grows exponentially more expensive.

VGC's depth of options per turn is harder for humans comparatively, while long lines are harder for transformers.

Also VGC can be open sheets.
 
With all that being said, I really dont think it'll happen since most bots just go off of safer options and use moves based off of what everyone else has done, they could probably be more predictable than we might expect.
That's not exactly true. All the bots popping up recently basically work the same way I'm pretty sure. They play a bajillion games against themselves with a mix of what they think is the best move and some randomness mixed in so it doesn't get stuck in a rut and see what produced the best results in certain situations, and then repeat that process for a really long time. If it so happens that that the moves that produce the best results are generally safe plays, then that's probably just the optimal way to play the game, not a shortcoming of the bot. Also, I'm not sure if "based off of what everyone else has done" means it learns from human play, because this bot and mikumiku and probably the others are entirely trained off of games that it played against itself.

Also, the bots don't just always generate a move that they think has the highest win% and play it, if there are multiple moves that are close, or if it thinks that being predictable in a certain spot would have a large potential downside, it can assign a percentage chance to choose from the top moves and play one of them randomly based on that chance. This is similar to how poker bots work.
would you consider bring 6 pick 4 easier or harder for a bot to learn than full 6v6 like what smogon does? It is quite curious that we have not yet seen these bots hit any significant numbers in Smogon Singles (or Doubles?).
I think full 6v6 doubles would be slightly harder because long-term thinking is actually something that the bots aren't the best at, but I think it would still be possible to get a bot to be #1 in that format with essentially what we have now. 6v6 singles could actually be harder for the reasons idkup mentioned.
Also did a bot get open sourced / leaked somewhere?...SOB
Not that I'm aware of at least, but who knows how long it'll be. For the record I'm against open-sourcing a bot like this for obvious reasons.
 
Last edited:
I was inspired by Nessie's write-up, so here's a write-up of my bot:
Wolfe_Alt6767 plays Champions VGC Reg M-C doubles: Bo1 ladder with closed team sheets, plus open-team-sheet formats. It’s a transformer of about 7.5M parameters, trained mostly by self-play reinforcement learning, with a one-turn simultaneous-move search on top at play time. It briefly reached #1 on the M-C ladder; its sustained level is a performance rating of around 1800. Hardware: a 1070 at home for development, and a rented 5090 for the big training runs.

The simulator. Everything starts with a purpose-built battle engine in Rust, written specifically for Champions (stat points, the new Megas, the Champions move and status changes). Pokemon Showdown is used only as the reference:

  • Exact copy. I first ported Showdown’s simulator bit for bit (its random number generator, event system and call order). It matches Showdown exactly on every one of 8,400 test battles, but it’s slow, so it serves only as a checker.
  • Fast engine. The engine actually used for training is a simplified one. It agrees with the exact copy on about 99.8% of turns, and its damage calculation is 100% exact against Showdown on 30,000+ random cases.
  • Fixing the gaps. A diff tool plays the same turn many times in both engines, flags positions where the outcome distributions differ, and ranks the moves, abilities and items involved by how often they show up. That told me which mechanics to fix first.
  • Speed. About 38,000 random battles per second on one CPU thread, roughly 250,000 on 12 threads, a few hundred times faster than running Showdown. A self-play harness runs thousands of games in parallel and writes observations straight into preallocated numpy buffers, so the GPU never waits on the simulator.
The network. A transformer, width 256, 8 layers, over 17 tokens: 8 Pokemon, 8 tokens for our active Pokemon’s moves, and a field token.

  • Inputs: besides embeddings for species, abilities, items and moves, each position includes precomputed damage numbers. For each of our moves against each foe, and theirs against us, it gets the expected damage and KO chance from the real damage formula, plus speed order and the last few moves each Pokemon used. The net doesn’t have to learn the damage formula; it gets the arithmetic for free and spends its capacity on strategy.
  • Moves: chosen by pairing a move token with a target token, so targeting is part of the structure.
  • Other heads:
    • a value head;
    • a team-preview head choosing among all 90 plans (15 ways to pick four × 6 lead pairs);
    • a head that predicts the opponent’s next action from our point of view;
    • a KO-prediction head as an auxiliary target.
Training.

  1. Imitation first. I ported my earlier heuristic bot (damage-calc scoring + a one-turn search) to Rust and recorded a million games of it playing itself. The net learned to imitate it, which gave it a sensible starting point instead of random play.
  2. Then PPO self-playon a pool of about 5,600 real tournament teams (VGC Pastes + Limitless) and some synthetic ones. Details that mattered:
    • Who it plays: about half its games are against itself, the rest against frozen past versions plus a “hall of fame” of the best checkpoints, to avoid forgetting and to cut down on strategy cycling.
    • Holding it near its start: a KL penalty first pulls it towards the imitation net, then towards a slow moving average of its own weights. Letting it drift freely made it collapse into overconfident play.
    • Team preview is learned too, and ended up several points better than the hand-written preview.
    • Open and closed information: half the games are played with closed team sheets, where unrevealed moves, items and abilities are hidden from the net, so it plays both formats.
    • Validation teams: about 1 team in 15 is never trained on, so I can tell real improvement from memorising teams.
    • Learning-rate plateaus: twice, an apparent plateau turned out to be the learning rate. Halving it gave 5–9 point jumps within hours. Training now checks every 2 hours against the net from 2 hours earlier, and halves the rate automatically when progress stalls.
    • Search targets: later runs also mix in improved targets from the search.
Search. Each turn is treated as the simultaneous-move game it is:

  1. Candidates: the net proposes its best joint actions for us, and the opponent-prediction head proposes theirs.
  2. Values: each (our action × their action) cell is played out in the engine across several sampled “worlds”, and the value net scores the resulting positions. With closed sheets, each world fills in the opponent’s unrevealed sets from a library of real tournament sets that match what has been revealed so far.
  3. Budget: sequential halving spends the budget on the actions that are still contenders.
  4. Choice: the matrix is solved with regret matching. The final pick blends the net’s own preference with the search’s value advantage. That blend beat trusting the search’s raw maximum, which tends to chase lucky estimates.
The search adds a lot: in engine tests, the same net went from 44% to 62% against my heuristic bot with search turned on. I’m now replacing the sampled dice in the search with chance nodes (enumerating KO rolls, crits and secondary effects with their probabilities), after reading the Nessie thread.

Playing on Showdown. The hardest engineering problem was rebuilding Showdown’s position inside my engine. I built an audit mode: Showdown’s true internal state is attached to every decision and compared with my reconstruction. That found bugs no strength test would have shown, such as weather and terrain timers, Mega forms, entry hazards, and Fake Out eligibility being one turn stale. On the ladder it also keeps light scouting notes on opponents’ habits and plays with some randomness, because regular opponents (including other bots) started to read a deterministic bot.

Tools. The project’s real payoff for people is:

  • A game-review tool, like a lichess analysis: calibrated win chances, a win-chance graph, move ratings from “best” to “blunder”, team-preview analysis, and a browser extension that reviews a finished Showdown game in one click.
  • A “Matchup Lab”: paste two teams, and it plays tens of thousands of games to find each side’s best four and leads (an equilibrium over the preview choices), the hardest lead matchups, and the best turn-1 plays. You can then take over any of those positions and play the rest against the bot.
Happy to answer questions!
 
Hello! I have a couple of questions!

So, in your previous post you state

For the record I'm against open-sourcing a bot like this for obvious reasons.

However, in your next post you spill the beans (with AI assistance no less!) on how your bot works. So, although you're not revealing the code, you're still providing clues as to how someone else can program one of these. Does this not contradict your previous claim about being against open sourcing? Or is presenting it in this matter harmless for someone who might attempt a similar feat?
 
Hello! I have a couple of questions!

So, in your previous post you state



However, in your next post you spill the beans (with AI assistance no less!) on how your bot works. So, although you're not revealing the code, you're still providing clues as to how someone else can program one of these. Does this not contradict your previous claim about being against open sourcing? Or is presenting it in this matter harmless for someone who might attempt a similar feat?
I still haven't released anything open source, and Nessie and miku both have similar write-ups of how their bots work. Are we allowed to discuss how our bots work here, or not? If not, I will gladly move elsewhere.

Can’t even do a write up of your own bot without the assistance of AI, why is any of this even being entertained on here?
Yeah asking AI to write it is pretty lame lol, but it can explain how it works way better than I can.
 
I was inspired by Nessie's write-up, so here's a write-up of my bot:
Wolfe_Alt6767 plays Champions VGC Reg M-C doubles: Bo1 ladder with closed team sheets, plus open-team-sheet formats. It’s a transformer of about 7.5M parameters, trained mostly by self-play reinforcement learning, with a one-turn simultaneous-move search on top at play time. It briefly reached #1 on the M-C ladder; its sustained level is a performance rating of around 1800. Hardware: a 1070 at home for development, and a rented 5090 for the big training runs.

The simulator. Everything starts with a purpose-built battle engine in Rust, written specifically for Champions (stat points, the new Megas, the Champions move and status changes). Pokemon Showdown is used only as the reference:

  • Exact copy. I first ported Showdown’s simulator bit for bit (its random number generator, event system and call order). It matches Showdown exactly on every one of 8,400 test battles, but it’s slow, so it serves only as a checker.
  • Fast engine. The engine actually used for training is a simplified one. It agrees with the exact copy on about 99.8% of turns, and its damage calculation is 100% exact against Showdown on 30,000+ random cases.
  • Fixing the gaps. A diff tool plays the same turn many times in both engines, flags positions where the outcome distributions differ, and ranks the moves, abilities and items involved by how often they show up. That told me which mechanics to fix first.
  • Speed. About 38,000 random battles per second on one CPU thread, roughly 250,000 on 12 threads, a few hundred times faster than running Showdown. A self-play harness runs thousands of games in parallel and writes observations straight into preallocated numpy buffers, so the GPU never waits on the simulator.
The network. A transformer, width 256, 8 layers, over 17 tokens: 8 Pokemon, 8 tokens for our active Pokemon’s moves, and a field token.

  • Inputs: besides embeddings for species, abilities, items and moves, each position includes precomputed damage numbers. For each of our moves against each foe, and theirs against us, it gets the expected damage and KO chance from the real damage formula, plus speed order and the last few moves each Pokemon used. The net doesn’t have to learn the damage formula; it gets the arithmetic for free and spends its capacity on strategy.
  • Moves: chosen by pairing a move token with a target token, so targeting is part of the structure.
  • Other heads:
    • a value head;
    • a team-preview head choosing among all 90 plans (15 ways to pick four × 6 lead pairs);
    • a head that predicts the opponent’s next action from our point of view;
    • a KO-prediction head as an auxiliary target.
Training.

  1. Imitation first. I ported my earlier heuristic bot (damage-calc scoring + a one-turn search) to Rust and recorded a million games of it playing itself. The net learned to imitate it, which gave it a sensible starting point instead of random play.
  2. Then PPO self-playon a pool of about 5,600 real tournament teams (VGC Pastes + Limitless) and some synthetic ones. Details that mattered:
    • Who it plays: about half its games are against itself, the rest against frozen past versions plus a “hall of fame” of the best checkpoints, to avoid forgetting and to cut down on strategy cycling.
    • Holding it near its start: a KL penalty first pulls it towards the imitation net, then towards a slow moving average of its own weights. Letting it drift freely made it collapse into overconfident play.
    • Team preview is learned too, and ended up several points better than the hand-written preview.
    • Open and closed information: half the games are played with closed team sheets, where unrevealed moves, items and abilities are hidden from the net, so it plays both formats.
    • Validation teams: about 1 team in 15 is never trained on, so I can tell real improvement from memorising teams.
    • Learning-rate plateaus: twice, an apparent plateau turned out to be the learning rate. Halving it gave 5–9 point jumps within hours. Training now checks every 2 hours against the net from 2 hours earlier, and halves the rate automatically when progress stalls.
    • Search targets: later runs also mix in improved targets from the search.
Search. Each turn is treated as the simultaneous-move game it is:

  1. Candidates: the net proposes its best joint actions for us, and the opponent-prediction head proposes theirs.
  2. Values: each (our action × their action) cell is played out in the engine across several sampled “worlds”, and the value net scores the resulting positions. With closed sheets, each world fills in the opponent’s unrevealed sets from a library of real tournament sets that match what has been revealed so far.
  3. Budget: sequential halving spends the budget on the actions that are still contenders.
  4. Choice: the matrix is solved with regret matching. The final pick blends the net’s own preference with the search’s value advantage. That blend beat trusting the search’s raw maximum, which tends to chase lucky estimates.
The search adds a lot: in engine tests, the same net went from 44% to 62% against my heuristic bot with search turned on. I’m now replacing the sampled dice in the search with chance nodes (enumerating KO rolls, crits and secondary effects with their probabilities), after reading the Nessie thread.

Playing on Showdown. The hardest engineering problem was rebuilding Showdown’s position inside my engine. I built an audit mode: Showdown’s true internal state is attached to every decision and compared with my reconstruction. That found bugs no strength test would have shown, such as weather and terrain timers, Mega forms, entry hazards, and Fake Out eligibility being one turn stale. On the ladder it also keeps light scouting notes on opponents’ habits and plays with some randomness, because regular opponents (including other bots) started to read a deterministic bot.

Tools. The project’s real payoff for people is:

  • A game-review tool, like a lichess analysis: calibrated win chances, a win-chance graph, move ratings from “best” to “blunder”, team-preview analysis, and a browser extension that reviews a finished Showdown game in one click.
  • A “Matchup Lab”: paste two teams, and it plays tens of thousands of games to find each side’s best four and leads (an equilibrium over the preview choices), the hardest lead matchups, and the best turn-1 plays. You can then take over any of those positions and play the rest against the bot.
Happy to answer questions!
Really interesting write-up! The two-simulator setup and the search design especially caught my attention. I had a few questions:

1. Hidden information and damage features

Under closed team sheets, how do you compute the damage, KO chance, and speed-order features when the opponent's moves, items, or EVs haven't been revealed? Do you average over plausible sets, calculate them separately in sampled worlds, or mask some features until they're known? I'm also curious how the eight Pokémon tokens represent unrevealed opponents.

2. Simulator accuracy and Showdown state reconstruction

What exactly counts as a matching turn in the 99.8% figure, and what kinds of mismatches remain? I'm also really interested in how you reconstructed Showdown's live state inside Rust. Apart from comparing against Showdown's internal state, were there any particular methods or checks that made the reconstruction more reliable? How do you distinguish states that can be reconstructed from public information from genuinely hidden information during the audit?

3. Sequential halving and action selection

How does sequential halving work with your simultaneous-move payoff matrix? Are you eliminating joint-action candidates on both sides, or mainly allocating more simulations to promising cells? Could this accidentally eliminate a low-scoring action that's still an important counter in the equilibrium? Have you compared it with uniform allocation or considered a double-oracle-style best-response expansion?

4. Search depth and policy integration

Do you think one-turn search is generally sufficient because the value net already captures longer-term outcomes? I'm particularly curious about situations involving Trick Room, Tailwind, or field effects like terrain and weather, where much of the benefit may come over several turns. Have you noticed cases where the value net struggles with these positions, or where selectively searching deeper makes a meaningful difference?

I'm also curious how you blend the policy's original preferences with the search's value estimates, especially when those estimates are noisy.

5. Imitation learning and KL regularization

How much did the imitation warm start and KL regularization contribute? Did you compare them against PPO trained from scratch under a similar compute budget? I'm particularly curious whether they mainly improved training stability and sample efficiency, or whether they also improved the final playing strength.

Thanks for sharing so much detail! I'd be interested to hear your thoughts on any of these.
 
Last edited:
Really interesting write-up! The two-simulator setup and the search design especially caught my attention. I had a few questions:

1. Hidden information and damage features

Under closed team sheets, how do you compute the damage, KO chance, and speed-order features when the opponent's moves, items, or EVs haven't been revealed? Do you average over plausible sets, calculate them separately in sampled worlds, or mask some features until they're known? I'm also curious how the eight Pokémon tokens represent unrevealed opponents.

2. Simulator accuracy and Showdown state reconstruction

What exactly counts as a matching turn in the 99.8% figure, and what kinds of mismatches remain? I'm also really interested in how you reconstructed Showdown's live state inside Rust. Apart from comparing against Showdown's internal state, were there any particular methods or checks that made the reconstruction more reliable? How do you distinguish states that can be reconstructed from public information from genuinely hidden information during the audit?

3. Sequential halving and action selection

How does sequential halving work with your simultaneous-move payoff matrix? Are you eliminating joint-action candidates on both sides, or mainly allocating more simulations to promising cells? Could this accidentally eliminate a low-scoring action that's still an important counter in the equilibrium? Have you compared it with uniform allocation or considered a double-oracle-style best-response expansion?

4. Search depth and policy integration

Do you think one-turn search is generally sufficient because the value net already captures longer-term outcomes? I'm particularly curious about situations involving Trick Room, Tailwind, or field effects like terrain and weather, where much of the benefit may come over several turns. Have you noticed cases where the value net struggles with these positions, or where selectively searching deeper makes a meaningful difference?

I'm also curious how you blend the policy's original preferences with the search's value estimates, especially when those estimates are noisy.

5. Imitation learning and KL regularization

How much did the imitation warm start and KL regularization contribute? Did you compare them against PPO trained from scratch under a similar compute budget? I'm particularly curious whether they mainly improved training stability and sample efficiency, or whether they also improved the final playing strength.

Thanks for sharing so much detail! I'd be interested to hear your thoughts on any of these.
DMed my response since I'm unclear if we can discuss bot details here.
 
Can’t even do a write up of your own bot without the assistance of AI, why is any of this even being entertained on here?
This feels... unnecessarily antagonistic.

As much as I agree that AI is oversaturated and shoved down everyone's throats, it performs a purpose, and it's not like the entire project is soulless slop. If the AI can look at how the bot works and explain it, and you have the reading comprehension to understand it, I don't see what's being lost.
 
This feels... unnecessarily antagonistic.

As much as I agree that AI is oversaturated and shoved down everyone's throats, it performs a purpose, and it's not like the entire project is soulless slop. If the AI can look at how the bot works and explain it, and you have the reading comprehension to understand it, I don't see what's being lost.

I can concede that yeah maybe I was a bit aggressive but I still stand by my view. When an already unpopular thing like ai botmaking is presented which is then followed up by an ai explanation rather than a human one it doesn’t leave any room to look at it with a positive light, why should we entertain or trust any botmaking when the botmakers themselves can’t explain their inner workings without getting an AI to do it?
 
Hello! I have a couple of questions!

So, in your previous post you state



However, in your next post you spill the beans (with AI assistance no less!) on how your bot works. So, although you're not revealing the code, you're still providing clues as to how someone else can program one of these. Does this not contradict your previous claim about being against open sourcing? Or is presenting it in this matter harmless for someone who might attempt a similar feat?

This information is relatively speaking, "public knowledge" these days. You think Pokemon is the only game bots are being trained for? There have been bots for games much more complex than pokemon (like Dota2) for almost a decade now, and most of the insights to train them can be found on the internet.

"With AI assistance no less!" - what in the heavens is this even supposed to mean.

This would be like if a person in the year 1910 said "You are using an arc lamp to read books at night?? With ELECTRICITY assistance no less?"
 
It was kind of a dick move just throwing an AI response out there with no real attempt at elaboration, to be fair. I just want to talk with other like-minded people about this stuff really, and figured throwing something like that out there would be a good way to do it, but I could have put a smidge more effort in.
 
This information is relatively speaking, "public knowledge" these days. You think Pokemon is the only game bots are being trained for? There have been bots for games much more complex than pokemon (like Dota2) for almost a decade now, and most of the insights to train them can be found on the internet.
Who here is talking about dota? This is his own creation yet the competence we're being shown is that these people need AI to make writeups for them and, better yet, with "like-minded" people backing that up.
"With AI assistance no less!" - what in the heavens is this even supposed to mean.

This would be like if a person in the year 1910 said "You are using an arc lamp to read books at night?? With ELECTRICITY assistance no less?"
Absurd analogy and I hope you're smart enough to see why this is not comparable.
 
Who here is talking about dota? This is his own creation yet the competence we're being shown is that these people need AI to make writeups for them and, better yet, with "like-minded" people backing that up.

Absurd analogy and I hope you're smart enough to see why this is not comparable.
The thing is any professional can write on their field and even more their specific work without ai assistance. It's called a paper for peer reviewing. Most professionals wouldn't half ass the explanation: you'd have to sit, structure, define, remember everything if you didn't journal, and then refine for clearness and guiding thought.

But the point is, why do it, if this isn't a peer reviewed journal, and the ai explanation suffices for other professionals, and the people who complain about it are laypeople just seeking the gotcha with the juvenile thought that using ai is inherently bad or that it shows that you can't do it without it, which is an overreach.

Professionals value their time and effort. There's kinds of work and explanations that don't allow ai, others that allow ai with human review, and others that don't even need that much human review, if at all.

(I'm a linguist if anyone cares for the authority fallacy)
 
The thing is any professional can write on their field and even more their specific work without ai assistance. It's called a paper for peer reviewing. Most professionals wouldn't half ass the explanation: you'd have to sit, structure, define, remember everything if you didn't journal, and then refine for clearness and guiding thought.

But the point is, why do it, if this isn't a peer reviewed journal, and the ai explanation suffices for other professionals, and the people who complain about it are laypeople just seeking the gotcha with the juvenile thought that using ai is inherently bad or that it shows that you can't do it without it, which is an overreach.

Professionals value their time and effort. There's kinds of work and explanations that don't allow ai, others that allow ai with human review, and others that don't even need that much human review, if at all.

(I'm a linguist if anyone cares for the authority fallacy)

to be fair it takes a very minimal amount of effort to get a 2026 frontier model to not sound like a 2024 clanker
 
Hi! A friend and I rebuilt your pipeline from your write-up (Rust engine, imitation from a heuristic bot, 7.3M transformer, PPO with league + KL anchor, net-guided search). It works surprisingly well. A few questions, if you don’t mind:


  1. Search targets: How exactly did you mix search results into training? Did you use the search’s final move distribution as the policy target, the search value as the value target, or both? What share of the data, and from which point in training?
  2. Scale: Roughly how many PPO iterations/games and GPU hours did your final net take? When did it plateau?
  3. Measuring strength: Besides the win rate vs your heuristic bot, how did you judge real strength? Ladder rating, games vs humans, a fixed set of reference opponents?
  4. Team preview: Did you see the net picking up on team order (players list leads first)? Did you shuffle teams during training, or do anything else against that?
  5. Search depth / hidden info: Did the search look only one turn ahead with the value net at the leaves? How did you weight sampled worlds, uniformly from the tournament library or adjusted to what the opponent had already revealed?
  6. Biggest win: Looking back, which single change gave you the biggest strength jump?

Thanks a lot!
 
Hi! A friend and I rebuilt your pipeline from your write-up (Rust engine, imitation from a heuristic bot, 7.3M transformer, PPO with league + KL anchor, net-guided search). It works surprisingly well. A few questions, if you don’t mind:


  1. Search targets: How exactly did you mix search results into training? Did you use the search’s final move distribution as the policy target, the search value as the value target, or both? What share of the data, and from which point in training?
  2. Scale: Roughly how many PPO iterations/games and GPU hours did your final net take? When did it plateau?
  3. Measuring strength: Besides the win rate vs your heuristic bot, how did you judge real strength? Ladder rating, games vs humans, a fixed set of reference opponents?
  4. Team preview: Did you see the net picking up on team order (players list leads first)? Did you shuffle teams during training, or do anything else against that?
  5. Search depth / hidden info: Did the search look only one turn ahead with the value net at the leaves? How did you weight sampled worlds, uniformly from the tournament library or adjusted to what the opponent had already revealed?
  6. Biggest win: Looking back, which single change gave you the biggest strength jump?

Thanks a lot!
I DMed the response :) If anyone else has any questions about their own bots I'd love to talk about them!
 
Back
Top