Full log below: 1. Pallet Rival: 0:01:59 (01:59) 2. Nidoran grass: 0:05:39 (03:40) 15 10 14 14 beat Brock with a great Nidoran! Att: 16, Def: 13, Speed: 15, Special: 13, caught at level 3. 3. Brock's Gym: 0:10:17 (04:38) accidentally killed Spearow with a high damage range :( 4. Route 3: 0:17:41 (07:24) 8 Moon encounters, and we caught a Paras! 5. Mt. Moon: 0:25:23 (07:42) RCE 5432 15 10 14 14 56 47 53 48 6. Nugget Bridge: 0:33:14 (07:51) 7. Misty's Gym: 0:38:38 (05:24) Good, 8 try Trashcans! || 0:46:39 8. Surge's Gym: 0:47:39 (09:01) needs a 4-turn thrash (1 in 2 chance) to beat this dangerous trainer... Giovanni skip strats! 9. HM02 Fly: 0:57:56 (10:17) 10. Pokemon Tower: 1:05:49 (07:53) 11. Silph Giovanni: 1:16:33 (10:44) EQ Elixer: Koga's Gym 12. Koga's Gym: 1:20:05 (03:32) 13. Erika's Gym: 1:25:14 (05:09) 14. Blaine's Gym: 1:28:08 (02:54) 15. Sabrina's Gym: 1:29:50 (01:42) EQ Elixer: Sabrina's Gym got Focus Energy - using an X Special to guarantee the last Machoke 16. Giovanni's Gym: 1:33:26 (03:36) is skipping the Center and attempting to red-bar the Elite 4! 17. Lorelei: 1:41:37 (08:11) 18. Bruno: 1:42:53 (01:16) 19. Agatha: 1:44:37 (01:44) 20. Lance: 1:46:39 (02:02) 21. Blue: 1:49:45 (03:06) v1.4.2: 395108 frames, with seed 91780872 beat the game in 1:49:45! |
||
---|---|---|
action | ||
ai | ||
data | ||
storage | ||
util | ||
.gitignore | ||
Changelog.md | ||
LICENSE | ||
NidoranStats.md | ||
Readme.md | ||
Seeds.md | ||
main.lua |
Readme.md
PokéBot
An automated computer program that speedruns Pokémon Red, Blue, or Yellow.
Here are the bot’s best runs so far in the Pokémon Red Any% Glitchless category:
Watch live
twitch.tv/thepokebot
PokéBot’s official streaming channel on Twitch. Consider following there to find out when we’re streaming, or follow the Twitter feed for announcements when we get personal best pace runs going.
Run the bot locally
Running the PokéBot on your own machine is easy. You will need a Windows environment (it runs great in VMs on Mac/Linux too).
-
First, clone this repository (or download and unzip it) to your computer.
-
Download the BizHawk 1.6.1 emulator and extract the ZIP file anywhere you like to “install” it.
Note: BizHawk v1.6.1 (Windows only) is the only version known to work. Later versions like v1.7.2a do not seem to work, due to differences with reading bytes from memory.
-
Run the BizHawk prerequisites installer, which should update a C++ distributable needed by BizHawk.
-
Procure a ROM file of Pokémon Red (you should personally own the game).
The ROM file has a name like
Pokemon Red (UE) [S][!].gb
, but the file name doesn’t matter. Upload it to fileformat.info/tool/hash.htm to verify it’s the correct version. The linked website will spit out lots of hashes; make sure the two below match:MD5: 3d45c1ee9abd5738df46d2bdda8b57dc SHA-1: ea9bcae617fdf159b045185467ae58b2e4a48b9a
Open the ROM file with BizHawk (drag the
.gb
file onto EmuHawk), and Pokémon Red should start up.The colors may look weird. To fix this, go to GB → Palette Editor, and then find the
POKEMON RED.pal
file which should be under Gameboy → Palettes in the directory where BizHawk was extracted. -
If you want to test the full run, set
RESET_FOR_TIME
inmain.lua
tofalse
instead oftrue
. -
Then, under the Tools menu, select Lua Console. Click the “open folder” button, and navigate to the PokéBot folder you downloaded. Select
main.lua
and press “open”. The bot should start running!
Seeds
PokéBot comes with a built-in run recording feature that takes advantage of random number seeding to reproduce runs in their entirety. Any time the bot resets or beats the game, it will log a number to the Lua console that is the seed for the run. If you set CUSTOM_SEED
in main.lua
to that number, the bot will reproduce your run, allowing you to share your times with others. Note that making any other modifications will prevent this from working. So if you want to make changes to the bot and share your time, be sure to fork the repo and push your changes.
Credits
Developers
Kyle Coburn: Original concept, Red routing
Michael Jondahl: Combat algorithm, Java bridge for connecting the bot to Twitch chat, LiveSplit, Twitter, etc.
Special thanks
To LiveSplit for providing custom component for integrating in-game time splits.
To the Pokémon speedrunning community members who inspired the idea, and shared ways to improve the bot.