Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Achievements #7618

Open
Maderator3000 opened this issue Jan 6, 2025 · 10 comments
Open

[Feature Request]: Achievements #7618

Maderator3000 opened this issue Jan 6, 2025 · 10 comments
Labels
enhancement New feature or request

Comments

@Maderator3000
Copy link
Contributor

Maderator3000 commented Jan 6, 2025

Feature Type

Other (please specify): complementary, but optional

Describe

I am a person who likes to play games for a wide variety of devices/platforms, and of course I don't have many of them physically, so I resort to using emulators. For example, to play Diablo I PlayStation One version, I use the appropriate emulator for this console. In such emulators of old consoles, you can connect achievements via the website retroachievements.org. I found out about this possibility quite recently and thought, "Why not make an achievement system for DevilutionX?". You can also use this site for this, but so far there are no achievements for the PC version of Diablo & Hellfire and they will have to be added manually. How do you like the idea?

@Maderator3000 Maderator3000 added the enhancement New feature or request label Jan 6, 2025
@julealgon
Copy link
Contributor

This feels like MOD territory to me.

@StephenCWills
Copy link
Member

There was a bit of talk on the Discord around integrating RetroAchievements. However, we weren't really sure if it's a good fit, since it's primary focus is on adding achievements to retro games using memory inspection techniques.

If there's some.. like.. "achievement service provider" with an API that we can target, then we can talk about integration with DevilutionX. Otherwise, it probably could indeed be added as a mod.

I'm going to go ahead and leave this open, because it may be interesting to consider brainstorming this once Lua support has solidified.

@FitzRoyX
Copy link

FitzRoyX commented Jan 21, 2025

"Break 1,000 Barrels"
"Collect 5 Demon Brains"
"Become a Gold Stash Billionaire"

Sounds like Diablo in 2025 alright

@julealgon
Copy link
Contributor

"Break 1,000 Barrels" "Collect 5 Demon Brains" "Become a Gold Stash Billionaire"

Sounds like Diablo in 2025 alright

Also like "Reach the Catacombs" (i.e. useless standard progression "achievements" that are the stapple today).

@StephenCWills
Copy link
Member

"Reach the Catacombs" sounds like a perfectly fine achievement. Some people probably don't make it that far. Do you consider "complete the game" to be a useless "achievement" as well?

@julealgon
Copy link
Contributor

"Reach the Catacombs" sounds like a perfectly fine achievement. Some people probably don't make it that far.

I would argue this is weak reasoning. Some people can't get past dungeon level 1. Should there be an achievement for that?

Do you consider "complete the game" to be a useless "achievement" as well?

This is very subjective of course. I had this view of an achievement being something outstanding, or "outside of the norm", like finding some secret, or performing some sort of challenge (finish under X hours, kill Y without taking damage... etc), so I usually wouldn't consider just "finishing the game" an achievement as that is just an expected part of normal game progression.

I'm aware it is super common to consider this kind of "standard" progression as achievements though (as I mentioned in my previous reply).

Up to whoever is designing the achievements, I guess.

@StephenCWills
Copy link
Member

I would argue this is weak reasoning. Some people can't get past dungeon level 1. Should there be an achievement for that?

I have three thoughts about that.

  1. You certainly could provide an achievement for completing each dungeon level, but I would argue that maybe you run the risk of peppering the player with too many redundant achievements at that point, so it doesn't feel special when they unlock the next one.
  2. The reason I think it's relevant that some people don't make it that far is that many of these achievement services aggregate statistics so you can compare your achievements with your friends' achievements, or just other gamers in general.
  3. It doesn't really go against the definition of "achievement" to recognize that someone has done the thing you expect them to do when playing through the game. For that matter, people can feel they've achieved something great even when performing what others would feel are very mundane tasks. So I think it should not only be totally fine to include standard progression in your achievements list, but I would go so far as to say it should probably be expected as the normal thing to do.

@julealgon
Copy link
Contributor

  1. You certainly could provide an achievement for completing each dungeon level, but I would argue that maybe you run the risk of peppering the player with too many redundant achievements at that point, so it doesn't feel special when they unlock the next one.

Agreed. It is kind of a fine balance there.

  1. The reason I think it's relevant that some people don't make it that far is that many of these achievement services aggregate statistics so you can compare your achievements with your friends' achievements, or just other gamers in general.

Fair point. Personally, I would differentiate those 2 concepts: game "metrics"/"progress report" vs "achievements".

I do agree having objective metrics/data to compare your progress vs others can be fun.

  1. It doesn't really go against the definition of "achievement" to recognize that someone has done the thing you expect them to do when playing through the game. For that matter, people can feel they've achieved something great even when performing what others would feel are very mundane tasks. So I think it should not only be totally fine to include standard progression in your achievements list, but I would go so far as to say it should probably be expected as the normal thing to do.

I respect your opinion here. I personally disagree, but to me this is super subjective so that's honestly to be expected (that there won't be strong consensus about it).

One thing to be cautious about when adding anything achievement-related, IMHO, is to be careful about spoiling the game or giving too much information to the player in general when looking at the list of achievements.

