Experimental Pokémon DS automation/navigation project. This fork is currently focused on HGSS navigation, exact tile behavior reading, scan-lens map understanding, safe map storage, and battle handoff.
This is not a finished release. The current work is experimental and focused on building a reliable navigation foundation before larger combat, multi-game support, and full map-pack systems are added.
Current internal milestone: v40.x
The long-term goal is to build a Pokémon DS bot that understands maps, movement, tile behavior, encounters, transitions, and battle decisions through structured game profiles and shared map packs, instead of requiring every user to rediscover every map from scratch.
The project is moving toward a Baritone-style navigation system for Pokémon DS games: a bot that can reason about scanned and unscanned directions, exact terrain behavior codes, walkable paths, dynamic blockers, transitions, encounters, and future battle decisions.
- HGSS navigation engine
- Exact tile behavior-code reading
- Tile capability tracking
- Scan lens coverage reporting
- Safe map storage and archive/reset workflow
- Battle interruption handling without corrupting map data
- Dashboard party/map snapshot recovery
- Future shared map-pack architecture
- Full combat intelligence
- Full B2W2 support
- Complete HGSS map-pack import
- Finished scan-lens visual map overlay
- Finished transition/door/warp intelligence
- Public release packaging
This repository does not include ROMs, BIOS files, or copyrighted game data. Users are responsible for using their own legally obtained game files and emulator setup.
This fork is based on the original PokéBot NDS project and is being developed as an experimental navigation-engine branch.
This repository is dedicated to creating a multi-purpose automated tool for the mainline DS Pokémon games. The bot can perform most monotonous tasks in these games, with all languages supported.
Reported Issues and donations are very appreciated, as making this project widely compatible as the sole developer takes a lot of time and work.
You'll need to install node.js, and have a recent version of BizHawk or DeSmuME in order to use this tool.
Recommended: Install Github Desktop and locally clone this repository to stay up to date with the latest versions of the bot. (You can also clone the dev branch to preview upcoming features)
Alternatively, download the latest release as a .zip archive and extract it anywhere you like.
Note: Keep the folder as a whole. DO NOT just extract the .lua file.
- Start the dashboard with
start-dashboard.bat, or run these commands inside thedashboard/folder:npm inpm start
- Use the dashboard's Config tab to customise the bot behaviour for your current task.
- Open your emulator's Lua Console, and load
pokebot-nds.lua.- BizHawk:
Tools > Lua Console - DeSmuME:
Tools > Lua Scripting > New Lua Script Window
- BizHawk:
The game will then be connected to the dashboard, which you can view info for on the Dashboard tab. The bot will immediately start acting according to your Config, and log any encounters to the dashboard.
| DPPt | HGSS | BW | B2W2 | |
|---|---|---|---|---|
| Starter resets | ✅ | ✅ | ✅ | ✅ |
| Random encounters | ✅ | ✅ | ✅ | ✅ |
| Phenomenon encounters | ✅ | ✅ | ||
| Gift resets | ✅ | ✅ | ✅ | ✅ |
| Static encounters | ✅ | ✅ | ✅ | ✅ |
| Fishing | ✅ | ✅ | ✅ | ✅ |
| Egg hatching | ✅ | ✅ | ✅ | ✅ |
| Headbutt Trees | ✅ | |||
| Thundurus/Tornadus dex resets | ✅ | |||
| Hidden Grottos | ✅ |
| DPPt | HGSS | BW | B2W2 | |
|---|---|---|---|---|
| Auto-catching | ✅ | ✅ | ✅ | ✅ |
| Auto-battling | ✅ | ✅ | ✅ | ✅ |
| Thief farming | ✅ | ✅ | ✅ | ✅ |
| Pickup farming | ✅ | ✅ | ✅ | ✅ |
| Voltorb Flip | ✅ |
English is the only supported language for Gen 4 (Diamond, Pearl, Platinum, HeartGold & SoulSilver), with minimal support with non-English languages.
All languages are supported for Gen 5 games (Black, White & their sequels).
This is due to the internal structures of the two generations being wildly different. Gen 5's data remains consistent between languages, but Gen 4's data changes depending on the language. While a ROM offset has been applied for non-English ROMs, there will undoubtedly be issues.
- The contributors of BizHawk and DeSmuME for providing a basis to make this project possible
- 40 Cakes for the Gen III PokéBot that originally inspired this project
- evandixon for demystifying the NDS Pokemon format
