Fyo

Member
Aug 14, 2017
193
418
Thanks, Vincent. I do not really use other browsers. I just tried MS Edge that I have here and it did not display anything at all. As I said I always have to use save to file or save to string in other twine games. I played with cookie settings and that did not do anything, besides the saved data appears in the Local Storage rather than cookies in the Firefox storage inspector, which are separate entities somehow (see attached). Anyway, I think I'll give up on this for now.

PS Apparently localStorage is HTML5 equivalent of cookies:

and it looks like in Firefox localStorage follows cookie privacy settings:
so it should work if the cookie settings are permissive, which I tried...

Edit: for anyone else with problem you can output the localStorage into string in development console with this:

JSON.stringify(window.localStorage)

save the text for later and next time recover with:

tmp=JSON.parse(saved text heer);
for (var key in tmp) window.localStorage[key]=tmp[key];

you need to click on any link on the page for the "load game" to show up.
Hi dsp0. I can't get this to work. I really have no clue how to code, and the debugger says there's a semicolon problem somewhere. I think if you posted an example of the full text needed to be saved I could figure it out. I'd appreciate it!
 

Vincent Valensky

Member
Game Developer
May 4, 2020
180
455
Oh man, this is really cool.
I'm always down for more gothic-fiction/horror themed games, and this one seems to be brilliantly crafted.
Thank you, very happy to know you enjoyed it!

If I had to point a negative it would be the lack of any kind of ambience sfx (I'm gonna be honest, I'm not sure if this is even possible to implement at all in a HTML game like this one), but this is still a really minimal issue in my opinion - I just open some YouTube tabs with a good selection of appropriate ambience sounds for each location/scene and I'm set. xD
It is possible to add sound. However sound is tricky (and expensive!) to get right, so my view is that no sound is better than bad sound. It is something that we'd be interested to explore at later stages of the project.

P.S. - Question: Can we download and install newer updates and then safely continue on from an old save and be just fine or are saves from previous versions of the game incompatible?
This is a tricky one. The save system is a pre-made function of Twine, and not something under our direct control. For some updates, it is perfectly possible to use "Load" and get the save file from the previous version. However this is not always true, and larger updates can break the save.
 
  • Like
Reactions: Ranma and Mathonwy

EzravonLeon

Member
Sep 25, 2020
148
27
Waiting for next part. Version 0.2.14 stops at choice btwn Vampire and Werewolf after pool game. Anyone know if there's another path or is that the only one so far?
 

Vincent Valensky

Member
Game Developer
May 4, 2020
180
455
Waiting for next part. Version 0.2.14 stops at choice btwn Vampire and Werewolf after pool game. Anyone know if there's another path or is that the only one so far?
This is all for now, Chapter 2 was on pause for a few patches while we were doing an upgrade of the core game mechanics and interface (Journal, Character menu, traits system, etc).

New plot content for Chapter 2 will be coming over the next patches =)
 

EzravonLeon

Member
Sep 25, 2020
148
27
This is all for now, Chapter 2 was on pause for a few patches while we were doing an upgrade of the core game mechanics and interface (Journal, Character menu, traits system, etc).

New plot content for Chapter 2 will be coming over the next patches =)
Thanks for the info.
 

skyline_pj

Newbie
Feb 25, 2018
56
22
It's really fun and immersive.
It's hard to wait for the latter part.

But some images don't display properly.
Please check the link below.


 

dsp0

Newbie
Jul 29, 2018
63
41
Hi dsp0. I can't get this to work. I really have no clue how to code, and the debugger says there's a semicolon problem somewhere. I think if you posted an example of the full text needed to be saved I could figure it out. I'd appreciate it!
Fyo, the point is it's a mostly manual hack. I do not have a stand alone code for it, which would probably require hacking the game code due to browser security. I'm not really a coder, but that would probably require way more time to figure out than I am willing to dedicate to this.

