Skip to content

[Tracker] FRLG AutoStory: play FireRed/LeafGreen from a new game #1827

Open

Description

@dayfine

For PokemonAutomation/ComputerControl#259

Goals

  • Run E2E reliably on ENG version; should work with JPN version in theory, with necessary support for patches
  • Milestones:
    • Regular, minimal playthrough (upto Mewtwo)
    • With optional game content, catches, etc
    • With built-in integration with RNG programs

Requirements

  • Reliable: should one-shot without retries most of the time; retry without exiting by default
  • Configurable: to extent to different mode, options, integrations with RNG programs
  • Recoverable / Resumable: for testing as well as for unexpected incidence
  • Testable: give us confident and make it easier to maintain
  • Modular: provide building blocks that can benefit other autostory / FRLG programs

See https://github.com/dayfine/Arduino-Source/blob/main/docs/design/AutoStory-Architecture.md for more details

Design Principles

  • rely on pret/pokemonfirered for in game data to make reliable decisions
  • handle random events well
  • different layers of abstraction:
    • shared autostory infra
    • shared 2D game nav infra / map serving infra
    • per-game map and moving logic
    • per-game detectors
    • per-game actions (how to do X)
    • per-game story events / table

Size

~50 PRs and ~20k lines, about half of which has been done:

See https://github.com/dayfine/Arduino-Source/blob/main/docs/design/AutoStory-FRLG-Sizing.md for more details

References:

MVP PRs already coded: to be upstreamed

Milestones (not yet coded) are tracked in a fork issue:

  • 1st Gym to Hall of Fame (M8)
  • Run with options (M10)
  • Sevii Islands and Mewtwo (M11)
  • RNG integration (M12).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions