What would you prefer in a future text-based game? (please pick one of each trio)


  • Total voters
    6,086

StratosDBG

Member
Game Developer
Mar 11, 2020
113
395
Musta missed something when hooking that up. I'll look into it, but it's such a small display thing I probably won't do a bugfix for just it, since it doesn't lock you out of any scenes or cause any serious bugs.
 

AelphysTerra

Member
May 13, 2020
137
220
I don't know if it is a bug or not, but when I embraced my female name in the game, it does not recognizes it, still uses the male name.
How do you even get to that point? I've had the MC drink the female potion and I didn't encounter such a scene.
 

StratosDBG

Member
Game Developer
Mar 11, 2020
113
395
It's supposed to trigger on the second floor. You need the fixed version of release 11 or it won't show up, it doesn't currently do much though. it's just a short couple of paragraphs where eventually you'll be able to pick whether to resist or embrace your new body, but for now the resist option is disabled, because if I had to write a second version of every female scene releases would take even longer. You can also pick a new name but that also doesn't do much, since apparently I was in such a rush to finally push the release out I forgot to add the bits where you explain your new name to Korinna and Kalene.
 
  • Like
Reactions: AelphysTerra

SoundofSun

Newbie
Sep 22, 2017
16
22
Hey Stratos. There is a way to have an on-load check for missing variables and add them to setup compatibility with previous saves. I would check out Accidental Mind for an example. It's not always smooth and some bug reports have been generated every once in a while but I think it's been an intended feature since V2. At a certain point, replaying the whole thing is a bit much.
 

StratosDBG

Member
Game Developer
Mar 11, 2020
113
395
I've taken a poke around and it seems that while twine doesn't have any native sort of save importing or correction, you can add your own with JavaScript. Which is what Accidental Mind has done. This is fairly far beyond my extremely limited java skills though. I have taken a peek under the hood to see how AM has done it, but I haven't the foggiest idea how this functions, other than its set up to somehow patch every history state in a save using a list of things that need to be added per game version.

Even if I was inclined to borrow code from another game, which I'm a bit leery of, I'm not sure it would work if I just ported it over and replaced its variables with mine. I might be able to bumble my way through but I'm just not sure it would be worth the time if its going to potentially take me several weeks worth of development to get it functioning. Paths is currently a very short game with no rng or grinding, so if you're not reading anything and just redoing choices it takes only a few minutes to get back to where you were, so I'm uncertain it would be worth it right now. Maybe once the skeleton of the game is done, though I suppose with every release the effort would be less valuable. I'll need to think about this. It would be nice to know how to do for future games from the start though...
 

Skalli

Member
Nov 1, 2017
111
124
I've taken a poke around and it seems that while twine doesn't have any native sort of save importing or correction, you can add your own with JavaScript. Which is what Accidental Mind has done. This is fairly far beyond my extremely limited java skills though. I have taken a peek under the hood to see how AM has done it, but I haven't the foggiest idea how this functions, other than its set up to somehow patch every history state in a save using a list of things that need to be added per game version.

Even if I was inclined to borrow code from another game, which I'm a bit leery of, I'm not sure it would work if I just ported it over and replaced its variables with mine. I might be able to bumble my way through but I'm just not sure it would be worth the time if its going to potentially take me several weeks worth of development to get it functioning. Paths is currently a very short game with no rng or grinding, so if you're not reading anything and just redoing choices it takes only a few minutes to get back to where you were, so I'm uncertain it would be worth it right now. Maybe once the skeleton of the game is done, though I suppose with every release the effort would be less valuable. I'll need to think about this. It would be nice to know how to do for future games from the start though...
I've taken the liberty to send you a message, some way to add new variables when loading a save game where these variables are missing automagically.
Simply because I don't enjoy redoing my choices over and over. While it's true your game has no grinding, it has a lot of choices and I might not remember them all. Feel free to message me back with questions or thoughts about it.
 

Noob Salad

