Warstory: Technical Machine vs. Hunter

obi

formerly david stone
is a Site Content Manager Alumnusis a Programmer Alumnusis a Senior Staff Member Alumnusis a Smogon Discord Contributor Alumnusis a Researcher Alumnusis a Top Contributor Alumnusis a Battle Simulator Moderator Alumnus
Technical Machine is my Pokemon Artificial Intelligence (AI). It recently battled against Hunter on Pokemon Lab in a generation 4 battle. This battle was done with Technical Machine set to search to a depth of 2.

http://www.smogon.com/forums/showthread.php?t=69021

AI team:

Technical Machine:


Hippowdon (100% HP) @ Leftovers ** D64Sdvs
Ability: Sand Stream
- Earthquake
- Slack Off
- Stealth Rock
- Roar


Celebi (100% HP) @ Leftovers ** OLfxghg3
Ability: Natural Cure
- Calm Mind
- Recover
- Grass Knot
- Psychic


Blissey (100% HP) @ Leftovers ** ofJKdnD
Ability: Natural Cure
- Wish
- Softboiled
- Toxic
- Flamethrower


Skarmory (100% HP) @ Shed Shell ** 124652Dss
Ability: Keen Eye
- Spikes
- Roost
- Drill Peck
- Whirlwind


Tentacruel (100% HP) @ Leftovers ** Dkeos40
Ability: Liquid Ooze
- Toxic Spikes
- Rapid Spin
- Surf
- Sludge Bomb


Rotom-W (100% HP) @ Leftovers ** DkxndS13
Ability: Levitate
- Thunderbolt
- Shadow Ball
- Reflect
- Hydro Pump

I recently had a battle with Technical Machine vs. Hunter, who is new to simulator battles. This is my analysis of the battle.

Hunter sent out Infernape (lvl 100 Infernape ♂)!
Technical Machine sent out D64Sdvs (lvl 100 Hippowdon ♂)!
D64Sdvs's Sand Stream whipped up a sandstorm!
A sandstorm brewed!
===============
Begin turn #1
@Technical Machine: Hi
@Hunter: Hi.
@Hunter: I've never done the whole simulator thing, so. ^_^
Technical Machine starts out with a team match up. Hippowdon can Earthquake Infernape for a pretty much guaranteed KO if it stays in, and the team is defensive enough that the foe having SR up is worth them losing Infernape.

Predicting...
Foe team:
Hunter:
Infernape (100% HP) @ ** Infernape
- Close Combat
- Grass Knot
- Fire Blast
- U-turn
Scizor (100% HP) @ Choice Band **
Ability: Technician
- Bullet Punch
- Superpower
- U-turn
- Pursuit
Starmie (100% HP) @ Life Orb **
Ability: Natural Cure
- Thunderbolt
- Ice Beam
- Surf
- Rapid Spin
Flygon (100% HP) @ Choice Scarf **
Ability: Levitate
- Earthquake
- U-turn
- Outrage
- Stone Edge
Gengar (100% HP) @ Life Orb **
Ability: Levitate
- Shadow Ball
- Focus Blast
- Thunderbolt
- Substitute
Gyarados (100% HP) @ Leftovers **
Ability: Intimidate
- Waterfall
- Dragon Dance
- Stone Edge
- Earthquake

Here we see a limit to Technical Machine's prediction abilities, however. Lead Infernape will generally have Stealth Rock and Fake Out, in my experience, but Technical Machine's stats aren't that detailed, so it just predicts the average Infernape.

Infernape used Stealth Rock!
Pointed stones float in the air around your foe's team!
D64Sdvs used Earthquake!
It's super effective!
Infernape lost 48/48 of its health!
Infernape hung on using its Focus Sash!
The sandstorm rages.
Infernape is buffeted by the sandstorm!
Infernape lost 0/48 of its health!
Infernape fainted!
Hunter sent out Gyarados (lvl 100 Gyarados ♂)!
Gyarados's Intimidate cut D64Sdvs's attack!
===============
Technical Machine makes the same play I would, opting to KO Infernape here rather than simply ape the opponent and use Stealth Rock as well.

But then Technical Machine takes a risk to get Stealth Rock down, staying in on Gyarados. However, it doesn't pay off, as the foe Gyarados uses Waterfall twice in a row, both times flinching TM's Hippowdon and taking off 49% of its HP.

