lorelei_simulator 0.1.0

Rapidly simulates Pokémon Gen 1-2 AI decisions
Documentation
  • Coverage
  • 14.29%
    2 out of 14 items documented0 out of 9 items with examples
  • Size
  • Source code size: 51.59 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 542.93 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 29s Average build duration of successful builds.
  • all releases: 29s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • SnowyMouse

Lorelei Simulator

Simulate thousands of Pokémon Gen 1-2 AI move decisions.

GUI version

This isn't available yet. See here: https://github.com/SnowyMouse/lorelei-simulator/issues/2

Command-line tool

What you need:

  • a ROM (English Pokémon Red, Blue, Yellow, Gold, Silver, and Crystal are all supported)
  • a save state (supports SameBoy as well as any BESS-compatible save states)

Note: This save state must be made just before the AI begins making a decision.

  • In Gen 1, the AI decides the moment you select a move, thus you can make your save state in the FIGHT dialogue with your cursor highlighting a move.
  • In Gen 2, the AI decides just before you have the option to select a move. As such, you need to make your save state either when a Pokémon is doing its cry (in the case a Pokémon is being switched), or at the very end of a turn.

Note that Gen 2 is considerably slower than Gen 1: https://github.com/SnowyMouse/lorelei-simulator/issues/1

Then, open a command-line and run the following command:

lorelei_simulator_cli path/to/rom path/to/savestate

You can add additional parameters:

  • -j <JOBS> to specify thread count (by default it will use however many logical processors your CPU has)
  • -t <TRIALS> to limit how many trials to calculate (by default, it will keep going until you press CTRL-C)
  • -q to not print anything until finished (by default, you will see a live update)

Provided you give a correct ROM and save state, you will see the output in a table.