Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Make Steam achievements agnostic to specific object ID's (future-proofing)  (Read 868 times)

Mr Crabman

  • Bay Watcher
  • A person with the head and pincers of a crab.
    • View Profile

When designing Steam achievements, to account for the fact that some worlds may be quite different due to mods, or that in the future, mythgen could produce worlds vastly different to each other, achievements should be designed to be "agnostic" to a lot of specifics, so that they can be gotten in a good range of worlds.

That is, they shouldn't usually (maybe ever!) check for specific object ID's like ENTITY:MOUNTAIN; they should be based off of tags or the behavior those tags enable. Beekeeping achievements shouldn't check for ITEM_TOOL_HIVE, they should be related to [TOOL_USE:HIVE], and certainly should never be checking if the creatures involved is a BEE, nor should it care what material properties the honeycomb stuff has, it should be just seeing if it's a HIVE_PRODUCT, and so on; stuff like that. Crafted something out of adamantine? No, crafted something with a material that has [DEEP_SPECIAL].

And so on it should go for most other achievements.



Many achievements probably will need to be kind of hardcoded though, at least for now, stuff like unleashing the underworld for instance; but in these cases, the achievement names and icons should be broad enough that in later updates, when the relevant mechanics become less hardcoded, they could be gotten in different worlds. For example, with the previously mentioned achievement, you could conceivably go one of two ways (maybe even both); have a "dug too deep" style thing that triggers when you unleash any severe threat from the underground (not just demons), or it could be about the "horde of demons" aspect and be triggered by an invasion of otherworldly/demonic things, even if it's from another plane rather than the underground. In other words, the icon shouldn't make out that demons and the underground are synonymous.

Another example could be "discover a vault" or other achievements for discovering specific things that are hardcoded now (like types of site, or cavern layers), but won't be in the future; having achievements for each of the cavern layers would make some kind of sense now, but it won't after the map rewrite where the layer structure may not exist in a given world, or where there may be more or fewer layers for example. So there should be some consideration of how achievements will make sense in future updates as well.