-
Notifications
You must be signed in to change notification settings - Fork 10
How to Become an Achievement Developer es
Este documento describe todos los pasos que cualquier aspirante a desarrollador de logros tiene que seguir antes de conseguir estatus de Desarrollador. Estos requisitos también son una lista para los Reseñadores de Código (desarrolladores que inspeccionan el código de nuevos desarrolladores).
Cualquiera puede convertirse en un desarrollador en RetroAchievements si pone el suficiente esfuerzo.
Opcional pero fuertemente recomendado: únete a nuestro servidor de Discord y pregunta a un moderador darte el rol de jr-dev
. Utiliza los canales #help-me y #devs cada vez que cuentes con alguna pregunta.
Cada desarrollador tiene que mínimo conocer los conceptos básicos y técnicas mostradas en estos dos documentos:
Cualquier aspirante a desarrollador tiene que demostrar seguir y entender los siguientes conceptos:
- Búsqueda Básica en la RAM (que se te familiarice el Inspector de Memoria)
- Notaciones Hexadecimales
- Valores Delta
- Hit counts
- Pause If
- Reset If
- Alt Groups
- Tamaño de la Memoria: 8-bit y single bit
- Comparadores en la logica de los Logros mas allá de
=
, por ejemplo>
,<
,!=
- Añadir badges/medallas a un logro
- Crear descripciones certeras en los logros
- Añadir las protecciones adecuadas
- Hacer un set de logros estable
Nota: Tu no necesitas el dominio total de todos estos conceptos para tener un set publicado, pero si los necesitas para obtener un rol como desarrollador completo.
Aquí hay una lista de algunos conceptos/técnicas. No son requisito para convertirte en un Desarrollador, pero están en listadas aquí para mostrar al desarrollador jr. (jr-dev) las posibilidades de la lógica de los logros.
- Hit count como un temporizador (como en este ejemplo y este otro)
- ResetIf Checkpoints
- ResetIf con Hitcount
- PauseIf con Hitcount
- Las banderas AddSource y SubSource
- Bandera AddHits
- Incrementar contador (
Valor en Memoria > Valor Delta
Contador) - Contador de Hits Delta, técnica de pausado
- Little endianness
- Tamaño de Memoria: Lower4, Upper4, y 16-bit, 32-bit
- Rich Presence dinámico
- Tablas de Clasificación
- Resets pausables
- Contador en el incremento de un SubSource
Los Ejemplos Reales y las Plantillas de Logros son paginas útiles para ver como estas técnicas funcionan.
En orden para que se te conviertan familiares todas estas técnicas básicamente tienes que practicar. Puedes utilizar cualquier juego para practicar, incluso esos que ya cuentan con logros. Simplemente ten estas reglas en mente:
-
NO borres/sobre-escribas cualquier Nota de Código existente.
-
En esta fase de practica, mantén tu trabajo en local y NO subas ningún logro. Esto lo vas a hacer después cuando realmente encuentres un juego en el ya vallas a trabajar.
Sigue los Reglamentos en el Código de Conducta del Desarrollador para así encontrar un juego en el cual trabajar. Básicamente lo que primero necesitas es declarar tus planes de trabajo sobre el juego en el que quieras trabajar en el foro del mismo, y mientras vallas trabajando en el juegos añadir tus planes mas detallados en el mismo foro.
Tip: para tu primer set de logros es recomendable que escojas un juego que aun no tiene logros y que no es muy popular.
Una vez que encuentras un juego el cual trabajar necesitas planificar tu Set de Logros.
Ten en cuenta conocer lo suficientemente bien el juego para así hacer un buen set. Checa su pagina de GameFAQs o algo parecido, intenta aprender mas sobre el videojuego, sus secretos y detalles. Aquí hay una buena guía que te podría servir de ayuda con esto: Mapa de Desarrollo del Set.
Postea tus planes en el foro oficial del juego, para que así la comunidad pueda dejar sugerencias y retroalimentacion. Esta actitud es requerida para todo tipo de desarrolladores y desarrolladores jr. (jr-dev).
IMPORTANTE!: estate abierto en recibir retroalimentacion y sugerencias.
También mira: Diseño de Logros, es una guía extensiva en como diseñar buenos e interesantes logros. No sobre el lado técnico sino el conceptual.
Despues de haber creado varios logros, promuebelos a Unofficial y después contacta a un @mod o aun @code-reviewer en nuestro servidor de Discord (si no utilizas Discord, manda un mensaje a RAdmin) y pregunta por alguien que pueda reseñar tu trabajo.
Otra vez, es extremadamente importante que estés abierto a recibir critica constructiva y ayuda de parte de la comunidad en cualquier momento.
Una vez que los Reseñadores de Código han inspeccionado el código de tus logros y conceptos, ellos y el administrador van a utilizar el "Conocimiento Requerido" en la lista de requisitos de arriba para determinar si estas listo. Si no estas completamente calificado para ser un desarrollador pero tu set esta completo y estable el set va a ser publicado. Puedes preguntar que conceptos aun necesitas para demostrar tu capacidad para obtener tu estatus como desarrollador.
Los méritos para que un desarrollador jr. (jr-dev) reciba un estatus de desarrollador dependen en:
- su habilidad en publicar trabajo que contengan el estándar del Código de Conducta del Desarrollador;
- demostrar el conocimiento requerido y conceptos avanzados;
- la calidad y complejidad de su trabajo;
- el tiempo y pensamiento que puso en planificar y trabajar los logros;
- mostrando el deseo en utilizar el estatus como desarrollador con cuidado y responsabilidad;
- la medida en que los puntos anteriores reflejan sus capacidades como desarrollador.
Una vez que hubieras conseguido tu estatus como desarrollador, tu TIENES que adherirte a el Código de Conducta del Desarrollador. Eso es extremadamente importante para crear un ambiente justo entre los Desarrolladores de Logros.
- 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