Re: [Ohrrpgce] Achievement implementations

2021-10-28 Thread Mike Caron
It definitely supports all those things, except for the automatic reward part. 
Unless I’m missing it in their documentation:

https://partner.steamgames.com/doc/features/achievements#4

These points in particular:

  *   For achievements that have progress bars use 
ISteamUserStats::IndicateAchievementProgress at significant points to show a 
pop-up with the progress. For instance, if you need 20 wins you may want to 
call this at 10 wins to show that the user has made it halfway.
  *   Whenever one or more achievements are unlocked, call 
ISteamUserStats::SetAchievement for each unlocked achievement and then 
ISteamUserStats::StoreStats to immediately upload them. Your game will see a 
ISteamUserStats::UserStatsStored_t callback, plus one 
ISteamUserStats::UserAchievementStored_t callback for each unlocked 
achievement. The Steam Game Overlay will display a notification panel to the 
user.

It does appear that you could use these stats to persist between saves, but we 
could do that already anyway, and I think a major goal is to be portable, even 
if the user doesn’t have Steam, so I think it makes more sense to keep track 
ourselves. If the stats are visible in Steam (which, if they are, then I’m not 
sure where), the we might want to try and sync them, but that’s a bigger deal, 
and maybe something we do later.

(Also hi Simon!)

--
Mike Caron

From: Simon Bradley
Sent: October 28, 2021 12:01
To: ohrrpgce@lists.motherhamster.org
Subject: Re: [Ohrrpgce] Achievement implementations

I thought Steam had a system where you could update user statistics on Stream 
and it could automatically award achievements when they reach a specific value? 
I might be imagining that, or getting it confused with some other achievement 
system. I don't know if you'd need to save anything locally for cross-save 
counters, I think you could just increment a count on steam.

On Thu, 28 Oct 2021 at 15:08, Mike Caron 
mailto:caron.m...@outlook.com>> wrote:
​The tag_updates function is the place to put hooks for when a tag changes.
I assumed there might be a place like that. Thanks!

If achievements are displayed through steam, how does this work? You
can cause Steam to popup a progress notification with text of your
choice? Or does it have to be numerical, or predefined in Steam's
achievement editor?
​You can just tell it to display progress whenever you want, I believe. I was 
thinking that we would just do this whenever "value % interval == 0".

What about achievements that can be progressed towards in separate
saved games? The example you put on the wiki of finding all the ways
to die is one where progress needs to be shared rather than
save-specific.
​I was envisioning a game where these deaths were not 
game-over-and-reloading-your-last-save inducing, but I suppose that's not 
clear. I am not sure how we might want to handle cross-save achievements. Part 
of me wants to not handle it at all and let game creators do that themselves 
(if or when custom IO is a thing), but it also wouldn't be Too​ hard to add it 
now either. On the third hand, I suspect this is a rather more niche feature, 
so maybe we can just punt the issue down the road a bit.

Creating an editor for RELOAD-based data is not yet simple, but I'm
going to make a start on generalising the Purchases editor (most
likely) into a class for defining editable RELOAD trees.
Neat. I haven't actually looked too hard into what editors look like these days 
so I'm not sure how bad "not yet simple" is, but if there's anything I can do 
to help, please let me know.

Pleased that documentation already exists on the wiki, documenting
everything is a big task!
​If I had to pick one lesson that I've learned over the years, it's that 
documenting things first makes implementation easier. It's keeping that 
documentation up to date that is the challenge 


From: Ohrrpgce 
mailto:ohrrpgce-boun...@lists.motherhamster.org>>
 on behalf of Ralph Versteegen mailto:teeem...@gmail.com>>
Sent: October 28, 2021 6:24 AM
To: ohrrpgce 
mailto:ohrrpgce@lists.motherhamster.org>>
Subject: Re: [Ohrrpgce] Achievement implementations

This is going quick!

The permanent data storage you're looking for is
https://rpg.hamsterrepublic.com/ohrrpgce/Persist.reld

The tag_updates function is the place to put hooks for when a tag changes.

