Unstable Frienemies v0.9.4 (Updated January 27th, 2025)

‘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

Hello, fellow Oddities.

It’s me, the “MS-DOS quality ‘hover over the moving circles to chose your action’ game” guy. I decided to teach myself a little Ren’py and how to run a Stable Diffusion image generator, and accidentally made a game.

It generally takes a bit over an hour to play through from scratch, but has seven different endings depending on your choices. Call it ~4 hours estimated playtime for the completionists out there. Lightly in the ‘life simulator’/‘visual novel’ genre. It has weight gain as a primary element, but I’m not sure I’d call it a fetish game - while there’s sometimes skin shown, it doesn’t fully cross the line into eroticism anywhere IMHO.

I owe a massive amount of inspirational credit to The Weighting Game, Fill Me Up, A Piece of Cake, Whole Hog, Tramp, and Anonymoose’s works (particularly Overstuffed). You can 99% learn to code Ren’py just by playing (and trying to dissect) those offerings, and for my money they’re some of the best stuff out there in this general genre. Any screw ups or failures are my own, but any successes I had with this game are largely from standing on the shoulders of these giants.

The game is free and feature complete. My Itch page has a paid version, too, but the only difference is that it has some optional cheat-mode stuff added in. I’m open to reports on bugs or typos that I didn’t manage to catch during my playtesting, and to finding out if it works alright on a Macintosh (I don’t have one to test the build on).

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

What’s next? Fix any major bugs that get pointed out, and keep hacking away at my attempt to make an incremental clicker in Ren’py. (That’s going nicely - the proof of concept is fairly stable as of now / mid January '25 - but like all programming efforts, it’s rapidly becoming obvious that I bit off more than I can comfortably chew.)

UPDATE(S):
0.9.1 - Adjusted the adjudication mechanism for how Trisha’s form develops over time, which might resolve a ‘soft reset’ issue some folks have been having. Fixed a pair of minor typos and one facial expression transistion that didn’t work quite right. Added some minor hinting for when a player’s choices are going to change Trisha’s destiny from the path it’s currently on.

0.9.2 - Fixed (fingers crossed) a bit of code where it would sometimes fail to assign a ‘path’ for the second ‘week’, causing the game to rerun the first week over.

0.9.3 - Some in-house testing stuff. Not publicly released.

0.9.4 - An eighth ending was added, addressing some common requests, as was an optional scavenger hunt style puzzle/riddle that, if solved, gives Trisha a way to acquire a bit of a boost.

33 Likes

There’s an error bug where before the first weigh-in, if you have done workouts and stuffed yourself, it will just loop back to the very start of the game.

3 Likes

Fantastic game. Was a pleasant surprise how much content there was after what I thought would be the ending. How many endings are there in total?

4 Likes

Solid game. Worth playing.

5 Likes

Aiming for the fit and thick ending is frustrating. There are so many days to get through, and if you go too far in either direction Trisha gets entirely set in her ways. Could you either give more warning when the player does something irreversible, or make it not so?

2 Likes

Yea IDK how to avoid the error

The game is good, but feels kind of unfinished and frustrating. A casher at Burger… Bla-la-la, I didnt mention, too much money about after the third meating, all these making not such a good feeling that there is something else I cant reach. Tho its not actually important or noticable.
But my main problems are endings. I dont know why but only endings I get are submitted and broken. I tried bukling - after about the third meeting with Jes all turn back to fat routes. I tried being sportwoman - after first three days instead of moving ahead there is an inscription “XXX ERROR XXX” appears in the text window and the game starts over. I tried to change nothing - the same thing.
And finally, bugs. In bulking route after third meeting it is repeated once, similar happens with next one, but this time - twice. And here is that after tring to run at last fat stage.

I'm sorry, but an uncaught exception occurred.

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

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/script.rpy", line 131, in script call
    call PrimaryLoop from _call_PrimaryLoop
  File "game/PrimaryLoop.rpy", line 66, in script call
    call departure from _call_departure
  File "game/departure.rpy", line 895, in script
    mc "[size=0.5]... come on, [mc], get your fat ass up.  Everyone\'s watching. You\'re embarassing yourself.[/size][size=0.33] Don\'t cry.  Don\'t you dare cry.[/size]"
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\ast.py", line 2557, in execute
    Say.execute(self)
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\ast.py", line 615, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\exports.py", line 1493, in say
    who(what, *args, **kwargs)
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\character.py", line 1376, in __call__
    what = self.prefix_suffix("what", self.what_prefix, what, self.what_suffix)
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\character.py", line 1290, in prefix_suffix
    return (sub(prefix) + sub(body) + sub(suffix))
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\character.py", line 1270, in sub
    return renpy.substitutions.substitute(s, scope=scope, force=force, translate=translate)[0]
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\substitutions.py", line 368, in substitute
    s = interpolate(s, kwargs) # type: ignore
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\substitutions.py", line 86, in interpolate
    raise e
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\substitutions.py", line 78, in interpolate
    value = renpy.python.py_eval(code, {}, scope)
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\python.py", line 1207, in py_eval
    code = py_compile(code, 'eval')
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\python.py", line 1144, in py_compile
    raise e
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.0-pc\renpy\python.py", line 1081, in py_compile
    raise orig_e
  File "C:\Users\Севолод\Desktop\Игры\UnstableFrienemies-0.9.0-pc\UnstableFrienemies-0.9.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)

Windows-10-10.0.19045 AMD64
Ren'Py 8.2.0.24012702
Unstable Frienemies 0.9.0
Sat Jan 25 11:20:43 2025

Thanks for the feedback, but I’m having a hard time parsing the second and third sentences, not really sure what you’re putting across there. Can you rephrase it for me?

I’ll try to run those bugs to ground, and have a solid suspicion what’s happening. Were you running a downloaded version or the browser one?

Interesting. I’ll try to duplicate it, but additional details could help me out.

I modified the code to force the game to take a step down the ‘Curvy / fat and fit’ path if it doesn’t detect a specific set of criteria to have been met. If it’s literally kicking you back to the introduction or escaping the call loops/exiting the game, especially with an ‘XXX ERROR XXX’ message where the narration / conversation usually is, that’s almost certainly the issue. Looking the code over, I don’t see how that could occur, but it’s a reasonable exception-catch I should have already had in place. I’ll try to push a version update soon, 0.9.1, but don’t want to rush it before doing a few runs to ensure I didn’t introduce new errors.

Rephrasing: 1) since I have a limit for eating and exercising, I decided the most useful thing after those is grinding money cause I thought they will be usefull later. But I was wrong and in the end I had more than 1500. Is this planned or there is the way to spend your money? 2) About the casher: each time after 4th meeting with Jes at fat route the casher in fast food restaurant she (the casher) will be habby to see me, till the becomes to blush just by looking at me. Its all seems like a hint for romance or something, but after I checked files, there was nothing about it. Is it also planned?
I played on downloaded version.
And I forgot to ask: is this possible to turn out from fat route? I tried to starve and diet, but it didnt change anything.