You need to be more specific about what you did and what happened so that I actually understand what did not work for you. Are you in Firefox? and in the "developer console"? On windows press F12 (with your game tab/window open and active), otherwise it's in the menu somewhere. Chrome and its derivatives have similar console, but I do not use it so cannot tell you if it's the same or not.

The idea is to get json string of your local storage object, a value without semicolon is printed into the console, which is what you want. (console.log(JSON.stringify(window.localStorage)); does somethig similar but it does not escape the string, which makes it a manual nightmare to try to do). Here is what I get for my local storage on f95zone:

"{\"xf_multiQuoteThread\":\"{\\\"4331363\\\":[true]}\",\"xf_visitorCounts\":\"{\\\"time\\\":1602368519,\\\"conversations_unread\\\":\\\"0\\\",\\\"alerts_unread\\\":\\\"0\\\",\\\"total_unread\\\":\\\"0\\\"}\",\"xf___crossTab\":\"{\\\"event\\\":\\\"visitorCounts\\\",\\\"data\\\":{\\\"conversations_unread\\\":\\\"0\\\",\\\"alerts_unread\\\":\\\"0\\\",\\\"total_unread\\\":\\\"0\\\"},\\\"_\\\":\\\"Sat Oct 10 2020 22:22:00 GMT+0000 (Coordinated Universal Time)0.5946256544841636\\\"}\"}"

You need to copy the string and save it into a text file on your computer. That is your save. It will be a long string and the console folds it, make sure you copied the whole thing, not the truncated version ending in "..." When you want to restore it with the game open you go to the console again and enter:

tmp=JSON.parse(your saved string);

so for the saved string for f95zone I'd have the following:

tmp=JSON.parse("{\"xf_multiQuoteThread\":\"{\\\"4331363\\\":[true]}\",\"xf_visitorCounts\":\"{\\\"time\\\":1602368519,\\\"conversations_unread\\\":\\\"0\\\",\\\"alerts_unread\\\":\\\"0\\\",\\\"total_unread\\\":\\\"0\\\"}\",\"xf___crossTab\":\"{\\\"event\\\":\\\"visitorCounts\\\",\\\"data\\\":{\\\"conversations_unread\\\":\\\"0\\\",\\\"alerts_unread\\\":\\\"0\\\",\\\"total_unread\\\":\\\"0\\\"},\\\"_\\\":\\\"Sat Oct 10 2020 22:22:00 GMT+0000 (Coordinated Universal Time)0.5946256544841636\\\"}\"}");

After this you parse the key/value pairs and copy them from the tmp object into the local storage like this:

for (var key in tmp) window.localStorage[key]=tmp[key];

The browser does not allow you to overwrite the local storage object completely (which would have been a little simpler) with something like window.localStorage = your saved object.

Good luck!
 

Fyo

Member
Aug 14, 2017
193
418
Fyo, the point is it's a mostly manual hack. I do not have a stand alone code for it, which would probably require hacking the game code due to browser security. I'm not really a coder, but that would probably require way more time to figure out than I am willing to dedicate to this.

You need to be more specific about what you did and what happened so that I actually understand what did not work for you. Are you in Firefox? and in the "developer console"? On windows press F12 (with your game tab/window open and active), otherwise it's in the menu somewhere. Chrome and its derivatives have similar console, but I do not use it so cannot tell you if it's the same or not.

The idea is to get json string of your local storage object, a value without semicolon is printed into the console, which is what you want. (console.log(JSON.stringify(window.localStorage)); does somethig similar but it does not escape the string, which makes it a manual nightmare to try to do). Here is what I get for my local storage on f95zone:

"{\"xf_multiQuoteThread\":\"{\\\"4331363\\\":[true]}\",\"xf_visitorCounts\":\"{\\\"time\\\":1602368519,\\\"conversations_unread\\\":\\\"0\\\",\\\"alerts_unread\\\":\\\"0\\\",\\\"total_unread\\\":\\\"0\\\"}\",\"xf___crossTab\":\"{\\\"event\\\":\\\"visitorCounts\\\",\\\"data\\\":{\\\"conversations_unread\\\":\\\"0\\\",\\\"alerts_unread\\\":\\\"0\\\",\\\"total_unread\\\":\\\"0\\\"},\\\"_\\\":\\\"Sat Oct 10 2020 22:22:00 GMT+0000 (Coordinated Universal Time)0.5946256544841636\\\"}\"}"