The second time, Hippowdon was attempting to use Slack Off, which seems to be an obvious bad move, but apparently not one so bad that TM sees why. Gyarados shows that it has a Life Orb, but unfortunately, I do not have support for Life Orb in my log analysis function, (a shortfall that will come back to bite TM later far worse than this). This means that even though Technical Machine's Hippowdon just took nearly 50% damage from Waterfall, meaning Slack Off only wins with Leftovers recovery and risks a KO from a CH, TM still thinks Waterfall will do about 38%, making Slack Off seem like a clear winner.

Also important is that the foe now has Stealth Rock down, and TM does not. This means that double switches make TM lose. This is why Technical Machine decides to switch to Skarmory instead of Celebi to stop Gyarados. Celebi risks the foe switching to Scizor and using Choice Band Superpower, U-turn, or Pursuit. Skarmory only risks the foe switching to Heatran, which I can handle much better.

Begin turn #4
Technical Machine withdrew D64Sdvs!
Technical Machine sent out 124652Dss (lvl 100 Skarmory ♂)!
Pointed stones dug into 124652Dss!
124652Dss lost 41/334 (12%) of its health!
Gyarados used Waterfall!
124652Dss lost 93/334 (27%) of its health!
Gyarados lost 5/48 of its health!
The sandstorm rages.
Gyarados is buffeted by the sandstorm!
Gyarados lost 3/48 of its health!
===============
Begin turn #5
Hunter withdrew Gyarados!
Hunter sent out Magnezone (lvl 100 Magnezone)!
124652Dss used Roost!
124652Dss regained 134/334 (40%) of its health!
The sandstorm rages.
===============
Fortunately, Skarmory has a Shed Shell. Here is the updated team prediction with Magnezone in it:

AI team:
Technical Machine:
Hippowdon (14.285714285714286% HP) @ Leftovers ** D64Sdvs
Ability: Sand Stream
- Earthquake
- Slack Off
- Stealth Rock
- Roar
Celebi (100% HP) @ Leftovers ** OLfxghg3
Ability: Natural Cure
- Calm Mind
- Recover
- Grass Knot
- Psychic
Blissey (100% HP) @ Leftovers ** ofJKdnD
Ability: Natural Cure
- Wish
- Softboiled
- Toxic
- Flamethrower
Skarmory (100% HP) @ Shed Shell ** 124652Dss
Ability: Keen Eye
- Spikes
- Roost
- Drill Peck
- Whirlwind
Tentacruel (100% HP) @ Leftovers ** Dkeos40
Ability: Liquid Ooze
- Toxic Spikes
- Rapid Spin
- Surf
- Sludge Bomb
Rotom-W (100% HP) @ Leftovers ** DkxndS13
Ability: Levitate
- Thunderbolt
- Shadow Ball
- Reflect
- Hydro Pump

======================
Predicting...
Foe team:
Hunter:
Gyarados (81.25% HP) @ ** Gyarados
Ability: Intimidate
- Waterfall
- Dragon Dance
- Stone Edge
- Earthquake
Magnezone (100% HP) @ ** Magnezone
- Thunderbolt
- Explosion
- Substitute
- Hidden Power
Tyranitar (100% HP) @ Choice Scarf **
Ability: Sand Stream
- Crunch
- Stone Edge
- Earthquake
- Pursuit
Gengar (100% HP) @ Life Orb **
Ability: Levitate
- Shadow Ball
- Focus Blast
- Thunderbolt
- Substitute
Scizor (100% HP) @ Choice Band **
Ability: Technician
- Bullet Punch
- Superpower
- U-turn
- Pursuit

Heatran and Flygon are dropped for Magnezone and Tyranitar. See how it miscalculates the foe Gyarados's HP, thinking it's only lost HP to Sandstorm damage.

Begin turn #6
Technical Machine withdrew 124652Dss!
Technical Machine sent out DkxndS13 (lvl 100 Rotom-w)!
Pointed stones dug into DkxndS13!
DkxndS13 lost 38/304 (12%) of its health!
Magnezone used Substitute!
Magnezone lost 12/48 of its health!
Magnezone made a substitute!
The sandstorm rages.
DkxndS13 is buffeted by the sandstorm!
DkxndS13 lost 19/304 (6%) of its health!
DkxndS13's Leftovers restored its health a little!
DkxndS13 regained 19/304 (6%) of its health!
Magnezone's Leftovers restored its health a little!
Magnezone regained 3/48 of its health!
===============
Then Rotom-W uses Hydro Pump several times while Magnezone uses Hidden Power (neutral). Rotom-W misses once, and then hits every time after that, until both Pokemon are down to 17% HP. If Rotom-W hits and Magnezone stays in, Rotom-W beats it, otherwise, Magnezone beats it. Now, Rotom-W can use Thunderbolt for a guaranteed KO on Magnezone, but it's afraid of the foe switching to Tyranitar, and since I don't have accuracy added in yet, TM thinks that against Magnezone, both are just as good, but against Tyranitar, Hydro Pump is better.