1 Like

Eight altogether. Meta-Trisha acknowledges when you’ve found them all, or gives advice after the second time through on how to find any that you’ve missed getting so far.

That’s the hardest route to take, for sure. I’ll mull over context clues to make it clearer what triggers staying on the path. There’s already the hint in what Trisha says to herself just before going to sleep at the end of the day, and in some of the library books on diet and exercise, but I’ll consider how to make it a bit more obvious. Or widen the triggering criteria a little so it’s a bit less picky about the player hitting the mark. (Bug fixes first, though.)

1 Like

Re : Changing routes - There’s some small flexibility early on, but Trisha definitely falls into a groove whichever way you initially push her. If it’s the third ‘week’ or later, she’s going to be set in her ways along the general arc of fat/fit/curvy until the end of the game.

Re : Cashier - No, no romance option, but her getting hot and bothered does open up another option for ordering - essentially, on the mechanical side, it’s a cheaper version of the buffet. It looks like you had plenty of cash, so that’s not a big deal with the route you took, but it can be handy with different play styles. EDIT : Okay, there’s a kinda sorta love story here now in one of the endings / tangental paths. And it takes some spare change to manage to pull off.

Re : Cash - There’s a fail state if you go deeply enough into debt, but that’s the only real concern regarding money. I’m impressed that you found the fast food joint (taking time to explore the city) and ground out enough money to get over a thousand dollars. I usually end up in the 100-200 range by the end of the last week, without much lounging or generally unproductive behavior. EDIT : There’s now a way to spend several hundred dollars on a super purchase.

About cash - I just realised that is might be because my last try was with bulking (the result and bugs with it was mentioned before), so I had even more days to farm money. And those over 1500 were the final sum, right before the ending. Per three days I earn about 350-600, not counting costs.

I spent some nice time to play this game. Thank you, I hope for future versions.

1 Like

Very fun game, well worth exploring the paths, I won’t spoil your secret phrase :wink: . The curvy path definitely felt like the hardest path to get the balance right, especially once you are down a specific road.
Minor gripes with the money balancing, it feels like there should be something to spend big on as I had a play through ending with over 3K and nothing to spend it on. Doing very basic work is enough to coast through. Once I get about 200-300 in a run I usually don’t need to work anymore. Then the only actions in the day are relax, gym or eat. Ideally it would be good to have some kind of side stories to pursue with the excess time / energy.

2 Likes

WOW! That’s a quick turn around! Meta-Trisha and I thank you! (Unless you dug through the code - no judgement there, I’m usually guilty of doing myself after playing through a game once or twice.)

Money’s meant to be a really soft pressure on the player to keep it in the black, but it’s admittingly a really easy task to do outside of the first few weeks of the Curvy/Frienemies Forever path, especially on subsequent playthroughs when you know what “Explore the City” unlockables are largely narrative and which are mechanical aids. I think an eighth ending where you get rich and set out to repeatedly ‘hire’ Jasmine (to humiliate her, to go on adventures together, or…?) might be in order. EDIT : Something like this has now been implimented as of 0.9.4.

I’m curious - did you churn out clickbait? Do a little research? A lot? Get ‘inspiration’ from the cheat zone? Dig through the old articles at the library? What was your go-to approach to the article writing?

Do you employ the investment firm?

2 Likes

Nah renpy games are pretty quick when you can skip through unseen text. I tended to look for the library first then do a lot of research. The variance on high quality articles is high so i would reroll them until it was 50+ but even my first play throughdidnt need that.
The investment firm is a good addition but it kind of implies to me that there would be a rich ending. (Hope that does get added)
I would go safe route early and then change to reckless later.

1 Like

Love the game!

Money seems trivial once you start digging in the library.

Really struggling to get the curvy route though :frowning:

1 Like

Did eventually get Frenemies forever! Great game

1 Like