> A game may wish to expose the current progress at intervals ("defeat 100 
> goblins: 20/100") to motivate the player to continue progresing the 
> achievement.

If achievements are displayed through steam, how does this work? You
can cause Steam to popup a progress notification with text of your
choice? Or does it have to be numerical, or predefined in Steam's
achievement editor?

What about achievements that can be progressed towards in separate
saved games? The example you put on the wiki of finding all the ways
to die is one where progress needs to be shared rather than
save-specific.


Re: [Ohrrpgce] Achievement implementations

2021-10-28 Thread Simon Bradley
I thought Steam had a system where you could update user statistics on
Stream and it could automatically award achievements when they reach a
specific value? I might be imagining that, or getting it confused with some
other achievement system. I don't know if you'd need to save anything
locally for cross-save counters, I think you could just increment a count
on steam.

On Thu, 28 Oct 2021 at 15:08, Mike Caron  wrote:

> ​The tag_updates function is the place to put hooks for when a tag
> changes.
>
> I assumed there might be a place like that. Thanks!
>
> If achievements are displayed through steam, how does this work? You
> can cause Steam to popup a progress notification with text of your
> choice? Or does it have to be numerical, or predefined in Steam's
> achievement editor?
>
> ​You can just tell it to display progress whenever you want, I believe. I
> was thinking that we would just do this whenever "value % interval == 0".
>
> What about achievements that can be progressed towards in separate
> saved games? The example you put on the wiki of finding all the ways
> to die is one where progress needs to be shared rather than
> save-specific.
>
> ​I was envisioning a game where these deaths were not
> game-over-and-reloading-your-last-save inducing, but I suppose that's not
> clear. I am not sure how we might want to handle cross-save achievements.
> Part of me wants to not handle it at all and let game creators do that
> themselves (if or when custom IO is a thing), but it also wouldn't be
> *Too*​ hard to add it now either. On the third hand, I suspect this is a
> rather more niche feature, so maybe we can just punt the issue down the
> road a bit.
>
> Creating an editor for RELOAD-based data is not yet simple, but I'm
> going to make a start on generalising the Purchases editor (most
> likely) into a class for defining editable RELOAD trees.
>
> Neat. I haven't actually looked too hard into what editors look like these
> days so I'm not sure how bad "not yet simple" is, but if there's anything I
> can do to help, please let me know.
>
> Pleased that documentation already exists on the wiki, documenting
> everything is a big task!
>
> ​If I had to pick one lesson that I've learned over the years, it's that
> documenting things first makes implementation easier. It's keeping that
> documentation up to date that is the challenge 
>
> --
> *From:* Ohrrpgce  on behalf of
> Ralph Versteegen 
> *Sent:* October 28, 2021 6:24 AM
> *To:* ohrrpgce 
> *Subject:* Re: [Ohrrpgce] Achievement implementations
>
> This is going quick!
>
> The permanent data storage you're looking for is
> https://rpg.hamsterrepublic.com/ohrrpgce/Persist.reld
>
> The tag_updates function is the place to put hooks for when a tag changes.
>
> > A game may wish to expose the current progress at intervals ("defeat 100
> goblins: 20/100") to motivate the player to continue progresing the
> achievement.
>
> If achievements are displayed through steam, how does this work? You
> can cause Steam to popup a progress notification with text of your
> choice? Or does it have to be numerical, or predefined in Steam's
> achievement editor?
>
> What about achievements that can be progressed towards in separate
> saved games? The example you put on the wiki of finding all the ways
> to die is one where progress needs to be shared rather than
> save-specific.
>
> Creating an editor for RELOAD-based data is not yet simple, but I'm
> going to make a start on generalising the Purchases editor (most
> likely) into a class for defining editable RELOAD trees.
>
> Pleased that documentation already exists on the wiki, documenting
> everything is a big task!
>
> On Thu, 28 Oct 2021 at 14:03, Mike Caron  wrote:
> >
> > Hello friends, sorry I’m late. Got sidetracked with a few things 
> >
> >
> >
> > As I’ve been discussing with TMC on the Slime Salad discord, I’m working
> on adding achievements and Steamworks support to the OHRRPGCE. This is
> based on a post TMC made here just about three years ago:
> http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/2018-October/004308.html
> >
> >
> >
> > I’ve currently made progress on integrating Steamworks itself, thanks in
> no small part to TMC helping me get my environment set up, and now I’m
> thinking about how this stuff will work in the engine itself. I’ve been
> documenting stuff on the wiki, and I would encourage everyone to take a
> peek and give any feedback they have. Note that this page is not complete,
> and suggestions to fill in blanks would be appreciated.
> >
> >
> >
> > https://rpg.hamsterrepublic.com/ohrrpgce/User:Pkmnfrk/Achievements
> >
> >
> >
> > I’m hopeful to get this implemented soon, so I can get back to my next
> 13 year hiatus.
> >
> >
> >
> > Cheers!
> >
> > --
> >
> > Mike Caron
> >
> >
> >
> > ___
> > Ohrrpgce mailing list
> > ohrrpgce@lists.motherhamster.org
> > 

Re: [Ohrrpgce] Achievement implementations

2021-10-28 Thread Mike Caron
​The tag_updates function is the place to put hooks for when a tag changes.
I assumed there might be a place like that. Thanks!

If achievements are displayed through steam, how does this work? You
can cause Steam to popup a progress notification with text of your
choice? Or does it have to be numerical, or predefined in Steam's
achievement editor?
​You can just tell it to display progress whenever you want, I believe. I was 
thinking that we would just do this whenever "value % interval == 0".

What about achievements that can be progressed towards in separate
saved games? The example you put on the wiki of finding all the ways
to die is one where progress needs to be shared rather than
save-specific.
​I was envisioning a game where these deaths were not 
game-over-and-reloading-your-last-save inducing, but I suppose that's not 
clear. I am not sure how we might want to handle cross-save achievements. Part 
of me wants to not handle it at all and let game creators do that themselves 
(if or when custom IO is a thing), but it also wouldn't be Too​ hard to add it 
now either. On the third hand, I suspect this is a rather more niche feature, 
so maybe we can just punt the issue down the road a bit.

Creating an editor for RELOAD-based data is not yet simple, but I'm
going to make a start on generalising the Purchases editor (most
likely) into a class for defining editable RELOAD trees.
Neat. I haven't actually looked too hard into what editors look like these days 
so I'm not sure how bad "not yet simple" is, but if there's anything I can do 
to help, please let me know.

Pleased that documentation already exists on the wiki, documenting
everything is a big task!
​If I had to pick one lesson that I've learned over the years, it's that 
documenting things first makes implementation easier. It's keeping that 
documentation up to date that is the challenge 


From: Ohrrpgce  on behalf of Ralph 
Versteegen 
Sent: October 28, 2021 6:24 AM
To: ohrrpgce 
Subject: Re: [Ohrrpgce] Achievement implementations

This is going quick!

The permanent data storage you're looking for is
https://rpg.hamsterrepublic.com/ohrrpgce/Persist.reld

The tag_updates function is the place to put hooks for when a tag changes.

> A game may wish to expose the current progress at intervals ("defeat 100 
> goblins: 20/100") to motivate the player to continue progresing the 
> achievement.

If achievements are displayed through steam, how does this work? You
can cause Steam to popup a progress notification with text of your
choice? Or does it have to be numerical, or predefined in Steam's
achievement editor?

What about achievements that can be progressed towards in separate
saved games? The example you put on the wiki of finding all the ways
to die is one where progress needs to be shared rather than
save-specific.

Creating an editor for RELOAD-based data is not yet simple, but I'm
going to make a start on generalising the Purchases editor (most
likely) into a class for defining editable RELOAD trees.

Pleased that documentation already exists on the wiki, documenting
everything is a big task!

On Thu, 28 Oct 2021 at 14:03, Mike Caron  wrote:
>
> Hello friends, sorry I’m late. Got sidetracked with a few things 
>
>
>
> As I’ve been discussing with TMC on the Slime Salad discord, I’m working on 
> adding achievements and Steamworks support to the OHRRPGCE. This is based on 
> a post TMC made here just about three years ago: 
> http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/2018-October/004308.html
>
>
>
> I’ve currently made progress on integrating Steamworks itself, thanks in no 
> small part to TMC helping me get my environment set up, and now I’m thinking 
> about how this stuff will work in the engine itself. I’ve been documenting 
> stuff on the wiki, and I would encourage everyone to take a peek and give any 
> feedback they have. Note that this page is not complete, and suggestions to 
> fill in blanks would be appreciated.
>
>
>
> https://rpg.hamsterrepublic.com/ohrrpgce/User:Pkmnfrk/Achievements
>
>
>
> I’m hopeful to get this implemented soon, so I can get back to my next 13 
> year hiatus.
>
>
>
> Cheers!
>
> --
>
> Mike Caron
>
>
>
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org


Re: [Ohrrpgce] Achievement implementations

2021-10-28 Thread Ralph Versteegen
This is going quick!

The permanent data storage you're looking for is
https://rpg.hamsterrepublic.com/ohrrpgce/Persist.reld

The tag_updates function is the place to put hooks for when a tag changes.

> A game may wish to expose the current progress at intervals ("defeat 100 
> goblins: 20/100") to motivate the player to continue progresing the 
> achievement.

If achievements are displayed through steam, how does this work? You
can cause Steam to popup a progress notification with text of your
choice? Or does it have to be numerical, or predefined in Steam's
achievement editor?

What about achievements that can be progressed towards in separate
saved games? The example you put on the wiki of finding all the ways
to die is one where progress needs to be shared rather than
save-specific.

Creating an editor for RELOAD-based data is not yet simple, but I'm
going to make a start on generalising the Purchases editor (most
likely) into a class for defining editable RELOAD trees.

Pleased that documentation already exists on the wiki, documenting
everything is a big task!

On Thu, 28 Oct 2021 at 14:03, Mike Caron  wrote:
>
> Hello friends, sorry I’m late. Got sidetracked with a few things 
>
>
>
> As I’ve been discussing with TMC on the Slime Salad discord, I’m working on 
> adding achievements and Steamworks support to the OHRRPGCE. This is based on 
> a post TMC made here just about three years ago: 
> http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/2018-October/004308.html
>
>
>
> I’ve currently made progress on integrating Steamworks itself, thanks in no 
> small part to TMC helping me get my environment set up, and now I’m thinking 
> about how this stuff will work in the engine itself. I’ve been documenting 
> stuff on the wiki, and I would encourage everyone to take a peek and give any 
> feedback they have. Note that this page is not complete, and suggestions to 
> fill in blanks would be appreciated.
>
>
>
> https://rpg.hamsterrepublic.com/ohrrpgce/User:Pkmnfrk/Achievements
>
>
>
> I’m hopeful to get this implemented soon, so I can get back to my next 13 
> year hiatus.
>
>
>
> Cheers!
>
> --
>
> Mike Caron
>
>
>
> ___
> Ohrrpgce mailing list
> ohrrpgce@lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
___
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org