Unstable Frienemies V1.0.0 released (Final version? Hopefully!)

‘You, Trisha, have been invited out to dinner by your long time social rival and Can’t-Be-Air-Quoted-Enough-“Friend” Jasmine. Despite some misgivings you agree to meet up, not really aware that the get together is destined to set both of your lives onto very different tracks.’

https://jakyea.itch.io/unstable-frienemies

Thank you to all the folks who helped me root out typos and bugs, and who pointed out some low-hanging-fruit I had missed in the pre-Version-One-Point-Something release! (You get callouts in the “About” / Credits in game now - I’m sorry if I missed anyone!)

While I’ll keep an eye out for any bugs anyone mentions here (or on the itch page), I’m happy with where this story has landed, and I’m unlikely to make any significant changes to it going forward. Since v0.9.4 some typos were corrected, a new background image added, and the route to one of the more difficult endings to achieve is spelled out a little clearer in the hint system. Having resolved those issues, I think it’s finally Done.

“Unstable Frienemies” is a branching visual novel with life simulation elements, built using Ren’py. It runs roughly half an hour to an hour per session, start to finish, and has eight different endings. There are downloads for Mac, Windows, and Linux, as well as an in-browser version that runs straight from the Itch page. The $5 “Supporter Edition” is available too, the only difference being the inclusion of some in-game cheats that let you tear causality to shreds.

CWs for terrible people, significant weight gain, dehumanization (potentially), stable diffusion images, and drug use (potentially).

https://jakyea.itch.io/unstable-frienemies

20 Likes

Great game! Can’t wait to see what you end up working on next :smile:

1 Like

Really like it. The AI images work well, but I understand why Tiggertoo prefers rendered ones. In many ways I do too, but Trisha & Jasmine look great!!

1 Like

I’m glad you made a game and I think there’s a lot of potential here. There were a few thoughts I had right off the bat that I felt hampered the experience just a bit.

  • Player motivation felt weird, in the sense that I wasn’t sure if I should be trying to gain weight or lose weight. Based on image files I’m guessing both are technically options that lead to different endings but I’d recommend more firmly telling the player what their options are.

  • Similar issue with the facilities, trial and error tells me what they do but for the sake of QOL it would probably be better to just up front tell the player exactly what they do. Putting parenthesis on the choice option with the effect of the action is a common solution to this.

That’s pretty much all that stuck out to me, I also appreciated the work you put into making the AI faces consistent and display proper emotions, that’s not always easy. Might recommend a different model though, but I also don’t know if you’re using a service to render or just using Stable 1111 or Comfy UI.

3 Likes

I got this error when I decide to run the perimeter on the park when she is very heavy.

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 146, in script call
    call PrimaryLoop from _call_PrimaryLoop
  File "game/PrimaryLoop.rpy", line 75, in script call
    call departure from _call_departure
  File "game/departure.rpy", line 963, in script
    mc "[size=*0.7]... come on, Trisha, get your fat ass up.  Everyone\'s watching. You\'re embarrassing yourself.[/size][size=*0.5] Don\'t cry.  Don\'t you dare cry.[/size]"
SyntaxError: invalid syntax (<none>, line 1)

Full traceback:
  File "game/script.rpy", line 146, in script call
    call PrimaryLoop from _call_PrimaryLoop
  File "game/PrimaryLoop.rpy", line 75, in script call
    call departure from _call_departure
  File "game/departure.rpy", line 963, in script
    mc "[size=*0.7]... come on, Trisha, get your fat ass up.  Everyone\'s watching. You\'re embarrassing yourself.[/size][size=*0.5] Don\'t cry.  Don\'t you dare cry.[/size]"
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\ast.py", line 2557, in execute
    Say.execute(self)
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\ast.py", line 615, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\exports.py", line 1493, in say
    who(what, *args, **kwargs)
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\character.py", line 1376, in __call__
    what = self.prefix_suffix("what", self.what_prefix, what, self.what_suffix)
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\character.py", line 1290, in prefix_suffix
    return (sub(prefix) + sub(body) + sub(suffix))
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\character.py", line 1270, in sub
    return renpy.substitutions.substitute(s, scope=scope, force=force, translate=translate)[0]
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\substitutions.py", line 368, in substitute
    s = interpolate(s, kwargs) # type: ignore
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\substitutions.py", line 86, in interpolate
    raise e
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\substitutions.py", line 78, in interpolate
    value = renpy.python.py_eval(code, {}, scope)
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\python.py", line 1207, in py_eval
    code = py_compile(code, 'eval')
  File "C\UnstableFrienemies-1.0.0-pc\renpy\python.py", line 1144, in py_compile
    raise e
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\python.py", line 1081, in py_compile
    raise orig_e
  File "C:\UnstableFrienemies-1.0.0-pc\renpy\python.py", line 1073, in py_compile
    tree = compile(source, filename, py_mode, ast.PyCF_ONLY_AST | flags, 1)
