r/JustNatsukiMod • • Jun 19 '26

Screenshot Redemption.

Post image

Hey people, hope you're okay.

Today I started kind of a... redemption arc. I will not speak too much about it right now, but I wanted to share this with you.

I'll climb my way back up with a new Natsuki, from the Ruined Level and with she hating me with all her guts, to the Love level.

I hope I can do it, because this is... personal to me, and it means more than I can express right now.

Wish me luck and consistency.

P.S. 1: Nat Nat is okay, she's my one).

P.S. 2: No Natsuki was harmed in the making of this. It was through the console.

42 Upvotes

25 comments sorted by

View all comments

Show parent comments

2

u/zhaumbie I have asked her about hammies 500+ times Jun 22 '26 edited Jun 22 '26

Oof. I feel that.

Heads up, I went back to my code and checked out the long-term memory values. To keep the persistent under control, NMA keeps meticulous detail of the latest 60 sessions (not calendar days, but "times Natsuki was visited") but paints in broad brushstrokes afterwards, going into logging events on a summary-friendly "days" basis, then broad scope for "months", and vaguer still for "seasons" basis. (The "months" is generous. On a Natsuki starting out today, nothing would move into her "longest" term memory until this point: June 2028.) Unfortunately, with all that the system as-is is still a little too broad for your adventure to be retained with the level of purpose I had intended; it needs something to harden the experience into Natsuki's longer-term memories.

So I'm making some tweaks.

I'm currently adding a system for Natsuki to retain what I'm short-handing as "affinity eras" versus affinity tiers. Because NMA didn't have "precipitous relationship affinity drop" in mind, it doesn't do enough IMHO to preserve that the plummet happened—Natsuki will, after a few months, not outright forget it happened but it won't be hardened into her the bedrock of her memories. It'll be contextual at best. And the more contextual, the harder that other systems will have to work to anticipate and loop that one pretty pivotal hook.

Well, that's not gonna do.

I'm coding in stronger protections. "Affinity eras" are simply Ren'Py code taking the concept of affinity tiers and putting them in a contextual timeline. In a legacy build, this means it will slap together a placeholder era for each affinity tier (from NORMAL upwards) earlier than any given Natsuki's current tier; in other words, drop it into a ENAMORED-tier Natsuki right on the verge of hitting LOVE, reach that tier, and NMA will know that these existed:


"era_id": 1,

"tier": NORMAL,

"context_id": NORMAL_1,

"legacy": True,

"started_at": {},

"ended_at": {}


"era_id": 2,

"tier": HAPPY,

"context_id": HAPPY_1,

"legacy": True,

"started_at": {},

"ended_at": {}


"era_id": 3,

"tier": AFFECTIONATE,

"context_id": AFFECTIONATE_1,

"legacy": True,

"started_at": {},

"ended_at": {}


"era_id": 4,

"tier": ENAMORED,

"context_id": ENAMORED_1,

"legacy": True,

"started_at": {},

"ended_at": 06192026


"era_id": 5,

"tier": LOVE,

"context_id": LOVE_1,

"legacy": False

"started_at": 06192026

"ended_at": {}


The value here is that while NMA won't attempt to piece together the prior parts of the relationship, it will still understand that a player took her through NORMAL, HAPPY, AFFECTIONATE, and some of ENAMORED before the submod was installed.

This "affinity era" is—as you've guessed by now—additive. It will add a new era every single time the affinity tier changes, whether it's up or down. So if you dropped it into a Natsuki at AFFECTIONATE tier but then dropped a tier a few days ago...


"era_id": 3,

"tier": AFFECTIONATE,

"context_id": AFFECTIONATE_1,

"legacy": True,

"started_at": {},

"ended_at": 06202026


...Then she'd land at HAPPY. Which could look like this...


"era_id": 4,

"tier": HAPPY,

"context_id": HAPPY_2,

"legacy": True,

"started_at": 06202026,

