Skip to content


About RATools

RATools is a standalone executable designed to assist developers of the community. It's primary purpose is to provide a scripting language for achievement development.


  • RAScript is a domain-specific language (DSL) that allows achievement developers for the ability to design achievements using many of the modern conveniences provided by programming languages - such as variables, loops, and comments.


The user Etron writes an ongoing series of RATools tutorials, which appear in RANews each month.

  • Getting Started: Introduction to using RATools
  • Memory: Examples of variables and functions - Example Game: Sonic the Hedgehog
  • AddHits: Examples of counting with tally - Example Game: Streets of Rage 2
  • Bitflags: Examples of counting bit flags with For Loops - Example Game: Pokémon Red | Blue
  • Arithmetic Operations: Examples of using arithmetic functions to convert values from Binary-Coded Decimal (BCD) - Example Game: Pitfall!
  • Pointers: Examples of pointer use and data structures - Example Game: Spider-Man
  • If/else: Examples of using logic conditions to build an achievement - Example Game: Tetris DX
  • Challenges Part 1: Examples of damageless, deathless, and weapon limited challenges - Example Game: Mega man
  • Challenges Part 2: Examples of speedruns and other time challenges - Example Game: Super Mario World
  • Triggers and Measure: Examples of using these flags together - Example Game: Street Fighter II: The World Warrior
  • Strings: Examples of utilizing specific arrays - Example Game: Rez
  • Rich Presence: Examples of writing dynamic Rich Presence scripts
  • Leaderboards: Examples of various types of in-game leaderboards - Example Game: Doom

RAScript Repositories

Many achievement developers' RAScripts are publicly available and are a great resource in becoming more familiar with it:

Released under the GPL-3 License. There are no copyright-protected ROMs available for download on RetroAchievements.