As an example, say you did want to provide a means to see dungeon level progress as part of achievements somehow. Imagine you had a "dungeon level achievement" and you listed "6 out of 16 levels" there. This to me spoils the game a bit for a new player, so I would personally not like to see it implemented that way. Maybe if the game kept track of how much progress the player made, it could "unlock" achievements for things that the player has already experienced, while keeping "future" ones hidden. You'd likely want to keep track of global game metrics on a per-account basis to do something like that (so you could tell "how far the player has gone with a given character", "what is the lowest dungeon level the player has seen", "how many times the player has completed the game in each difficulty" etc etc.

This is, of course also very subjective. Some people like to see "what they still have to go through" more explicitly, and might appreciate seeing information such as "you are in level X out of a total of Y" somewhere. I'm just not one of those people.

The same would apply if you decided to implement something like a "bestiary" for example, or even an "item compendium" of some sort (equivalent of a bestiary but for items). You'd have the option to show or hide information about, say, "which unique items the player has found thus far" in multiple ways:

  • You could only show the items the player has found. And zero information about the items he hasn't
  • You could show a percentage of items found, and nothing more (a bit of extra info, but still a big vague). "You've found 87% of all unique items", or "92% of all unique armor" (a bit more specific)
  • You could show item silhouettes for all items, then show the ones the player has found as filled/colored entries. This gives away exactly how many items there are, and their "shapes", so it's a bit more exposed
  • You could flat out list every single item that exists (like a website would do) with information on whether the player has acquired that item or not (or many how many of the item the player has owned across his characters, etc). This is the more "spoilery" version

The examples above are not related to achievements but just to illustrate the concept of "how much information do you give the player" with the system, which does apply to achievements.

I like the way some achievements in Steam work in that the game provides only a vague hint about what the achievement is, so that you have to have some experience on the game to figure that out. Instead of flat out listing exactly what needs to be done (which again, can spoil some of the fun).

@FitzRoyX
Copy link

If it wasn't apparent from my snarky reply, I think the vast majority of "achievements" are lame and geared towards 8 year olds. It's not an achievement to do something already required to beat the game, or to repeat something mundane a specific number of times. Nor do I want to be interrupted every 15 minutes with digital trophy popups.

In every case where achievements work it's recognizing that there is a "collector" minigame within the game. Whether that's a bestiary, or items, whatever. And in those cases, the game should just have those features built-in.

Taking Diablo II as an example, the game has rare "Set" items that are finite and collectible. The stash should've had pages, and dedicated a page per set. So once you beat every difficulty, you can keep playing the game as a treasure hunt. The game should've further allowed you to combine 2 identical uniques into one with a "best roll" merger. This would make finding duplicate rares worthwhile, and accelerate the almost impossible task of finding the "perfect" roll of each item.

The bestiary stuff, however, wouldn't work well for Diablo. The stats and drops aren't fixed the way they are in some games.

@julealgon
Copy link
Contributor

@FitzRoyX

If it wasn't apparent from my snarky reply, I think the vast majority of "achievements" are lame and geared towards 8 year olds. It's not an achievement to do something already required to beat the game, or to repeat something mundane a specific number of times. Nor do I want to be interrupted every 15 minutes with digital trophy popups.

Yep, I share the same sentiment myself.

In every case where achievements work it's recognizing that there is a "collector" minigame within the game. Whether that's a bestiary, or items, whatever. And in those cases, the game should just have those features built-in.

Also agree 100% with the bolded.

Taking Diablo II as an example, the game has rare "Set" items that are finite and collectible. The stash should've had pages, and dedicated a page per set.

This would be a cool way to show set items indeed.

The game should've further allowed you to combine 2 identical uniques into one with a "best roll" merger. This would make finding duplicate rares worthwhile, and accelerate the almost impossible task of finding the "perfect" roll of each item.

Also interesting... even if it might be more suited for a mod.

The bestiary stuff, however, wouldn't work well for Diablo. The stats and drops aren't fixed the way they are in some games.

Here I disagree. I think a bestiary would still be cool in D1. There are a lot of things that could be shown there:

  • HP/Damage ranges
  • type (animal/undead/demon)
  • walk/attack speeds
  • block chances
  • resistances
  • immunities
  • special ability (retreat for fallen, turn stone heal for gargoyles, -1 hp for black death zombie, etc)
  • dungeon levels where it appears
  • number of times the player has killed it

Each one of those attributes could be incremented over time as the player finds more information about the specific monster. For example, it would not initially show all dungeon levels that the monster could spawn, but only those where the player actively found it. Then, once the player has found every dungeon level where the monster can show in, the stat would go gold to indicate it is "complete".

The same would apply to basically every other stat: make them grow in scope as the player experiences those values, and mark as gold when all possibilities are found.

When all of the individual attributes of a monster are found, then the monster entry itself would be marked as gold to indicate that that monster is complete as well.

Then, for monsters that the player has not encountered yet, either show an explicit ????? entry in the bestiary, or just show a "percentage of monsters found" value without explicit entries for unknown ones.

The bestiary would also show all the rare monsters as they are unique in D1, along with their stats and special abilities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants