-
Notifications
You must be signed in to change notification settings - Fork 10
Glossary of Developer Terms
This page is for terms used around RetroAchievements. Some of these are technical terms encountered when developing a set, and others are slang and jargon among users and players, like "set" and "cheevo".
This page is still a work-in-progress. Please add definitions and fix errors as you see fit.
Processors that work on two byte word lengths. More bits usually mean more addressable memory for more complex games. Also used to describe the fourth generation of consoles, when 16-bit processors were common. A typical 16-bit processor includes the Motorola 68k series (Sega Genesis, Atari Jaguar (as one of its processors), early Macintosh).
Processors that work on four byte word lengths. More bits usually mean more addressable memory for more complex games. Also used to describe the fifth generation of consoles, where 32-bit processors were common. Processors this complex tend to be custom designed; 32-bit consoles include the PlayStation and the Sega Saturn.
Processors that work on one byte word lengths. Can also be used to describe the second or third generations of consoles, where 8-bit processors were common. Common 8-bit processors include the Z80 (many golden age arcade games, the Sega Master System and Game Gear, and the Game Boy) and the 6502 (Atari 2600, Apple II, NES).
A defined challenge in a game that rewards an RA user with points and an achievement badge when completed.
A unique number associated with an achievement. This can be seen in various places, most notably the end of the URL for the achievement page. The "100% all goals, stats, and decks with Tony Hawk" achievement for Tony Hawk's Pro Skater 3 on the PS2 has an achievement ID of 261676.
A site event where a new achievement is selected weekly for an entire year, and users attempt to unlock ones for as many weeks as they can. Awards and a leaderboard for most unlocks are presented at the end of the year.
An addition to the Achievement of the Week event, featuring larger achievements that are presented once a month instead of once a week. AOTM points count towards the final AOTW leaderboard.
A page on the site for a specific achievement, showing a list of people who have unlocked it, and a history of any tweaks in logic or status, and a wall for discussing the achievement.
A collection of achievements that pertain to a specific game.
The original developer who published an achievement.
The image associated with an achievement. It's square and is 64x64 at full size.
A way to notate numbers using entirely two states, on or off (colloquially 1's and 0's). While computers use binary, more commonly developers use hexadecimal to read the same information.
A type of endianness where the most significant digit in a word is stored in memory first. In other words, big endian stores the word forwards, as you'd read it on its own. Big endian consoles include the Sega Genesis and the Neo Geo.
The smallest discrete memory unit. Represented in binary. Rarely addressed directly on consoles.
A subset for a game featuring additional, more difficult or more esoteric challenges.
A unit of memory with a length of eight bits. Often the smallest addressable unit of memory.
Colloquial shorthand for "achievement".
When a developer declares their intent to work on a set for a game. Developers can only make a limited number of claims at a time. Unless it's a collaborative set, no other developer can work on that game while the claim is active.
A chunk of memory annotated with its purpose for use in achievement developing, a memory location "bookmark" of sorts. Each game has a freely-accessible page of code notes associated with it.
The award given to a user who has finished every achievement in a set in Softcore mode.
An achievement that's part of the main set for a game and is able to be unlocked by most players.
The Cutting Room Floor ("TCRF")
A website dedicated to unused content in games. This can be disabled features, hidden assets, localization changes, or materials in prototypes or prerelease media that changed by the time of the final release.
A way to notate numbers, using only 0-9 for ten possible values. Prevalent in everyday use, though less so in computing.
A user on RetroAchievements who digs into a game's behavior with the intent of creating achievements for it. Developers are also responsible for the upkeep of their sets, in case bugs are found.
A process of setting various checks on memory locations that fire when a player completes a task in a game. Achievement logic can be very complex and achievements are reviewed and tested rigorously before sets are released.
A chat platform commonly used by gaming communities, including RetroAchievements. Discord servers (or simply "Discords") often feature one or many text channels where users can post messages, images, and videos, and voice channels where users can stream video and audio.
A file type common on Windows computers for sharing code and resources between programs. DLLs are used in the standalone RetroAchievements emulators for all the site-specific functionality, like logging in and listening for achievement logic.
The order in which a series of bytes are stored in memory. Generally comes in two flavors, little endian and big endian. See those entries elsewhere in this document.
RetroAchievements has a forum that facilitates development of sets and communication between users and admins, as well as general banter.
A unique number associated with a game. This can be seen in various places, most notably the end of the URL for the game page. Vib-Ribbon for the PlayStation has a game ID of 8953.
A page on the site for a specific game, listing the achievements for it, completion percentages, users who have mastered the game, leaderboards, and a wall for discussing the game and set, among other things.
A website for publishing repositories of code for programs and websites. RetroAchievements uses GitHub to maintain its emulator projects, the website, and the site documentation.
The ranking of all players on the site based on the number of Hardcore and Softcore points they have.
A set developed for a ROM hack of a game.
A setting in RA-equipped emulators that disables save states and speed controls, effectively forcing the player to play like they would on the real console. When a player unlocks an achievement in Hardcore, they get double the points for it, and mastery trophies are awarded for unlocking all achievements in that set in Hardcore.
A string of data used to identify a specific version of a game. Hashes are used to ensure all players are using the same version, as differently-localized or earlier/later editions of a game can have differing memory locations that break achievement sets. For some consoles, the entire game image is hashed; for others, only a chunk of the image is hashed.
A way to notate numbers using 0-9 and the letters A-F, providing 16 possible values. Universal in computing thanks to its compactness and 16 being a power of two (decimal notation only has 10 possible values, 10 not being a power of two).
Games and software developed for a console by hobbyists, as opposed to traditional game companies. Homebrew games tend to be adaptations of games for other platforms, though original homebrew certainly exists.
A new developer with certain extra restrictions on their account, like the number of games they can claim at once.
A ranking of players based on their scores, times, or another count (like the Tarzan leaderboard on Pitfall!, for the most vine swings without changing direction) on a game or on a particular stage of a game. Set developers have the option of creating as many leaderboards as they want for their game.
A type of endianness where the least significant digit in a word is stored in memory first. In other words, little endian stores the word backwards from how you'd read it on its own. Little endian consoles include the NES and the PlayStation.
Achievements that only exist on the developer's computer and have not been pushed to unofficial or core achievement status.
The act of translating a game from one language to another. Localization is common as many games originate in Japan, and are played in Western countries where Japanese isn't often spoken.
A hashing algorithm. RetroAchievements uses this on its game hashes.
The award given to a user who has finished every achievement in a set in Hardcore mode.
Usually refers to RAM, an address space that can be written to by the software at will and gets erased when the console is powered off. Most achievement development works by checking values in memory.
A set for a game that was never finished or published, or theoretically, a set for a prototype of a game that's massively different from its final version, enough to make another set not redundant.
Making an achievement an official part of a set after development so players can attempt it.
RetroAchievements ("RA")
A site for creating and unlocking achievements in older games, generally the mid-2000s and before. Players are ranked based on the number of points they accumulate for unlocking achievements.
A set of documentation and instructions associated with the RetroAchievements platform.
Short for "RetroAchievements emulators", or standalone emulators equipped with RA functionality. This generally only applies to emulators that have been unofficially forked to add RA functionality, and not to all-in-one emulation frontends like RetroArch or BizHawk, or emulators where RA support is official like DuckStation and PCSX2.
flag
A metric to gauge the relative difficulty of the achievements a player has unlocked. A higher retro ratio means the player has unlocked more uncommon (and presumably difficult) achievements. As of yet, the retro ratio is still not well-defined.
An all-in-one emulator frontend for the Libretro project. RetroArch users install cores that each emulate a specific piece of hardware, allowing for the one program to run games from many systems. Has been ported to many, many consoles and operating systems. RetroArch is one of the main ways of playing RetroAchievements sets, due to many of the cores implementing RA functionality.
When a set is updated after its initial release to add, remove, or edit achievements, or to update point values.
A script that gives detailed information on-site about where a player is in a game, what items they've collected, who they're playing as, and other such data that updates while the player is playing.
Code that generates a seemingly random number, used to make gameplay less predictable and more interesting (though occasionally more frustrating as well). RNG is very rarely truly random, usually taking a number like the game clock and using it as a "seed". Poorly implemented seeds can have their "randomness" manipulated by players who know how to.
Refers to an address space that can't be written to. This is usually where the game instructions and assets are stored. "ROM" also refers to a copy of the information on a game's ROM chips stored in a file, usually called an "image", for play on emulators or for use in hacking or datamining.
A fanmade modification of a game to add new content and features, often totally converting the game in the process. Usually applies to simpler games that were stored on ROM cartridges; more complex and newer games are simply "modded" instead.
A website that hosts guides and utilities for ROM hacking and game modding, as well as the ROM hacks themselves.
A group of achievements associated with a game. Sets are usually developed and maintained by one or two people each who inspect the game's memory, define achievements and what points they're worth, and respond to tickets on achievements not working as intended. Completing all achievements in a set awards a trophy, depending on if the achievements were unlocked in Hardcore or Softcore mode.
The former limit on how many points are allowed in a set of achievements. This used to be 400, but there is currently no cap on points in sets.
Playing with Hardcore mode disabled, allowing for save states and speed controls. Softcore does not give the player double points for unlocking achievements like Hardcore does, and does not award mastery trophies (instead awarding completion trophies).
To begin a run that's eligible for leaderboard ranking. A run will fail if it's not completed correctly (player death, restart, pause, or other developer-definable criteria).
To have a score or a time ranked on one of the leaderboards.
An award given to a player for completing a set or participating in a site event.
An achievement published on-site, but not part of the main set. This usually needs additional testing before it can become a core achievement.
Completing the steps needed to make an achievement fire. The achievement is then displayed on the user's page and elsewhere and they earn the points for having done so.
A short, user-definable snippet of text on a user page. This is usually silly and in-jokey.
The profile associated with a user on-site. This contains their account status (registered/junior developer/developer/moderator/etc), points accrued, completion percentage, trophies, the last five games the user was seen playing, and a wall for others to leave comments on, among other widgets.
- 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