Sure enough...

Begin turn #11
DkxndS13 used Hydro Pump!
DkxndS13's attack missed Magnezone!
Magnezone used Hidden Power!
DkxndS13 lost 54/304 (17%) of its health!
DkxndS13 fainted!
The sandstorm rages.
Magnezone's Leftovers restored its health a little!
Magnezone regained 3/48 of its health!
And then I don't quite know why TM does what it does. It decides to replace the fainted Rotom-W with Hippowdon, who is at 14%. Then it immediately replaces Hippowdon with Celebi. The foe apparently expects something like this, and uses Explosion, taking Celebi down 54%, and sends out Scizor. This revealed some sort of Explosion-related bug where Celebi apparently took no damage according to TM.

Predicting...
Foe team:
Hunter:
Gyarados (81.25% HP) @ ** Gyarados
Ability: Intimidate
- Waterfall
- Dragon Dance
- Stone Edge
- Earthquake
Scizor (100% HP) @ ** Scizor
- Bullet Punch
- Superpower
- U-turn
- Pursuit
Heatran (100% HP) @ Choice Scarf **
Ability: Flash Fire
- Earth Power
- Fire Blast
- Explosion
- Dragon Pulse
Flygon (100% HP) @ Choice Scarf **
Ability: Levitate
- Earthquake
- U-turn
- Outrage
- Stone Edge


Begin turn #13
Technical Machine withdrew OLfxghg3!
Scizor used Pursuit!
A critical hit!
It's super effective!
OLfxghg3 lost 133/404 (32%) of its health!
OLfxghg3 fainted!
Technical Machine sent out Dkeos40 (lvl 100 Tentacruel ♂)!
Pointed stones dug into Dkeos40!
Dkeos40 lost 45/364 (12%) of its health!
The sandstorm rages.
Dkeos40 is buffeted by the sandstorm!
Dkeos40 lost 22/364 (6%) of its health!
Dkeos40's Leftovers restored its health a little!
Dkeos40 regained 22/364 (6%) of its health!
===============
But Celebi fainting ensured that Celebi's HP being wrong didn't matter any more. TM then uses Rapid Spin, permanently clearing Stealth Rock as Hunter stays in and uses Pursuit. From the damage (18%), it seems obvious it's not Choice Band, but I don't have that part of my program integrated with the log analyzer yet, so TM gets no extra information.

TM correctly decides to not waste its time using Toxic Spikes because it predicts the foe has Flygon as the last Pokemon, which would mean that they would do nothing.

Now TM is worried about the foe switching to Gyarados, so instead of using Surf, which is the best move for anything except the foe switching to Gyarados, Technical Machine's Tentacruel uses Sludge Bomb. Scizor stays in and gets free damage from Pursuit. Next turn, the same thing happens. But now Tentacruel's slow death to Pursuit is revealed to TM's shallow search of 2 turns, and Technical Machine takes action. It uses Surf, removing nearly half of Scizor's HP. Next turn, Surf again. However, Scizor has a Choice Scarf and thus moves first the turn after, fainting Tentacruel before it can finish Scizor off with Surf.

