Announcement

Collapse
No announcement yet.

[PLUGIN] Savior 2

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    What you describe about auto destroy to me sounds like it's doing it's meant to do.
    The pickup marked destroyed will self-destroy on save load...

    Btw, If you ever fall into necessity of using multiple load functions, for whatever reason, make sure you use a node to check for "Thread Safety" of the save system.
    I have seem devs using async load, and use a second load node, and a third one, while the load process of the first one is still running (as a background task).
    Pretty crazy stuff some people are doing.
    | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

    Comment


      Yeah, the system works as intended in this case. I meant maybe there's an "official" way of handling pickups restoring in this case so the player will still has the initial flow unbroken (from the top of my mind - a list of destroyed objects that are marked as destroyed only on the next save, so they will be respawned as usual during this and next save), but I'll figure something out

      Thanks for the tip, will be on the lookout for that. Speaking of crazy stuff... I guess I'll need your advise on this one too: I need to save co-op players pairs in a game and load them only for specific players, the ones that initially were playing in this particular pair, so these particular players will get this own progression save. So far I have no idea how to do this from the perspective of saving, maybe you've encountered this case before? Should I save game to slots on both LS and client? (which makes sense to me since the next time LS could be the client and vice versa)

      Comment


        I would do a setup in game mode with important data there and save using "Save Game Mode" node.

        Then sync client to loaded data when connected.. if you save on both, you could load outdated file on one of them and you will have to sync them anyway.
        | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

        Comment


          Originally posted by BrUnO XaVIeR View Post
          I would do a setup in game mode with important data there and save using "Save Game Mode" node.

          Then sync client to loaded data when connected.. if you save on both, you could load outdated file on one of them and you will have to sync them anyway.
          Hm, sounds like a plan. I'll have to dig deeper into Game Modes, so far I'm not so confident with it in terms of multiplayer. But I guess I should also save players actors as well? Or stuff like currencies, skills unlocked by players and so are better fit in Game Mode?

          Comment


            "Save Game Mode" creates a record for all Actors member of the Game Mode group:

            Player Controller,
            Possessed Character,
            Game Mode BP,
            Player State,
            Game State,
            etc.

            And additionally also saves a singleton record of the Game Instance BP..

            Majority of games only need that node to have a decent save system... Then they just use "Load Game Mode" and done.
            | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

            Comment


              Thanks a lot for your time, will try this one and see if it's sufficient

              Comment


                I'm working on an update to close the gap of pending feature requests, while unit testing and bug hunting as well.

                If there's some feature you need, some extra node you'd like to have, this is the week to ask for it!
                | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                Comment


                  Hi, Bruno

                  I'm back with a couple of questions if you don't mind (pardon for such a concentration of newbie points in one post):

                  1) what is the correct (intended) scenario for saving with pause? When saving from under the charBP I have to set TickWhenPaused flag on the char and that eliminates the whole point of setting game on pause during save/load

                  2) I tried to set up the game mode saving/loading as you advised, but so far I can't get my charBP to save, do I need to set up something additional? (when using save/load GameWorld nodes everything is correct)

                  3) my main scenario for Savior usage is saving/loading of single and pair progression in a roguelike and transferring them from the previous level to the next one. Since I'm not in any way an architectural guru I'm having trouble applying saved info on top of the spawned charBPs - I should do it after connecting and spawning both players on the level, but before BeginPlay, right?

                  Comment


                    Something in engine might have been charged when running save as a task while paused. It shouldn't be affected by that. I have to check that later.

                    Your charBP should always spawn with the same SGUID value. For a main character I just use an invalidated Guid value (0000-0000-0000-0000). And I do not use on it a Guid generator in constructor.

                    You can use "Load Game Mode" at any time, but you probably need some extra loading screen setup to load saves after BeginPlay to make sure all default values have already initialized before loading.
                    | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                    Comment


                      Thanks, I'll try that. Also is there a way to override loading screen from BP? Make changes to ordering of the widgets, visual overhaul?

                      Comment


                        There are a few customization for loading screen on slot assets. Structural changes only if you create your own loading screen system or change the C++ classes in plugin source code.
                        | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                        Comment


                          Yeah, I was afraid of that. The blurred background and all the other stuff are really nice to have, but still per-project tailoring is needed. And for BP-only guys like me digging into the code is an unlikely option. Anyway thanks for the info and tips, hope you don't mind newb questions

                          Comment

                          Working...
                          X