GameSDK load CSF issues...

#1
Hi all,

Sorry if I am posting this in the wrong place but I have asked this on a few of the other areas and to no avail (or response if I'm honest). I am currently working on an open world RPG game based off of the gameSDK package. This game uses a single, huge level containing all the necessary AI, vegetation, meshes, story elements, TOD, etc. (like fallout 4s main map). If you are to boot the game exe, select single player and load my custom level, you will be bale to enjoy the experience that I have crafted. However, when the end user wants to save and quit the game, there lies a monumental problem. The player can save their progress and it will create a .CSF file (just how it should) in the save game folder in the user(2) folder and while the game is still running the player can save and load perfectly whenever they please. When the player restarts the game, chooses single player, selects the level and hits load, it will chuck them right at the default .CSF file and it will have "forgotten" about all the previous saves. If I then go and open up the console and enter 'loadLastSave' or 'load default_level_gaameName_05.csf' it wont do anything and still put me at the beginning spawn point as if the save has been overwritten with the starting point values.

I am using the default gameSDK flash UI (I have modified some of the .DDS files but still) and I haven't modified any of the engine load order stuff, so basically a run of the mill gameSDK project.

I have a couple of possible theories of how it could be soved:

I could implement an additional ui screen after selecting the level where it would display al the possible CSF files but I wouldn't know where to start with creating this and it wouldn't solve the issue of the overpowered starting point (to put it bluntly).
Another solution would be to modify the engine load order so that it would locate and load the latest save game before loading the level but again, I wouldn't know how to implement this.

Now, there must be a way of doing this as I cannot imagine that I am the first to be making an open world sandbox using this engine. If you have done this before or if you have any possible suggestions then please let me know so if any others have this issue in the future then this thread will be able to help them.

Thanks,

Watki

Re: GameSDK load CSF issues...

#2
Hi,

I have tested the functionality of the save and load.
And it does indeed only seam to work in the same session.
I had issues with loading the game after closing the engine and then opening again.
We have put the issue in our system.

At this point all I can offer for the moment is to store your
own information in xml files and read/write from/to them.

below you will find an example
Image

CTRL + V directly in your Flow Graph

Code: Select all

<Graph Description="" Group="asd">
<Nodes>
<Node Id="72" Class="Xml:OpenDocument" pos="54,-1314,0">
<Inputs File="Save" Location="0"/>
</Node>
<Node Id="76" Class="Xml:NewDocument" pos="288,-1224,0">
<Inputs Root="Save"/>
</Node>
<Node Id="83" Class="Logic:Any" pos="504,-1314,0">
<Inputs />
</Node>
<Node Id="85" Class="Debug:Log" pos="504,-1062,0">
<Inputs message="Error: failed to create new document"/>
</Node>
<Node Id="98" Class="Xml:NewChild" pos="936,-1116,0">
<Inputs Name="LastLocation" Active="1"/>
</Node>
<Node Id="99" Class="Debug:Log" pos="1350,-936,0">
<Inputs message="Error: failed to create new child"/>
</Node>
<Node Id="100" Class="Xml:SetValue" pos="1638,-1116,0">
<Inputs />
</Node>
<Node Id="106" Name="Load_Location" Class="_commentbox" pos="-216,-1422.8361,0">
<Inputs TextSize="1" Color="1,1,1" DisplayFilled="1" DisplayBox="1" SortPriority="16"/>
<ResizeBorder X="0" Y="0" Width="3042" Height="504"/>
<NodeSize Width="3042" Height="577.87964"/>
</Node>
<Node Id="110" Class="Xml:SaveDocument" pos="1962,-1116,0">
<Inputs File="Save" Location="0" Overwrite="1"/>
</Node>
<Node Id="111" Class="Debug:Log" pos="1962,-1008,0">
<Inputs message="Error: failed to set value"/>
</Node>
<Node Id="113" Class="Xml:GetChild" pos="648,-1314,0">
<Inputs Name="LastLocation" Create="0"/>
</Node>
<Node Id="114" Class="Logic:Any" pos="1350,-1314,0" InHideMask="1023" OutHideMask="1">
<Inputs />
</Node>
<Node Id="221" Class="Xml:GetValue" pos="1638,-1314,0">
<Inputs />
</Node>
<Node Id="225" Class="Entity:GetPos" pos="1350,-1134,0">
<Inputs entityId="0" CoordSys="1"/>
</Node>
<Node Id="227" Class="Actor:LocalPlayer" pos="1350,-1170,0">
<Inputs />
</Node>
<Node Id="229" Class="Entity:BeamEntity" pos="1962,-1296,0">
<Inputs entityId="0" CoordSys="1" Position="0,0,0" Rotation="0,0,0" UseZeroRot="0" Scale="0,0,0"/>
</Node>
<Node Id="231" Class="Actor:LocalPlayer" pos="1962,-1332,0">
<Inputs />
</Node>
<Node Id="232" Class="Xml:OpenDocument" pos="54,-1944,0">
<Inputs File="Save" Location="0"/>
</Node>
<Node Id="234" Class="Xml:NewDocument" pos="288,-1854,0">
<Inputs Root="Save"/>
</Node>
<Node Id="235" Class="Logic:Any" pos="504,-1944,0">
<Inputs />
</Node>
<Node Id="236" Class="Debug:Log" pos="504,-1692,0">
<Inputs message="Error: failed to create new document"/>
</Node>
<Node Id="237" Class="Xml:NewChild" pos="936,-1746,0">
<Inputs Name="LastLocation" Active="1"/>
</Node>
<Node Id="238" Class="Debug:Log" pos="1350,-1566,0">
<Inputs message="Error: failed to create new child"/>
</Node>
<Node Id="240" Name="Save_Location" Class="_commentbox" pos="-216,-2062.1079,0">
<Inputs TextSize="1" Color="1,1,1" DisplayFilled="1" DisplayBox="1" SortPriority="16"/>
<ResizeBorder X="0" Y="0" Width="3042" Height="540"/>
<NodeSize Width="3042" Height="613.87964"/>
</Node>
<Node Id="243" Class="Xml:GetChild" pos="648,-1944,0">
<Inputs Name="LastLocation" Create="0"/>
</Node>
<Node Id="244" Class="Logic:Any" pos="1350,-1944,0" InHideMask="1023" OutHideMask="1">
<Inputs />
</Node>
<Node Id="245" Class="Xml:GetValue" pos="1638,-1944,0">
<Inputs />
</Node>
<Node Id="249" Class="Actor:LocalPlayer" pos="1872,-1980,0">
<Inputs />
</Node>
<Node Id="251" Class="Debug:InputKey" pos="-198,-1962,0">
<Inputs entityId="0" Key="i" NonDevMode="0"/>
</Node>
<Node Id="254" Class="Xml:SetValue" pos="2142,-1926,0">
<Inputs />
</Node>
<Node Id="256" Class="Entity:GetPos" pos="1872,-1944,0">
<Inputs entityId="0" CoordSys="1"/>
</Node>
<Node Id="257" Class="Xml:SaveDocument" pos="2538,-1926,0">
<Inputs File="Save" Location="0" Overwrite="1"/>
</Node>
<Node Id="259" Class="Debug:Log" pos="2538,-1818,0">
<Inputs message="error: Failed to set the value"/>
</Node>
<Node Id="261" Class="Debug:InputKey" pos="-198,-1332,0">
<Inputs entityId="0" Key="o" NonDevMode="0"/>
</Node>
</Nodes>
<Edges>
<Edge nodeIn="76" nodeOut="72" portIn="Execute" portOut="Fail" enabled="1"/>
<Edge nodeIn="83" nodeOut="72" portIn="in1" portOut="Success" enabled="1"/>
<Edge nodeIn="83" nodeOut="76" portIn="in2" portOut="Success" enabled="1"/>
<Edge nodeIn="85" nodeOut="76" portIn="input" portOut="Fail" enabled="1"/>
<Edge nodeIn="113" nodeOut="83" portIn="Execute" portOut="out" enabled="1"/>
<Edge nodeIn="99" nodeOut="98" portIn="input" portOut="Fail" enabled="1"/>
<Edge nodeIn="114" nodeOut="98" portIn="in2" portOut="Success" enabled="1"/>
<Edge nodeIn="225" nodeOut="98" portIn="Get" portOut="Success" enabled="1"/>
<Edge nodeIn="110" nodeOut="100" portIn="Execute" portOut="Success" enabled="1"/>
<Edge nodeIn="111" nodeOut="100" portIn="input" portOut="Fail" enabled="1"/>
<Edge nodeIn="98" nodeOut="113" portIn="Execute" portOut="Fail" enabled="1"/>
<Edge nodeIn="114" nodeOut="113" portIn="in1" portOut="Success" enabled="1"/>
<Edge nodeIn="221" nodeOut="114" portIn="Execute" portOut="out" enabled="1"/>
<Edge nodeIn="229" nodeOut="221" portIn="Beam" portOut="Value" enabled="1"/>
<Edge nodeIn="229" nodeOut="221" portIn="Position" portOut="Value" enabled="1"/>
<Edge nodeIn="100" nodeOut="225" portIn="Execute" portOut="Pos" enabled="1"/>
<Edge nodeIn="100" nodeOut="225" portIn="Value" portOut="Pos" enabled="1"/>
<Edge nodeIn="225" nodeOut="227" portIn="entityId" portOut="entityId" enabled="1"/>
<Edge nodeIn="229" nodeOut="231" portIn="entityId" portOut="entityId" enabled="1"/>
<Edge nodeIn="234" nodeOut="232" portIn="Execute" portOut="Fail" enabled="1"/>
<Edge nodeIn="235" nodeOut="232" portIn="in1" portOut="Success" enabled="1"/>
<Edge nodeIn="235" nodeOut="234" portIn="in2" portOut="Success" enabled="1"/>
<Edge nodeIn="236" nodeOut="234" portIn="input" portOut="Fail" enabled="1"/>
<Edge nodeIn="243" nodeOut="235" portIn="Execute" portOut="out" enabled="1"/>
<Edge nodeIn="238" nodeOut="237" portIn="input" portOut="Fail" enabled="1"/>
<Edge nodeIn="244" nodeOut="237" portIn="in2" portOut="Success" enabled="1"/>
<Edge nodeIn="237" nodeOut="243" portIn="Execute" portOut="Fail" enabled="1"/>
<Edge nodeIn="244" nodeOut="243" portIn="in1" portOut="Success" enabled="1"/>
<Edge nodeIn="245" nodeOut="244" portIn="Execute" portOut="out" enabled="1"/>
<Edge nodeIn="256" nodeOut="245" portIn="Get" portOut="Value" enabled="1"/>
<Edge nodeIn="256" nodeOut="249" portIn="entityId" portOut="entityId" enabled="1"/>
<Edge nodeIn="232" nodeOut="251" portIn="Execute" portOut="Pressed" enabled="1"/>
<Edge nodeIn="257" nodeOut="254" portIn="Execute" portOut="Success" enabled="1"/>
<Edge nodeIn="259" nodeOut="254" portIn="input" portOut="Fail" enabled="1"/>
<Edge nodeIn="254" nodeOut="256" portIn="Execute" portOut="Pos" enabled="1"/>
<Edge nodeIn="254" nodeOut="256" portIn="Value" portOut="Pos" enabled="1"/>
<Edge nodeIn="72" nodeOut="261" portIn="Execute" portOut="Pressed" enabled="1"/>
</Edges>
</Graph>
Usage:
- Press i to save your location.
- Press o to load your location.

Who is online

Users browsing this forum: No registered users and 2 guests