SyntaxError: invalid syntax (<none>, line 1)
1 Like

Are there more than 4 endings? Anyone got a list of all endings? I wanna try to hunt them all down…

okay so far the endings I’ve found are:

quit before the game starts
get fat and submit to jasmine
get fat and don’t submit to jasmine
burger queen
and the hint for the one I am missing says I need to “play along with jasmine but actually do our own thing” but I’ve no clue what else to try, as I’ve already tried being as fit or as unfit as possible during the game, hmm.

edit: found the other endings in the code who would’ve thunk it protein matters

1 Like

FUUUUUUUUUUUUn. I thought I had that fixed. Okay, thanks for letting me know.

1 Like

My favorite endings are the submission, burger queen, and protein (dominant) endings.
Have you found the homeless and marriage endings? Marriage ending is worth it for the thicc scenes leading to the end.
Thanks Yakob! Introduce us to Alice next time.

Is there a way to tell how to get different endings?

Yup! If you beat it more than once, Trisha will start offering you advice at the end of each run through of the game about how to find an ending you haven’t seen yet.

Hey, I know what that means! Thank you, I’m glad you enjoyed it enough to get that.

I can introduce you to her right now! She’s wonderful, but I can’t take any credit for her or her exploits. Hanging with her is like 80% of why I decided to try my hand at making one of ~these~ games.

It seems like it’s still possible to fall through the gaps in the available endings if you manage to progress through the initial stages of the fitness-based endings, but then immediately stop dieting once Jasmine ‘gives up’ on dieting. You end up in a liminal space where it’s difficult to achieve any ending whatsoever but I’d have to snoop into the code to figure out why.

Of course this could be a fun way to add just one last ending, with a conventionally-fat Jasmine and strongfat Trisha. It would be nice if body shape differences were uh… expanded upon in ending options, but it’d be perfectly ok to end the game here and develop a more different one instead.

Aliceiswifematerial :3

Very very impressive work to just drop on our lap, thank you for the time you put into this, I enjoyed it a lot, very distinct idea/character relationship, I quite like the frenemies dynamic! I assume Donna is a reference to the diner game text game? Love that side path even if it was short.

1 Like

Uhm can I have spoilers on how to get burger queen and the protein matters one thank u :smiley:

Protein Matters - Unstable Frienemies v0.9.4 (Updated January 27th, 2025) - #46 by jeffskeep

and for burger queen, keep buying lotsa burgers

1 Like

I’d seriously recommend not looking at these until you’ve given up on finding them out on your own.

Burger Queen :
Light spoiler : It involves finding the Burger Express while exploring the city.
Medium spoiler : If you do the scavenger hunt all the way, or just focus on cranking out maximum profit at work, you’ll be in a place to earn it.
Heavy spoiler : Make several hundred dollars, then visit the Burger Express. Buy the franchise. It’s slightly easier if you’re in the late-game heavy (or heavy-fit / curvy) stages.

Protein : You need a certain level of protein-rich foods to go two of the three ‘main’ paths. If you want to be fit, work out a lot, eat only protein heavy food (chicken, eggs, occassional burger’s okay) and don’t eat trash (cheesecakes, fast food, buffets, etc.) If you want to be fit-and-fat (curvy), work out, eat a fair deal of protein, but ALSO scarf down trash food (all the stuff you’d avoid on the fit path).

2 Likes