Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/developer-docs/save-and-password-protection.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,4 +221,4 @@ The only time there is too much save protection is if the save protection preven

## Save Protection and Save States

It is very common for new jr devs to ask about save states and if those should be protected against. Keep in mind that save states are a snapshot of the memory at the moment the state was created so most save protection will not protect from loading a state where the achievement would trigger. Also since states are only allowed in softcore where the rules are less strict this isn't as essential. Most forms of save protection will protect against when you need to protect against with states as well. So overall, don't be too concerned about protecting specifically against loading a state. The purpose of save protection is to ensure that when a battery or memory card save is loaded that no achievements trigger.
It is very common for new jr devs to ask about save states and if those should be protected against. Keep in mind that save states are a snapshot of the memory at the moment the state was created so most save protection will not protect from loading a state where the achievement would trigger. Also since states are only allowed in casual mode where the rules are less strict this isn't as essential. Most forms of save protection will protect against when you need to protect against with states as well. So overall, don't be too concerned about protecting specifically against loading a state. The purpose of save protection is to ensure that when a battery or memory card save is loaded that no achievements trigger.
4 changes: 2 additions & 2 deletions docs/developer-docs/why-delta.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ _See also: [Save and Password Protection](/developer-docs/save-and-password-prot

It’s usually not actually enough to say “are these conditions true now?” to trigger an achievement. Often there are many ways to reach those conditions in a way that shouldn’t trigger the achievement, and loading a save file is one of them. A `Delta` condition _alone_ may not be sufficient for save protection, since the values in memory are still changing whenever you load a save, but they will often be a part of it.

Even if your game doesn’t have save files or passwords, keep in mind that a lot of people play in Softcore where they can save and load states at any time, and ideally you’ll protect against that as well. So even games that you might not think benefit from this still can!
Even if your game doesn’t have save files or passwords, keep in mind that a lot of people play in Casual mode where they can save and load states at any time, and ideally you’ll protect against that as well. So even games that you might not think benefit from this still can!

_(Note: If the above paragraph makes you ask, “how could `Delta` prevent save states from triggering achievements, when those memory addresses would still be changing when you load a state?”, the technical answer is that save states also save the `Delta` state for conditions that read it, so loading a save state will not activate `Delta` conditions based on the pre-load state.)_

Expand Down Expand Up @@ -82,6 +82,6 @@ Mem 8-bit 0x<state> = 0xFF

### I don’t need `Delta` because there is no situation where the current frame conditions are true and the achievement shouldn’t trigger.

First of all, this can never be true - see the above paragraph about save protection. Even games that don’t have a save system can be save stated in Softcore.
First of all, this can never be true - see the above paragraph about save protection. Even games that don’t have a save system can be save stated in Casual mode.

Even if you think you have the one achievement that doesn’t benefit at all from using `Delta` - well, even if that were true, adding it couldn’t hurt. It’s important to get into the habit of using it everywhere - it prevents false triggers often enough that it’s always a good decision to add, just in case.
2 changes: 1 addition & 1 deletion docs/general/emulator-support-and-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ Limited microphone support.
| **Beetle PSX HW** | libretro core | Most recommended. |
| **Beetle PSX** | libretro core | |
| **SwanStation** | libretro core | |
| **[DuckStation](https://www.duckstation.org/)** | Standalone emulator | There may be memory leaks and/or burn-in when using save states. This can be disruptive to softcore mode. |
| **[DuckStation](https://www.duckstation.org/)** | Standalone emulator | There may be memory leaks and/or burn-in when using save states. This can be disruptive to casual mode. |

### PlayStation 2

Expand Down
2 changes: 1 addition & 1 deletion docs/general/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ An event centered around playing games from DevJam, an event for developers that
Started in 2026, Community Hosted Events are a framework for players to host event ideas that are smaller in scope or do not meet the criteria of an event team hosted event.

Unlike other events, which are hosted by the events team, these events are proposed by members of the RetroAchievements community,
support a wider variety of event styles, are shorter, and allow softcore participation.
support a wider variety of event styles, are shorter, and allow casual mode participation.
However, they do not have their own badges. Instead, you earn points towards a central "Community Events" badge.

To learn more about events, be sure to join the Discord server.
Expand Down
10 changes: 5 additions & 5 deletions docs/general/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ This feature restricts the player from loading save states (creating them is sti
Note that the only exception to altering speed is fast-forward, which is allowed.
Essentially, you are playing the game without the game-altering enhancements emulators come with.

While you will still be able to get achievements in Softcore, playing in Hardcore mode is the only way to earn a Mastery for a game, which is displayed both on your profile and on the game's page as a master of the game, as well as on the main leaderboard.
While you will still be able to get achievements in Casual mode, playing in Hardcore mode is the only way to earn a Mastery for a game, which is displayed both on your profile and on the game's page as a master of the game, as well as on the main leaderboard.
Playing in Hardcore will also allow you to set times, scores, or participate in miscellaneous challenges on game-specific leaderboards.
Most events also require you to earn achievements in Hardcore, unless otherwise specified on the event page.
Completing a game with softcore will still give you a badge to show on your profile; however, there will not be a gold border, and you won't show up as a recent master of the game.
Completing a game in casual mode will still give you a badge to show on your profile; however, there will not be a gold border, and you won't show up as a recent master of the game.

If you want to have a one-to-one replication of how you used to play retro games in the distant past, then Hardcore mode is what you are looking for.

**Note**: If you want to play with the Hardcore mode disabled (also known as "Softcore"), you might experience issues.
**Note**: If you want to play with the Hardcore mode disabled (also known as "Casual"), you might experience issues.
See [Why you shouldn't use the load state feature](/orphaned/load-state-feature).

### What are the RetroPoints (white points)?
Expand Down Expand Up @@ -120,7 +120,7 @@ It's recommended to post screenshots on [imgur](https://imgur.com/) and videos o
Also add details like:

- when it was/wasn't awarded;
- what game mode (hardcore/softcore);
- what game mode (hardcore/casual);
- what difficulty level or other settings you've selected;
- how long you were playing;
- when you most recently died or continued;
Expand Down Expand Up @@ -158,7 +158,7 @@ When sending a manual unlock request via the website your message <ins>must</ins

- Provide a direct link to the Achievement ID(s) of the unlock(s) you’re requesting.
- If your request contains more than three achievements then please also include a list of just the IDs in comma delimited format, ex. `123, 456, 789`.
- **State whether the request is for softcore or hardcore unlocks.**
- **State whether the request is a casual or hardcore unlock.**

2. Broken Achievement Ticket:

Expand Down
20 changes: 10 additions & 10 deletions docs/general/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@ There are three different types of awards:
* Game Awards – Given for [completing](#completion) or [mastering](#mastery) game sets.
* Site Awards – Special awards given out for completing certain tasks

## Casual

Casual, formerly known as Softcore, is a mode for achievement collecting that allows you to use all of an emulator's features.

Collecting every achievement in a set, in either hardcore or casual, gives you a [Completion](#completion) of the game, and a [badge](#award-badge) for your profile.

See the [FAQ entry](faq.md#what-is-hardcore-mode) for more information about Hardcore/Casual mode.

## Cheevo

Short for "Achievement".
Expand All @@ -33,7 +41,7 @@ On the [Emulator Support](emulator-support-and-issues.md) page, you can see what

## Completion

Completion is the [softcore](#softcore) version of a [mastery](#mastery).
Completion is the [casual mode](#casual) version of a [mastery](#mastery).

You earn it for collecting every achievement in a game or [set](#set).

Expand All @@ -56,7 +64,7 @@ See [the dedicated page](events.md) for more information and some active events

Collecting every achievement in a [set](#set) in hardcore mode gives you a [mastery](#mastery) of the game, and a badge for your profile.

See the [FAQ entry](faq.md#what-is-hardcore-mode) for more information about Hardcore/Softcore mode.
See the [FAQ entry](faq.md#what-is-hardcore-mode) for more information about Hardcore/Casual mode.

## Hash

Expand Down Expand Up @@ -99,14 +107,6 @@ You can see these by going to a game's page and navigating to the other icons ab

See [the dedicated subsets page](../guidelines/content/subsets.md) for more information.

## Softcore

"Softcore" is a mode for achievement collecting that allows you to use all of an emulator's features.

Collecting every achievement in a set, in either hardcore or softcore, gives you a [Completion](#completion) of the game, and a [badge](#award-badge) for your profile.

See the [FAQ entry](faq.md#what-is-hardcore-mode) for more information about Hardcore/Softcore mode.

## Standalone

Typically, all games run on an emulator. However, some games run standalone (e.g. Final Fantasy XI and Terraria).
Expand Down
8 changes: 4 additions & 4 deletions docs/general/hardcore-compliance-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ RetroAchievements features must work as intended:
- **Achievements**: Triggers must evaluate correctly. Measured and Trigger flags must work properly. Both must be visible in the achievement list as well as displayed during gameplay when appropriate conditions are met.
- **Rich Presence and Leaderboards**: Must function correctly.
- **Offline queueing**: Unlocks created while offline must be securely cached and sync to RetroAchievements when connectivity returns.
- **Save state hit storage**: Hit counts should be stored in save states. While not strictly required, this is highly recommended as it's important for debugging complex achievement logic and ensures proper functionality in softcore mode. Without this, players may experience issues and developers will have difficulty troubleshooting.
- **Save state hit storage**: Hit counts should be stored in save states. While not strictly required, this is highly recommended as it's important for debugging complex achievement logic and ensures proper functionality in casual mode. Without this, players may experience issues and developers will have difficulty troubleshooting.
- **Toolkit support**: If you ship a Windows version of the emulator, please investigate adding [RAIntegration DLL](https://github.com/RetroAchievements/RAIntegration) support. This is not required, but if it isn't included, a subtle info blurb will be present on our Downloads page, and players will get a very loud warning when trying to open tickets.
- **Save file compatibility**: Save files (memory cards, SRAM, EEPROM, battery saves, etc.) should use standard formats compatible with other emulators of the same system. This is highly recommended as it benefits both users (who can switch emulators without losing progress) and developers (who can validate manual unlock requests by loading saves in emulators with RAIntegration support).

Expand All @@ -31,8 +31,8 @@ The following rules must be enforced in Hardcore mode:
- **Slowdown and frame advance are disabled** in hardcore.
- **Loading save states is ALWAYS blocked** in hardcore.
- **Rich Presence and Leaderboards cannot be disabled** in hardcore. Disabling leaderboard popups is okay to support for either mode.
- If the emulator supports a **"resume/quick resume" feature**, the resumed session must drop to Softcore.
- **Mode switching**: Switching from softcore to hardcore is not allowed mid-session. **This action must result in a full reset of the game.** Switching from hardcore to softcore is allowed mid-session.
- If the emulator supports a **"resume/quick resume" feature**, the resumed session must drop to Casual mode.
- **Mode switching**: Switching from casual mode to hardcore mode is not allowed mid-session. **This action must result in a full reset of the game.** Switching from hardcore mode to casual mode is allowed mid-session.
- Users should be allowed to create save states while in hardcore for debugging purposes, but those states cannot be loadable when hardcore mode is enabled.
- Memory editors, debuggers, and/or scripting/TAS/recorded input playback are strictly prohibited.

Expand Down Expand Up @@ -67,7 +67,7 @@ The emulator, or the parent emulator it is forked from, must have been publicly

## E. Defaults and UX

- When users log in to their RetroAchievements accounts, **enabling hardcore by default is recommended**, but not required. If softcore is the default, enabling hardcore must be one click/tap away and clearly indicated.
- When users log in to their RetroAchievements accounts, **enabling hardcore by default is recommended**, but not required. If casual mode is the default, enabling hardcore must be one click/tap away and clearly indicated.
- **Hardcore state must be visibly indicated** in the UI during play. This is normally done when the player starts a game - they can see a brief informational message saying what mode they're in.

## F. Transparency and Legality
Expand Down
2 changes: 1 addition & 1 deletion docs/general/standalone-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Standalone support for a game has strict non-negotiable requirements that must b

- The proposer must either be a Developer on RetroAchievements, or a Junior Developer with at least one published set, as these achievement sets still have to follow our global [Achievement Design](https://docs.retroachievements.org/developer-docs/achievement-design.html) rules. This is not something we can trust anyone with who has not showed us their proficiency in set design before. Note that if you are a Junior Developer and your proposal gets accepted, that your Standalone project will **not** count towards graduation as it does not involve regular achievement development that you are graded on by Code Reviewers. Likewise, you are still expected to work towards graduation.
- Alternatively, the proposer may suggest a standalone without having developed a set, but must do so with the support of a RetroAchievements Developer who will be in charge of set design.
- You must be able to enforce Hardcore restrictions as shown in the [Global Leaderboard and Achievement Hunting Rules](https://docs.retroachievements.org/guidelines/users/global-leaderboard-and-achievement-hunting-rules.html). Such examples include black/whitelisting other mods and/or cheats that reduce the challenge of achievements, or disallowing multiplayer to prevent unfair advantages. These advantages should only be reserved for Softcore players, if applicable.
- You must be able to enforce Hardcore restrictions as shown in the [Global Leaderboard and Achievement Hunting Rules](https://docs.retroachievements.org/guidelines/users/global-leaderboard-and-achievement-hunting-rules.html). Such examples include black/whitelisting other mods and/or cheats that reduce the challenge of achievements, or disallowing multiplayer to prevent unfair advantages. These advantages should only be reserved for Casual mode players, if applicable.
- We expect you to have knowledge of the tools required to add Standalone support to a game. This varies depending on the game you are working on, with some games requiring expertise with programming languages such as C#, while other games may require extensive modding tools available which can be leveraged for developing an achievement set. Please also check out the [Standalone Integration guide](https://api-docs.retroachievements.org/connect/standalone.html) to find out how to connect your standalone project to RetroAchievements.

### What Do We Look for in Standalone Support
Expand Down
Loading
Loading