Team Albedo Leader
Donor
Game Developer
Aug 7, 2016
229
534
The answer is, probably not. Any time I add a single new variable to the game, all previous version saves will break because Twine loads in all the games variables at the start of a new game and then bakes them into the save. If you try to load a save without a variable the game thinks should be there, it fails instead of just adding it in.

The only possible way around this I can think of is to add a bunch of generic variables of every type and then use those as I need them, but that's a problem, because then I'd have to keep what each variable does straight in my head with generic names like vA1 that has nothing to do with what it actually says. And I already have trouble remembering the names of my variables as it is, as you can tell from the post just above yours, which is going to cause a lot more bugs and bugfixes. Even THEN, the saves would still break if I needed to use something I couldn't prepare for beforehand, like an array.

Bugfixes at least shouldn't break saves.
Actually, all you need is an if check. Like let's say you add a new flag that's false by default. You would do "<<if $flag == null>> $flag = false" or something I don't actually remember. My point is most other Twine games do backwards compatibility just fine.

G28Here How do you do it? <- This guy has like 10,000 variables in his game.
 
  • Like
Reactions: lnppo

G28Here

Active Member
Game Developer
Mar 18, 2019
702
4,363
Actually, all you need is an if check. Like let's say you add a new flag that's false by default. You would do "<<if $flag == null>> $flag = false" or something I don't actually remember. My point is most other Twine games do backwards compatibility just fine.

G28Here How do you do it? <- This guy has like 10,000 variables in his game.
Yeah, that's basically it. I'm by no means an expert and I use Twine 1.4 instead of 2.0, so I don't know how relevant this is to OP, but basically I have a passage ("ExpansionInit") for loading new variables that I add to every time I make a new one. So it looks something like:


Code:
<<if $mommy_slave == null>>\
<<set $mommy_slave to false>>\
<</if>>\
And then that passage gets called with a passage that has the 'script' tag with the following:

Code:
prehistory['expansion-init'] = function () {
    if (Story.has('ExpansionInit')) {
        try {
            Wikifier.wikifyEval(Story.get('ExpansionInit').text);
        }
        catch (ex) {
            Alert.error('ExpansionInit', ex.message);
        }
    }
};
I have no idea if that code is necessary for it to work, but I do whatever I can to please the machine spirits.
 

StratosDBG

Member
Game Developer
Mar 11, 2020
113
395
Ah, I mentioned it in a blog post (124) but I suppose it bears repeating here, that I've already integrated a simple system to automatically update saves that an interested party provided privately. Though it does have one flaw in that it can't account for new variables added to old content, so I suppose I'll just have to remember to manually initialize those.
 

StratosDBG

Member
Game Developer
Mar 11, 2020
113
395
Out of curiosity, since I happened to have a subscription to novel AI, I played around with their image generator trying to see what it could generate in regards to a portrait of Kalene. As I said in a blogpost where I mentioned this, the style isn't what I'd want for anything included in the game, and some details like the hairstyle it just could not handle, but I thought people might like to see anyway. Honestly, if it could get the hair right I might have packed some as an optional portrait pack not included with the base game. I'm probably too much of a stickler for details, but that's just how I am.
Ancient Greek woman, 35 years old, black hair in a curly bun, large green eyes, slim figure, m...png Ancient Greek woman, age 35, black hair pinned up in a bun, large green eyes, slim figure, sma...png Ancient Greek woman, age 35, black hair pinned up in an elaborate coiffeur, large green eyes, ...png
 

DarthSion98

Member
May 31, 2020
354
331
Out of curiosity, since I happened to have a subscription to novel AI, I played around with their image generator trying to see what it could generate in regards to a portrait of Kalene. As I said in a blogpost where I mentioned this, the style isn't what I'd want for anything included in the game, and some details like the hairstyle it just could not handle, but I thought people might like to see anyway. Honestly, if it could get the hair right I might have packed some as an optional portrait pack not included with the base game. I'm probably too much of a stickler for details, but that's just how I am.
View attachment 2115334 View attachment 2115335 View attachment 2115337
portrait pack would be nice.
1 > 3 > 2 IMO
 
4.60 star(s) 14 Votes