Begin turn #18
Scizor used Pursuit!
Dkeos40 lost 42/364 (11%) of its health!
Dkeos40 fainted!
The sandstorm rages.
@Technical Machine: Choice item
Technical Machine sent out 124652Dss (lvl 100 Skarmory ♂)!
===============
Now Hunter has two Pokemon weak to Spikes: Scizor and Heatran. However, Scizor is just above the HP needed for Spikes to KO it (it's at 15% instead of 12.5%). This means that a single layer of Spikes will not kill Scizor, but a Drill Peck will. Regardless, TM decides to just go with it and use Spikes as Hunter reveals Gengar. I guess TM was hoping it could just put down two layers for a guaranteed kill of Scizor, rather than worrying about it switching out as Skarmory uses Drill Peck. Either that or the predicted Heatran was assumed to take enough damage from Spikes to justify it.

Technical Machine makes the obvious switch to the Gengar counter on the team, Blissey, as Gengar uses Hidden Power (neutral, so probably Fire).

To recap, Technical Machine has a ~10% HP Hippowdon, a nearly 100% Blissey, and a 100% Skarmory, and has put down one layer of Spikes on the foe's field.

The foe has a low HP Gyarados, a 15% HP Scizor, and an 87% HP Gengar. It also has one Pokemon in reserve that TM predicts to be Heatran. The battle is looking pretty good for Technical Machine here, but it could still go either way at this point.

Technical Machine continues its strategy of hedging its bets against a strong foe by playing cautiously. Rather than making the obvious Flamethrower, TM has Blissey avoid giving Heatran Flash Fire or Gyarados a mostly free switch (from the perspective of TM, who thinks Gyarados is at 87% HP), TM takes the careful move:

Begin turn #21
Gengar used Focus Blast!
Gengar's attack missed ofJKdnD!
ofJKdnD used Toxic!
But it failed!
The sandstorm rages.
Gengar is buffeted by the sandstorm!
Gengar lost 3/48 of its health!
ofJKdnD is buffeted by the sandstorm!
ofJKdnD lost 40/651 (6%) of its health!
ofJKdnD's Leftovers restored its health a little!
ofJKdnD regained 40/651 (6%) of its health!
===============
Blissey has Special Defense, Softboiled, and Wish, while Gengar doesn't even have Leftovers, so combined with Focus Blast's low accuracy and PP, Blissey can win this just by sitting there, so there is no risk. However, the foe Hunter does not have the patience of a machine, and thus makes a rash move:

Begin turn #22
Hunter withdrew Gengar!
Hunter sent out Dragonite (lvl 100 Dragonite ♂)!
ofJKdnD used Toxic!
Dragonite was badly poisoned!
The sandstorm rages.
Dragonite is buffeted by the sandstorm!
Dragonite lost 3/48 of its health!
ofJKdnD is buffeted by the sandstorm!
ofJKdnD lost 40/651 (6%) of its health!
Dragonite is hurt by poison!
Dragonite lost 3/48 of its health!
ofJKdnD's Leftovers restored its health a little!
ofJKdnD regained 40/651 (6%) of its health!
===============
Blissey scores a big win here, as Toxic combined with Sandstorm should help keep Dragonite from sweeping.

Begin turn #23
Technical Machine withdrew ofJKdnD!
Technical Machine sent out 124652Dss (lvl 100 Skarmory ♂)!
Dragonite used Superpower!
124652Dss lost 99/334 (29%) of its health!
Dragonite's attack was lowered!
Dragonite's defence was lowered!
Dragonite lost 5/48 of its health!
The sandstorm rages.
Dragonite is buffeted by the sandstorm!
Dragonite lost 3/48 of its health!
Dragonite is hurt by poison!
Dragonite lost 6/48 of its health!
===============
Technical Machine wisely takes Blissey out of Dragonite's line of sight. Skarmory attempts to Roost back up to good health when tragedy strikes:

Begin turn #24
Dragonite used Flamethrower!
A critical hit!
It's super effective!
124652Dss lost 235/334 (70%) of its health!
124652Dss fainted!
Dragonite lost 5/48 of its health!
The sandstorm rages.
Dragonite is buffeted by the sandstorm!
Dragonite lost 3/48 of its health!
Dragonite is hurt by poison!
Dragonite lost 9/48 of its health!
@Technical Machine: ouch
@Technical Machine: I was using Roost!
@Hunter: :P
@Hunter: :D
Technical Machine sent out ofJKdnD (lvl 100 Blissey ♀)!
===============
Blissey decides to Toxic stall rather than attack with Flamethrower, despite being at nearly full health. I can't say I disagree with it:

Begin turn #25
Dragonite used Roost!
Dragonite regained 24/48 of its health!
ofJKdnD used Softboiled!
ofJKdnD regained 57/651 (8%) of its health!
The sandstorm rages.
Dragonite is buffeted by the sandstorm!
Dragonite lost 3/48 of its health!
ofJKdnD is buffeted by the sandstorm!
ofJKdnD lost 40/651 (6%) of its health!
Dragonite is hurt by poison!
Dragonite lost 12/48 of its health!
ofJKdnD's Leftovers restored its health a little!
ofJKdnD regained 40/651 (6%) of its health!
===============
Dragonite is now at 26% HP according to TM, but again, Dragonite has Life Orb, and TM doesn't understand that. Perhaps if TM did, it would have seen Dragonite has less HP and used Flamethrower. However, a -1 Attack Superpower isn't going to do that much to Blissey, as long as it spams recovery, so Softboiled or Wish is the definite best move here.

Begin turn #26
Dragonite used Roost!
Dragonite regained 24/48 of its health!
ofJKdnD used Softboiled!
But it failed!
The sandstorm rages.
Dragonite is buffeted by the sandstorm!
Dragonite lost 3/48 of its health!
ofJKdnD is buffeted by the sandstorm!
ofJKdnD lost 40/651 (6%) of its health!
Dragonite is hurt by poison!
Dragonite lost 15/48 of its health!
ofJKdnD's Leftovers restored its health a little!
ofJKdnD regained 40/651 (6%) of its health!
===============
Begin turn #27
Dragonite used Superpower!
It's super effective!
ofJKdnD lost 388/651 (59%) of its health!
Dragonite's attack was lowered!
Dragonite's defence was lowered!
Dragonite lost 5/48 of its health!
ofJKdnD used Wish!
ofJKdnD made a wish!
The sandstorm rages.
Dragonite is buffeted by the sandstorm!
Dragonite lost 3/48 of its health!
ofJKdnD is buffeted by the sandstorm!
ofJKdnD lost 40/651 (6%) of its health!
Dragonite is hurt by poison!
Dragonite lost 18/48 of its health!
ofJKdnD's Leftovers restored its health a little!
ofJKdnD regained 40/651 (6%) of its health!
===============
And then Technical Machine tries a surprise tactic.

Begin turn #28
@Hunter: Q_Q
Technical Machine withdrew ofJKdnD!
Technical Machine sent out D64Sdvs (lvl 100 Hippowdon ♂)!
D64Sdvs's Sand Stream whipped up a sandstorm!
Dragonite used Roost!
Dragonite regained 24/48 of its health!
The wish came true!
D64Sdvs regained 210/420 (50%) of its health!
The sandstorm rages.
Dragonite is buffeted by the sandstorm!
Dragonite lost 3/48 of its health!
Dragonite is hurt by poison!
Dragonite lost 21/48 of its health!
D64Sdvs's Leftovers restored its health a little!
D64Sdvs regained 26/420 (6%) of its health!
===============
TM is able to bring Hippowdon to around 70%, and Blissey to around 40%. Dragonite is hanging on by a thread. The fear here is that if Blissey were to beat Dragonite outright, Scizor could use Superpower on Blissey and then kill the weak Hippowdon. This clever play by TM blocks that. The smart move is to avoid Flamethrower burn / CH and Draco Meteor by just going back to Blissey, and then using Softboiled. TM, however, has a different idea.

Begin turn #29
@Hunter: Meh
Dragonite used Draco Meteor!
D64Sdvs lost 270/420 (64%) of its health!
D64Sdvs fainted!
Dragonite's special attack was harshly lowered!
Dragonite lost 1/48 of its health!
Dragonite fainted!
The sandstorm rages.
Technical Machine sent out ofJKdnD (lvl 100 Blissey ♀)!
Hunter sent out Scizor (lvl 100 Scizor ♂)!
Scizor was hurt by Spikes!
Scizor lost 6/48 of its health!
===============
TM tried to use Stealth Rock.

Technical Machine is fooled by the double faint, and possibly by the Life Orb, and somehow thinks that Hunter brought out Gengar instead of Scizor. When Scizor uses Roost, Technical Machine crashes because Gengar does not have Roost, nor is it named Scizor.

So congratulations to Hunter for making the game close all the way until TM crashed at the end. I later learned that the foe Scizor did not have Superpower, so TM would have had pretty good chances at winning.
 
Obi this is roshi. Awesome awesome work so far with this. This TM makes some downright scary plays when it's on point. Like creator like machine, huh.
 

zero2exe

Veteran Breeder - Expert Translator
is a Contributor Alumnus
This is soooo awesome, congratz on making so much progress for this. Hope you can fix the bugs on TM so it goes through the whole battle next time =P
 

marilli

With you
is a Forum Moderator Alumnusis a Community Contributor Alumnusis a Tiering Contributor Alumnusis a Top Contributor Alumnusis a Past SPL Championis a Former Other Tournament Circuit Champion
This is really awesome! It's always nice to see a year-long project get this far.
Are you planning to make a BW variation of the Technical Machine?
 

obi

formerly david stone
is a Site Content Manager Alumnusis a Programmer Alumnusis a Senior Staff Member Alumnusis a Smogon Discord Contributor Alumnusis a Researcher Alumnusis a Top Contributor Alumnusis a Battle Simulator Moderator Alumnus
Amarillo: Yes, I am. I'm fixing up any remaining bugs and implementing all major generation 4 moves / abilities that I still need to do. After that, I'm going to learn generation 5 and then implement that.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top