Progress data saving between multiple scenes // any ideas how to program that?

Twerk vr

Active member
Messages
209
Reactions
179
Points
43
Patreon
twerk_vr
Hey ! I've been working on "sex open world" for almost two years now, I'd like to share the central part of it for free, hub hosted, in the coming weeks but there are still one or two features I'd like to finish before that. 🔧

The concept of Sex Open World is simple, it's just that rather than sharing my scenes independently I thought it would be nice to link them together, and you have to navigate through a world, solving mini puzzles to win access to each sex scenes.

➡️My problem⬅️
The feature that's been giving me trouble for over a year now is to having board that keep track of your progress. Concretely, I'd like the central scene (central hub) to contain photos of the girls you've already been encounter . This would have been easy if it were in the same scene (the same .json). But here the difficulty is to find a system that, in the central scene (SEX OPEN WORLD.json) something would be different if you already open another scene (The Barmaid.json, for exemple), or if you clicked on a certain button (in this scene or in others).

I already tried something with a subscene system, that worked for me but not for my patrons and it gave me headake🤯 I passed so many hours on it without results so I gave up the idea. Was a pain because it was a mix of downloaded subscene and saved some in local (your data progress) and the scene was supposed to load your local subscene, so it worked at home but not for others. (I'm not totaly sure about the reason it didn't work for others).



200.jpg
Achievments load1.jpg


💻🎚️💾 I wonder if it would be easier solution with something else, maybe like a custom plugin? But I never built some. I'm just starting to understand how to read the inside of the .json code. Or maybe something that make you download a picture, and so, untill you have that picture, the image atom would be offline and you can see the question mark who is under the offline picture. Maybe there is a simple way to do that, something I didn't think about. So that's why I finnaly ask for some help, any ideas are welcome! If you need more information to think about it, I'm here to answer your questions.

If that progress data board works, It would be so satisfaying, I would be so glad! 😀 Seriously I could paid the one who will help me to finish this thing, if he thinks it deserved to be paid. Or I'll give him lifetime access to my page if he is interested. Or I'll do him a service in return, with my skills if it's useful to him, create a scene, an animation or whatever. (I don't know if it's in the forum's values to propose this)


[Here was my first attempt to share a free version], but was not hub hosted and not shared in a good way.
If you want try the last full version pm just to me I can share a download link. (But as you can imagine, a massive scene means a massive number of dependencies: that's the downside of this idea)

Thanks for reading! 📖
 
The subscene approach should work, at least until the user loads a different scene (outside of your setup) or restarts VaM.
So you have your main scene which contains the achievement board and a SubScene atom. That main scene stays always loaded. When the user goes into a room, you load that particular subscene. Obviously everything needs to be in subscenes then, don't use anything local.
The user could save the scene (meaning your main scene) to save the state across sessions. However, that's bad UX I would say and too much can go wrong for unexperienced users (saving at the wrong moment, etc.)

A better approach would indeed be a custom plugin. Plugins are allowed to load/save their own JSON files (local and independent of the scene). So whenever the user finishes a room, you would use the plugin (via trigger) to set the "unlocked" flag in the JSON file. Whenever you load your achievement room / main scene, the plugin would read the JSON instead and display (or not) the individual achievement images.
A plugin specific just for your particular case can probably be hacked together in some 2-3 hours. It would require you to make sure the image atoms in your achievement room have consistent naming, because that would allow the coder to just hardcode those into the plugin, which makes this a lot simpler. A more generic LogicBricks-style solution to load/save all kinds of variables so it's useful for other things as well would take a lot longer.

Keep in mind that no matter what solution you go with, its fairly easy to cheat it for the player ;)
 
The subscene approach should work, at least until the user loads a different scene (outside of your setup) or restarts VaM.
So you have your main scene which contains the achievement board and a SubScene atom. That main scene stays always loaded. When the user goes into a room, you load that particular subscene. Obviously everything needs to be in subscenes then, don't use anything local.
The user could save the scene (meaning your main scene) to save the state across sessions. However, that's bad UX I would say and too much can go wrong for unexperienced users (saving at the wrong moment, etc.)

A better approach would indeed be a custom plugin. Plugins are allowed to load/save their own JSON files (local and independent of the scene). So whenever the user finishes a room, you would use the plugin (via trigger) to set the "unlocked" flag in the JSON file. Whenever you load your achievement room / main scene, the plugin would read the JSON instead and display (or not) the individual achievement images.
A plugin specific just for your particular case can probably be hacked together in some 2-3 hours. It would require you to make sure the image atoms in your achievement room have consistent naming, because that would allow the coder to just hardcode those into the plugin, which makes this a lot simpler. A more generic LogicBricks-style solution to load/save all kinds of variables so it's useful for other things as well would take a lot longer.

Keep in mind that no matter what solution you go with, its fairly easy to cheat it for the player ;)
I think i'm in for the custom plugin. We'll discuss the price privately. But I know I'm ready to give enough. I think that you'll find it more stimulating to create something that can be used after by others creator in the community? If it has ton serve any idea it has to be less specific and just saves 0 or 1 states, and who can trigger custom actions? And that saves this data in a json with a customizable name so that if several creators use it, they won't scramble their data together? But if it's too much more complicated to make it usable for everyone and customizable, maybe you'd rather just complete my specific needs and not bother with these questions. I wonder if this could really serve other creators, or if it's a too specific need.

I tried earlier what you said for the subscene thing, put all the content in subscenes. But as the first state of the scene is already massive (4 persons, many cuas, many atoms in general), I don't know why but things went wrong during loading, (I was on old laptop) I even tried to splits atoms in separate subscenes like 3 group and load them one by one, I can't remember why, but something always seemed to go weird. And the obscure side of the issues, the fact that it couldn't load the thing completely while my pc could when everything wasn't in subscenes, put me off this track.

The other subscene thing i talked that was a subscenes just for achievments. Was one subscene with one sub/subscene for each photos, one sub/subscene could load 0.json that was question mark picture, and 1.json was her pictures. And the main subscene saves if each subsubscene should load 0.json or 1.json. This subscene was load in every separate game scene and some triggers change the state of the 0 or 1. And when you click on the button to make you change scene I triggered before the loading of next scene something to Save the achivement subscene local with a certain path. it worked, the only downside was it made you take a screenshot like when you save anything in the game. But I think that what was wrong was the thing to load it on the next scene, I didn't manage to make a .VAR scene load a local subscene. So the system worked for me when it was not .var, but not after.
 
I think that you'll find it more stimulating to create something that can be used after by others creator in the community?
Theoretically yes, but lack of time is the biggest factor here. I have real-life job (also game-dev) and currently two non-VaM side-projects I'm working on. VaM only comes after that in priority. Doing stuff in a 6 year old version of Unity is obsolete knowledge at this point, I can't justify spending too much time on it. When you have maybe 3-4 hours/week to spend on free-time coding, you try to spend it wisely.

I'm sure you can find some coder to make you that plugin. At least a customized thing just for your scene is more or less straight forward to code.
 
The in-game mechanics of it could probably be done with VamStory and StateMachine, but that still brings you back to that save and restore problem. The only data you would really need to save is the locked/unlocked state of each "room" or scene in the game. When you load up the base scene, that data gets read in, and the board displays images of things you've already done. Clicking on one of those would take you back to that scene for a replay. You could also have a Continue button that takes you to the next puzzle. Either that, or you just click on one of the locked scenes to try to unlock it by solving the puzzle. It's doable, once you get that state save/restore part worked out.

Having a branching tree of possible endings for scenes would be a lot of coding. In such a game, it would also be easy to cheat...
 
Back
Top Bottom