You need to copy the string and save it into a text file on your computer. That is your save. It will be a long string and the console folds it, make sure you copied the whole thing, not the truncated version ending in "..." When you want to restore it with the game open you go to the console again and enter:

tmp=JSON.parse(your saved string);

so for the saved string for f95zone I'd have the following:

tmp=JSON.parse("{\"xf_multiQuoteThread\":\"{\\\"4331363\\\":[true]}\",\"xf_visitorCounts\":\"{\\\"time\\\":1602368519,\\\"conversations_unread\\\":\\\"0\\\",\\\"alerts_unread\\\":\\\"0\\\",\\\"total_unread\\\":\\\"0\\\"}\",\"xf___crossTab\":\"{\\\"event\\\":\\\"visitorCounts\\\",\\\"data\\\":{\\\"conversations_unread\\\":\\\"0\\\",\\\"alerts_unread\\\":\\\"0\\\",\\\"total_unread\\\":\\\"0\\\"},\\\"_\\\":\\\"Sat Oct 10 2020 22:22:00 GMT+0000 (Coordinated Universal Time)0.5946256544841636\\\"}\"}");

After this you parse the key/value pairs and copy them from the tmp object into the local storage like this:

for (var key in tmp) window.localStorage[key]=tmp[key];

The browser does not allow you to overwrite the local storage object completely (which would have been a little simpler) with something like window.localStorage = your saved object.

Good luck!
Thanks dsp0. I'm afraid I'm not quite there yet. I think I've got the first part, as in copying the string, the second part probably not. I can find a key ( I think) which in this case is (Saved Game C2ADA51B-C8E4-4D76-9B89-BAAD2EDF39FD) Slot A
But that's all I'm able to find. When I try to enter that in any form following the format you've given I just get an error. Is there a difference between (temp key) and [key]?

I don't mean to be too much of a bother, I was just excited when I saw your crazy fix. I've wanted to try this game for a while but without a save function it's pretty difficult.

This would be a lot easier if Vincent Valensky added a save to file function x_x
 

dsp0

Newbie
Jul 29, 2018
63
41
Thanks dsp0. I'm afraid I'm not quite there yet. I think I've got the first part, as in copying the string, the second part probably not. I can find a key ( I think) which in this case is (Saved Game C2ADA51B-C8E4-4D76-9B89-BAAD2EDF39FD) Slot A
But that's all I'm able to find. When I try to enter that in any form following the format you've given I just get an error. Is there a difference between (temp key) and [key]?

I don't mean to be too much of a bother, I was just excited when I saw your crazy fix. I've wanted to try this game for a while but without a save function it's pretty difficult.

This would be a lot easier if Vincent Valensky added a save to file function x_x
You do not need to manually find any keys (there are two that game creates), just run the two commands in the console. I am not sure if I can clarify any better honestly. It seems that you do not know javascript at all, so this makes it particularly difficult. What the procedure does it first converts the local storage object into string (json). You then want to put it back into local storage when you want to restore the save later. You cannot do it all at once so you first put it into the variable that in my example code I called 'tmp'. The second command (for (var key in tmp) window.localStorage[key]=tmp[key]; ) you just need to copy exactly. 'key' here is just a variable name. In javascript object property such as obj.property is equivalent to an associative array as obj[property] (which is customarily called key, value pair). In any case the for loop iterates over properties/keys of the tmp object and copies them one at a time to the local storage. If you want to learn some javascript, it's a fun language, but I do not think this is the place.

As far as developer adding save functionality, I was in the same boat as you and decided not to wait for that happening. Firefox has a storage inspector (another tab when you open developer tools). I was first hoping there would be a way to just export the local storage to file and later import it back, but no such luck. I think Mozila should add this, it would be useful for more than just this game.
 

Vincent Valensky

