Skip to content

SergioMartin86/jaffarPlus

Repository files navigation

Build and Run Tests codecov

JaffarPlus

JaffarPlus is a high-performance general-purpose breadth-first search optimizer. This project is specially tailored for the production of tool-assisted speedruns (TAS). Its features are:

  • High-Performance: Tailored for multi-core CPUs, especially for high core counts.
  • Multi-Platform: Supports games from multiple consoles/game emulators
  • Extensible: Any new emulators or games that support load/save and advance step functions can be added to JaffarPlus via a common API

This work is based on Jaffar, a solver for the original Prince of Persia (DOS).

Built-in Emulator Support

Consoles

Console Core(s) Target Notes
Atari 2600 QuickerStella Bizhawk (dev) Faster than Atari2600Hawk
Atari 2600 Atari2600Hawk Bizhawk 2.9.2
NES QuickerNES Bizhawk 2.9.2
SNES QuickerSnes9x Bizhawk 2.9.2
Sega Genesis QuickerGPGX Bizhawk 2.9.2
Sega CD QuickerGPGX Bizhawk 2.9.2
Sega SG-1000 QuickerGPGX Bizhawk 2.9.2
Sega Master System QuickerGPGX Bizhawk 2.9.2

Game-Specific

Game Core(s) Target Notes
Prince of Persia QuickerSDLPoP LibTAS+PCem Many PoP ports use this same (AppleII / DOS) game logic
Another World QuickerRaw many All ports of AW use the same engine
Super Mario Bros (NES) QuickerSMBC Bizhawk 2.9.2 Inaccurate in transitions, but good for solving levels
Arkanoid (NES) QuickerArkbot Bizhawk 2.9.2 (NesHawk Core)

Author

  • Sergio Martin (eien86)

  • A list of TAS movies produced by eien86 using JaffarPlus can be found here

  • Contributions via pull requests are highly appreciated.

  • Thanks to:

    • TASVideos' staff (judges, encoders, admins, etc)
    • The Bizhawk development team (YoshiRulz, feos, Morilli, CasualPokePlayer, NattTheBear, Alyosha, feos, zeromus, and many others)
    • Dávid Nagy and all SDLPoP developers
    • Gregory Montoir and Fabien Sanglard (authors of Fabother World)
    • Eke-Eke and all Genesis Plus GX developers
    • Shay Green, Christopher Snowhill and all QuickNES developers
    • sbroger (a.k.a Chef Stef), developer of Arkbot
    • Mitchell Sternke, developer of SMB-C
    • Alexander Lyashuk (mooskagh, crem) for kickstarting the idea of creating a TASing bot.
    • The authors of the third party libraries used.
  • JaffarPlus is distributed freely under the GPL3 license for any purpose and use, as long as:

    • The license and proper credits to its author are preserved
    • If you publish a TAS or any public work using this software, I'd appreciate you mention it and linking this repository in your description