-
Notifications
You must be signed in to change notification settings - Fork 10
Achievements for ROM hacks
RetroAchievements opens the doorway to include fun hack sets for players to enjoy. The issue arising in such a broad category open to world of creativity being "What is allowed, and what is not allowed to have a set at RetroAchievements?" This page will go over the various types of hacks that are not allowed to have their own set and whether or not they are allowed to be linked to a base set.
- Game Trainer Patches
- Difficulty and Story Hacks
- Bug-fix, Re-balancing and Utility Hacks
- Beta Release, Prototype and "Testing" Hacks
- Cosmetic Hacks
- Consultation
- These are hacks that have integrated cheat features. For those familiar with GoodTool's naming scheme, ROMs with
[t1]
,[t2]
, etc. in the title are examples of this. - These are not allowed to have their own sets or be linked to base sets under any circumstance. In fact, thousands of known hashes for these are linked to dummy game entries, such as this one.
- If a hack has sufficient enough differences from the base game insomuch that the hack can be considered an entirely different game, then yes, a unique set is usually acceptable. Linking these to the base set is not recommended since they will likely break the set.
- Examples include Metroid - Rogue Dawn, Castlevania: The Holy Relics, Super Mario 64: Last Impact, and Super Metroid: Redesign.
- If the hack does not have enough differences from the base game, but there are good achievement ideas exclusive to the hack, then consider doing a compilation of hacks or incorporating them into a bonus set.
- Hacks that include development-level integrated utilities such as easily accessible level select, debug menus, menus that display information or provide testing features not normally accessible via the normal game, are almost never allowed to be linked to core sets or get their own set.
- Example: Metroid + Saving for Metroid
- Hacks that offer gameplay utilities where it doesn't exist in the release version are allowed at the discretion of the active developer (or Revision vote if the developer is inactive). Utilities such as easy weapon select, in game maps, new minor upgrades or abilities, improved controls, faster movement.
- Utilities and bug-fix hacks that improve or patch glitches found in the released version of games are allowed at the discretion of the active developer (or Revision vote if the developer is inactive).
- Example: Sonic 1 Bugfix for Sonic the Hedgehog
- Example: Double Dragon III - Difficulty Fix for Double Dragon III - The Sacred Stones
- Cosmetic bug fixes which don't alter gameplay might be allowed, see cosmetic/sprite hacks.
Usually not allowed
If a rom hack is incomplete or in a beta/prototype/testing state with potential game-breaking glitches, crashes, or bugs, intact as a result of hacking, it is usually not allowed.
Examples:
- List of abandoned incomplete hacks
- Pokemon LeafYellow Beta 1.3 for Pokemon FireRed
- Fire Emblem TSS Hack INCOMPLETE testing for Fire Emblem: The Sacred Stones
Usually allowed
English is the Primary language of RetroAchievements. Translation Patches are sometimes applied by developers to non-English titles as the main MD5 for an achievement set where no licenced English version exists. In these cases patching instructions will be provided in the forum thread of that title. Providing an up-to-spec translation patch for an existing title is usually allowed to make a game more accessible to other native language speakers. You must deep-memory inspect your translation contribution against the core set and submit it for approval before handing it over to the developer of the set for posting in their thread along with the game.
Sometimes translation patches may critically differ from the developer MD5 in memory differences that you may find online. Before linking these patches check with the original developer or do deep memory tests to ensure total compatibility. You can link translation patches you find online to core sets as long as the game's core achievements all function correctly and do not make the game more or less difficult.
Tip: For games with text-triggered achievements (especially RPGs) it's recommend to find an event flag instead of hooking onto text or text ID. Text presentation varies between regional versions making multi-region support difficult.
Examples:
- Bahamut Lagoon, T+Eng1.3-Copier_DeJap; Japanese to English translation for Bahumut Lagoon
- Clock Tower, T+Eng1.01_Aeon Genesis; Japanese to English translation for Clock Tower
- Chrono Trigger, T+Rus_Chief-NET; English to Russian Translation for Chrono Trigger
Usually allowed
- Cosmetic / Sprite hacks that do nothing to change the original game other than its graphics are not allowed to become their own set. They may be a little fun experience but they are still the same game. When linked they will be linked to the primary set.
Examples:
- Castlevania - High Budget Remake for Castlevania (NES)
- Super Waluigi 64 for Super Mario 64
- Chrono Trigger MSU-1 (with FMV's) for Chrono Trigger
Consult the community via the forum and Discord for review and approval. You can get a good view-port of what the community likes to see by asking. Asking for approval before linking is an integral Developer practice, and falls within your code of conduct as a developer here at RetroAchievements.
- 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