This repository was archived by the owner on Jun 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
Achievement Development Overview
televandalist edited this page Jun 3, 2023
·
1 revision
Page is heavily WIP, but the goal is to dive deep into achievement creation. Will probably end up merging the "Real Examples" into this section somehow. Each flag, type, size, comparison, etc. will have its own page to show the various ways they can be used. Will also include several tips, case studies, etc.
- Adding Games to the Database
- Everything you ever wanted to know (but were too scared to ask) about hashes
- Patch Guide
- RAM digging
- Utilizing Game Genie, Game Shark, Codebreaker, Action Replay, etc. codes
- Code Notes
- Formatting conventions
There are several tools and options available to a developer. Knowing how to properly utilize them will improve the quality of your sets. These tools/options can be used in the Achievement Editor:
- Mem
- Value
- Delta
-
Mem > Delta
Comparisons
-
- Prior
- BCD
- Float
- bit0 - bit7
- 8-Bit
- 16-Bit
- 24-Bit
- 32-Bit
- Lower4 and Upper4
- 16-Bit BE
- 24-Bit BE
- 32-Bit BE
- BitCount
- Float
- MBF32
=
<
<=
>
>=
!=
*
/
&
- Hit Counts
- Using with Reset If
- Using with Pause If
- Alt Groups
- Demo Protection
- Finding and testing demo addresses
- Save Protection
- Delta and Prior
- Using in-game timers
- Using event flags
- Password Protection
- Cheat Protection
- Multiplayer Protection
- Other
- Dipswitch
- BIOS (PlayStation and Saturn)
- Checkpoints hits
- Pause Locks
- Using Hit Counts as a timer
- Using Delta Values and Hit Counts to Detect an Increment
- Circumvent the Problem of a Counter Incrementing Twice in the Same Frame
note: need to add something about how the toolkit still uses hex even if the value is in BCD
- Various types of chains
- When to use Reset If or Pause If
- When to use Delta or Prior
- Using BitCount for collectables
- Using Add Source with
Mem / Mem
comparisons - Creating a Timer with Reset If hits based on the speed of the game
- Using
bit0
to include or exclude odd-numbered values
- Double-Clicking bitflags while in 8-bit view
- Right-Clicking addresses in the editor to jump to them in the Memory Inspector (also works with offsets to jump to the current address)
- Highlighting conditions and holding CTRL while clicking to change a field in multiple conditions at once
- Using Google Sheets and Notepad++
- Editing local file
- Redundant Reset Ifs
- Single-Condition achievements
- Text-Based addresses
- Point Distribution
- Badge Creation
- Rich Presence
- Leaderboards
- RATools
- Making Tutorial Videos
- Syntax Table
- User Guidelines
- Developer Guidelines
- Content Guidelines
- FAQ
- Setup Guide
- Emulator Support and Issues
- Ways to Contribute
- RABot, the RA Discord Robot
- Events
- Overlay Themes
- Useful Links
- Contributing with the docs
- About Us
- Tutorials
- Developer Docs
- How to Become an Achievement Developer
- Getting Started as an Achievement Developer
- Game Identification
- Achievement Design
- Achievement Scoring
- Difficulty Scale and Balance
- Progression and Win Condition Typing
- Badge and Icon Creation
- Achievement Development Overview
- Flags
- BitCount Size
- Alt Groups
- Hit Counts
- Delta Values
- Prior Values
- Value Definition
- Condition Syntax
- Minimum Required Versions for Logic Features
- Memory Inspector
- Real Examples
- Set Development Roadmap
- Achievement Templates
- Tips and Tricks
- Leaderboards
- Rich Presence
- RATools
- Console Specific Tips
- Emulator Hotkeys for Developers
- libretro core support
- Docs To Do List
- WIP User Code of Conduct
- WIP CoC FAQ
- WIP Content Guidelines
- WIP-Jr
- WIP---Dev-Tips---Code-Notes-En-Masse
- WIP-‐-Reauthorship-Policy
- Manifesto RetroAchievements
- Código de Conduta do Usuário
- FAQ - Perguntas Frequentes
- Como contribuir se você não é um desenvolvedor
- Tutorial para Jogos Multi-Discos
- Introdução
- Primeiros Passos como um Desenvolvedor de Conquistas
- Recursos de Lógica para Achievements
- Exemplos Reais
- Dicas e Truques
- Dicas Específicas de Console
- Modelos de Achievement
- Escala de Dificuldade e Equilíbrio
- Roteiro de Desenvolvimento de um Set de Conquistas
- Criação de Ícones e Emblemas
- Leaderboards
- Rich Presence
- Design de Conquistas
- Manifesto RetroAchievements
- Código de Conducta del Usuario
- FAQ - Preguntas Frecuentes
- Tablas Globales y Reglas para la Casería de Logros
- Mi juego no esta cargando los logros
- Como contribuir si no eres un desarrollador
- Por que no deberías utilizar la función de cargar estado
- Contribuyendo con los documentos
- Como funciona la Documentación de RA
- Descargas
- Intro
- Código de Conducta del Desarrollador
- Como convertirme en un Desarrollador de Logros
- Primeros pasos como un Desarrollador de Logros
- Un vistazo al Inspector de Memoria
- Características en la Logica de un Logro
- Ejemplos Reales
- Intro
- Utilizando Hit Counts como un Temporizador
- Utilizando Valores Delta y Hit Counts para Detectar un Incremento
- Un Ejemplo Simple en como evitar el Abuso de Estados de Guardado
- Evitar el Problema de que un Contador se Incremente Dos Veces en el Mismo Frame
- Creando un Temporizador con un ResetIf Hits basándote en la Velocidad de un Juego
- Plantillas para Logros
- Tips y Trucos
- Escala de Dificultad y Balance
- Diseño de Logros
- Mapa de Desarrollo de Set
- Revisiones en Set de Logros
- Creación de Iconos y Badges
- Tablas de Clasificación
- Rich Presence
- Trabajando con el ROM apropiado
- Identificación del Juego
- Guía para Sets Bonus
- Logros para ROM hacks
- Tips Específicos por Consola