RATools
About RATools
RATools is a standalone executable designed to assist developers of the retroachievements.org community. It's primary purpose is to provide a scripting language for achievement development.
RAScript
- RAScript is a domain-specific language (DSL) that allows achievement developers for retroachievements.org the ability to design achievements using many of the modern conveniences provided by programming languages - such as variables, loops, and comments.
Tutorials
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:
- AlmightyXor
- AuburnRDM
- authorblues
- Bartis1989
- BenGhazi
- Biendeo
- Bilalscape12
- BoomEX
- Bryan1150
- Dreaker
- Etron
- FRAN269
- gde
- Gudra
- Guinea
- Hexadigital
- Jamiras
- lordpsycho
- meleu
- pinguupinguu
- Searo
- Sines
- SlashTangent
- Snow
- soopercool101
- Souzooka
- suXin
- televandalist
- theanxietybuster
- timenoe
- tomojin
- TwosomesUP
- WCopeland
- wolfman2000
- zxmega