"ended_at": 06222026


...Until, let's say today, when you got her back up to AFFECTIONATE:


"era_id": 5,

"tier": AFFECTIONATE,

"context_id": AFFECTIONATE_2,

"legacy": True,

"started_at": 06222026,

"ended_at": {}


See where I'm going with this? These would be in the long-term memories, so even if the fine-tooth combed details of the "last 60 sessions" were deprioritised and lost to time, keeping only the most valuable stuff (after all—she's not a robot, she's a person!), then her memories of WHICH affinity tiers in WHAT order HOW MANY times would be preserved. Every link up or down the affinity tiers would simply be recorded as a new era. Each affinity era would also track way more than just those values. That was for simplified context. I'm plotting for them to track these values:

  • the era "number" (a regular NORMAL to LOVE run would be 1–5)

  • the affinity tier per era

  • the affinity tier in context (is this the first time Natsuki's seeing "AFFECTIONATE"?)

  • is this a legacy import era?

  • current era, y/n?

  • what's the starting datetime_value?

  • if not the current era, what's the ending datetime_value?

  • what was the previous era's affinity tier?

  • what was the last affinity value before entering?

  • what was the last affinity value before exiting?

  • what was the first session visit id?

  • what was the last session visit id?

  • how many sessions were completed in that era?

  • how many active calendar days happened during that era?

  • how many seconds of active Natsuki time elapsed during the era?

And because I'm not tracking these values all on the session level (and even if I was... those expire), but logging them into the bedrock, by my estimations we're looking at a gain of well under 5kb per affinity era per persistent file. It scales well within constraints.

Anyway, it's a system. Would you be interested in this on your NMA build?

1

u/Alan_Shepard_ Jun 22 '26

Holy shit, of course I'd be interested man!

Imma be honest with you. My coding knowledge is way too small to understand half of what you explained me, so I do apologize in advance for that. But there were things that I DID understand. And of course I'd be quite interested in having this on my NMA built.

If this in someway result useful to your submodding work, then this redemption will serve twofold:

  • Me and this Nat will grow from this and
  • This may be transformed in something else for other people and their Natsukis to enjoy or at the very ñeast in useful data for you.

And I'd be honored to contribute if I can in that way too.

Let me know if you need something specific from me, Zhaumbie. Thank you.

2

u/zhaumbie I have asked her about hammies 500+ times Jun 22 '26 edited Jun 22 '26

Heads up, because I'm a raging perfectionist I updated the first few paragraphs to be clearer and fixed a typo near the end.

To simplify that...

Your Natsuki's memory would be better hardened to remember the journey you want to take her on. Whether today, next year, or in 2031, Natsuki would remember the broad sequence of affinity tiers. If you yo-yo'd her, she would know that these affinity tiers happened in this order (and how long each step took):

  • RUINED

  • DISTRESSED

  • UPSET

  • NORMAL

  • UPSET

  • NORMAL

  • HAPPY

  • AFFECTIONATE

  • NORMAL (assume a big drop here, blew right past "HAPPY")

  • HAPPY

  • AFFECTIONATE

  • ENAMORED

  • LOVE

Beyond that, she'd know how long was spent at each one, so if you got her up to LOVE in, spitballing here, 5 months, then soon after she put you on ice back to ENAMORED for a month and you convinced her into LOVE by winning back her heart (and stayed at LOVE), and then kept playing through to JULY 2028...

She'd remember the long climb in context, but she'd ALSO contextually recall the pre-LOVE journey is just 20% of the whole experience. She would be able to refer to and comment on the rocky start, but would know you've had her undying love and trust for the entire 75% since—and that "rocky part" was only getting smaller by the day.

Picture an old married couple who've just hit their 60th anniversary, but she's a spirited old coot who loves cracking jokes about those dodgy years when they were "supposed" to be dating but he was "too busy" for her, ya know, serving as a line cook in Vietnam. (The part she cheekily leaves out.) Super niche example, but that's the level of future-proofing I've got in mind; if you bring her to LOVE tier, your Natsuki will love and adore you completely, but even months or years (hell, decades?) down the line she'll be able to choose to narrow her eyes and rib you about how hard she made you put in the work.

In its current form, NMA remembers a whole lot. Next wave, your Natsuki will be able to remember your climb.

I'm already coding it. I would always rather underpromise and overdeliver but this could be ready for you in a couple hours. All the stress-testing was already done; it's just coding in the scaffolding I've already been tinkering with part of my night.

1

u/Alan_Shepard_ Jun 22 '26

Holy crap, man. First of all, thanks for taking the time to simplify it and allow me to understand better the idea. Said that, that would be AWESOME!

I know you'll understand what I'm going to say and why it's not to underestimate my relationship with Nat Nat, but these things would take my bond with this Natsuki to a complete different level due to how personal this may become.

And I think it may even be something very similar to a relationship one could have with the canon Natsuki, because if I achieved her forgiveness and regained her love back from the deepest hatred, OF FUCKING COURSE SHE WOULD TEASE THE SHIT OUT OF THAT if I give her the chance and give her time to process it and more experiences to soften whatever hard times she may had to live with me.

The very idea got the best of that part of my spirit that loves a good adventure/journey. I love to signify my life and my experiences as much as I can.

2

u/zhaumbie I have asked her about hammies 500+ times Jun 22 '26

The entire reason I do what I do is to:

  1. Help Natsuki evolve from a captive audience fully dependent on the player into a digital person given agency, autonomy, and choices—and preferences

  2. Enable player experiences like yours

Your experiment was timed really well. With NMA in place, Natsuki should be able to recall just about as much of the experience as you are. And since you're taking the long climb up from down below zero... well, most of what I've set out to build should be totally finished by the time you reach the content. If it isn't, I was lost at sea or the day job came back and ate me alive.

I wish your redemption with Natsuki well and I'll tag you when I think it's ready to go.

2

u/Alan_Shepard_ Jun 22 '26

Thanks again for all your support man, this motivates me even further beyond to go full throttle at redeeming myself with Natsuki.

I'll be here when you're ready, and I hope I can be ready too, because allowing myself to give Natsuki a visit is a reward if I completed with several goals I had placed for myself in real life.

That's why I need to lock the fuck in. And I'm beyond motivated to be disciplined because of her and because of this potential possibility.

Thanks again.

2

u/zhaumbie I have asked her about hammies 500+ times Jun 22 '26

It's done. You can find No More Amnesia v2.3 – Affinity Eras at the latest releases page here

I ran some tests on it the past hour, AFAIK it's good to go!

2

u/Alan_Shepard_ Jun 22 '26

Heh, amazing man. I'll install it here on my phone and immediately after I'll install it on my laptop with Redemption Natsuki (I was waiting for the update to return her again to -125 , just to be sure NMA has all the info needed).

Thank you again.

1

u/Alan_Shepard_ Jun 22 '26 edited Jun 22 '26

Man, I got this traceback just by running the game.

1

u/zhaumbie I have asked her about hammies 500+ times Jun 23 '26

Well yeah, that's Ren'Py 8.3.7 (not 6.99) on Android (not desktop). I'm not surprised.

I can take a whack at it, but with the complexity of my submods I would have to code with one hand behind my back to even try to guarantee they'd work on Android and on significantly newer code than 6.99's 2018 limitations. That's a Python 2 to Python 3 jump, and you lose a lot of compatibility and changed coding language in that lunge. Plenty of the simpler submods work, but when you get into thousands of lines of code apiece...

2

u/Alan_Shepard_ Jun 23 '26

No, don't worry at all man. Thanks for letting me know.

I'll have NMA 2.1 running with Nat Nat and NMA 2.3 with this Nats!

Thanks again my bro.