-
Notifications
You must be signed in to change notification settings - Fork 10
Why you shouldn't use the load state feature es
Nota: actualmente el problema descrito solamente sucede en RetroArch.
Algunos usuarios les gusta utilizar la función de guardar/cargar estado para salvar su progreso en un juego. Puede que ya lo sepas pero, esta función no esta permitida cuando se juega en modo hardcore. Pero algunos usuarios no son jugadores hardcore y prefiero mantener el modo hardcore desactivado (vamos a llamar a este modo como softcore).
Algunas veces algunos usuarios reportan que un logro no se desbloqueo, y cuando se les pregunta dicen que estaban jugando en softcore.
Una cosa que tienes que tener en cuenta es:
Si utilizas la función de cargar estado espera tener problemas con los logros cuando no se disparan cuando se suponia que se tenían que disparar.
Ahora vamos a intentar explicar para aquellos que no están muy familiarizados con los detalles sobre el desarrollo de logro y por que este tipo de problema ocurre.
Técnicamente un logro es un grupo de condiciones que tienen que ser cumplidas en un frame en particular dentro del vídeo juego.
Cuando abres un juego en un emulador con la función de RetroAchievements integrada, el emulador esta siempre revisando si las condiciones son cumplidas en el frame actual. Cuando todas las condiciones en el ese logro en particular son cumplidas, el logro es otorgado y el emulador deja de revisar si las condiciones para ese logro.
Ejemplos de condiciones:
- la barra de vida esta llena
- la barra de vida se bajo
- se tienen 9 vidas
- actualmente estas en el stage 3
- en la pantalla de titulo del juego
- se esta empezando una boss fight
- el juego esta pausado
El problema con softcore es que cuando cargas un estado de guardado puedes arruinar la lógica detrás del logro.
Imagínate un juego con 5 stages y con la función de password.
Tal vez las condiciones para que el logro "Completa el juego sin utilizar passwords" salte son (en un logro de verdad por lo general hay mas condiciones, pero para esta explicación vamos a considerar solamente estas):
- estar en stage 1 (y memoriza este evento como algo que paso)
- estar en stage 2 (memorizatelo)
- estar en stage 3 (memorizatelo)
- estar en stage 4 (memorizatelo)
- estar en stage 5 (memorizatelo)
- completa el stage 5
Entonces para conseguir este logro lo que necesitas es estar en todos los niveles al menos alguna vez y completar el juego.
Cuando estas en el stage 1, el emulador lo recuerda, y lo mismo para todos los demás stages. Y cuando terminas el stage 5 (completa el juego) obtienes el logro.
Ahora imagínate este escenario:
- un jugador softcore empezó el juego y jugo los stages 1, 2 y 3
- el necesitaba dejar de jugar cuando se encontraba en el stage 4 y entonces guardo un estado para continuar después
- cerro el emulador
- después el podía jugar de nuevo, empezó el juego y cargo el estado que había guardado
- jugo los stages 4, 5 y completo el juego
En este escenario el logro no saldría.
Después de cerrar el emulador el "olvida" lo que paso en los stages 1, 2 y 3. Cuando corres el emulador/juego de nuevo y cargas el estado en el stage 4, el emulador no va a detectar que pasaste por lo stages anteriores. Entonces el logro no se va a desbloquear.
Lo mas probable es que la condiciones que tienen que ser cumplidas para que este logro salte son:
- entra al cuarto del jefe (y memoriza este evento como algo que paso).
- si se toma daño, olvida que se entro al cuarto del jefe.
- derrota al jefe.
En otras palabras: para obtener este logro el emulador tiene que "saber" que entraste al cuarto del jefe, que no obtuviste ningún daño, y que venciste al jefe.
El detalle importante en el que tenemos que prestar atención es: cuando recibes algún daño, el emulador "olvida" que entraste al cuarto del jefe. Entonces incluso si cargaste un estado en algún punto en el que aun no recibías daño pero ya estabas dentro del cuarto del jefe, el emulador no va a detectar cuando entras por primera vez al cuarto. Y el logro no va a saltar.
Cuando reportes logros rotos da la mayor cantidad de detalles que sean posibles, y no olvides si estabas o no jugando en hardcore.
Si quieres solicitar que un administrador te otorgue un logro manualmente cuando este no se disparo, ten en cuenta proveer pruebas. Especialmente para logros como en los ejemplos de arriba (no recibir daño, no passwords, no muertes, etc).
- 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