Member
Game Developer
May 4, 2020
180
455
It's really fun and immersive.
It's hard to wait for the latter part.

But some images don't display properly.
Please check the link below.


Hey Skyline,

Sorry about that! The primary version is online, so sometimes small things slip when I try to repackage for the local version.

The missing image is this, you can place it in the "clothes" folder:

The online version can also be found here:
(contains the latest fixes).

In any case, happy to hear that you're enjoying it =)
 

Fyo

Member
Aug 14, 2017
193
418
You do not need to manually find any keys (there are two that game creates), just run the two commands in the console. I am not sure if I can clarify any better honestly. It seems that you do not know javascript at all, so this makes it particularly difficult. What the procedure does it first converts the local storage object into string (json). You then want to put it back into local storage when you want to restore the save later. You cannot do it all at once so you first put it into the variable that in my example code I called 'tmp'. The second command (for (var key in tmp) window.localStorage[key]=tmp[key]; ) you just need to copy exactly. 'key' here is just a variable name. In javascript object property such as obj.property is equivalent to an associative array as obj[property] (which is customarily called key, value pair). In any case the for loop iterates over properties/keys of the tmp object and copies them one at a time to the local storage. If you want to learn some javascript, it's a fun language, but I do not think this is the place.

As far as developer adding save functionality, I was in the same boat as you and decided not to wait for that happening. Firefox has a storage inspector (another tab when you open developer tools). I was first hoping there would be a way to just export the local storage to file and later import it back, but no such luck. I think Mozila should add this, it would be useful for more than just this game.
I've done it! :). Thanks so much for your help. I appreciate it. I actually tried doing this myself a year ago but, as you can probably tell, I am completely unqualified and gave up when I couldn't find any way to export/import the entire temp storage. It's cool to see that this is actually possible, and hopefully I'll be able to apply it to other saveless games as well. I'll just PM you whenever I have any trouble.

You don't have permission to view the spoiler content. Log in or register now.
 

dcontrol

Newbie
Aug 21, 2016
38
289
No changelog for last 2 releases?
Changelog for the most recent version is on tfgamesite. Here it is for posterity since it seems like he deletes the previous one each release sadly.


Version 0.2.16 - Halloween update



This patch focuses on adding new sexy and spooky scenes, along with some content for Chapter2.

==CHAPTER1==

The Crypt
-added a new location: The Crypt;
-added the possibility to visit the Crypt from the cemetery;
-added the possibility to visit the Crypt from Ionut's walk in the rain;
-added an erotic scene with two variations;
-added new art for The Crypt;

Ionut event
-added a new branch of variations to the Ionut event at the cemetery;
-removed some of the restrictions for the event trigger (you should see it more often);

Other:
-added new art for Sabrina body modification ritual;
-added new art when the werewolf drags you outside;


==CHAPTER2==

The Elder
-added new art;
-improved interaction;

A game of pool
-added a new win event: a walk with the wolf;

General
-tweaked the values of some lust and sanity gains/losses;
-added a new quest: The Grand Conspiracy (in progress)


Patreon-only bonuses:

Cheat Menu:

-quick navigation.
-stat edit

Lewd Catalogue :
-direct access to all scenes;

==>Please note that all in-game content will always be accessible to everyone, for free. Patreon only adds shortcuts and conveniences.
 

Vincent Valensky

Member
Game Developer
May 4, 2020
180
455
Changelog for the most recent version is on tfgamesite. Here it is for posterity since it seems like he deletes the previous one each release sadly.
Thanks for posting it! If you want to check the history of changes, you can find an archive of changelongs inside the game itself:

1. Click on the version number on the bottom of the sidebar
2. Scroll to the bottom of the current changelong and click a previous version number.
 

testusergimmegames

New Member
Feb 13, 2019
8
2
are red options unavailable because i dont have a lead or are they not done yet? ive died like 30 times and loaded saves a lot to get the most of out this game, ive spent few hours and knowing that there might be something more left makes me depressed.
 
4.80 star(s) 52 Votes