[Ohrrpgce] Achievement implementations

Ralph Versteegen teeemcee at gmail.com
Wed Nov 3 19:33:27 PDT 2021


A rather late reply...


On Fri, 29 Oct 2021 at 03:08, Mike Caron <caron.mike at 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.
>

Ah. However it seems it would be easy to implement cross-save achievements,
as it's just a matter of save/loading to persist.reld instead of the .rsav
file, and using latching tags (so the achievement type would be a 3-way
choice: normal, latching, cross-save). I think all that's needed is to save
the progress when ending a game (meaning, when quitting to the titlescreen
or loading a save), in other words in resetgame, and to load it after
loading a game, after loading the achievement definitions. (Alternatively
could load it when beginning a new game or loading a save, but that's
fairly pointless since it shouldn't differ from what's already loaded into
memory).

As for saving that progress in Steam user stats so that it is shared
between different computers, that seems unnecessary extra work.

I mention this now because Mike just implemented saving/loading to saves in
his steam branch on Github.

>
> 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 <ohrrpgce-bounces at lists.motherhamster.org> on behalf of
> Ralph Versteegen <teeemcee at gmail.com>
> *Sent:* October 28, 2021 6:24 AM
> *To:* ohrrpgce <ohrrpgce at 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.
>
> 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 <caron.mike at outlook.com> 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 at lists.motherhamster.org
> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20211104/e5e8bbb0/attachment.html>


More information about the Ohrrpgce mailing list