View Full Version : Saved won't load - CTD!
MarkShot
01-28-08, 12:57 PM
Yes, I know the save was taken at 200M while in contact with the enemy. Yes, I have read that saving while submerged is a known issue.
But I don't really care!!! I saved, since I didn't have another hour or two to complete evading and get back to the surface.
Yes, I know we are suppose to be complimentary and defferential to the devs. But I am sorry, I worked in Systems for something less than 30 years. Saving an applications state to disk and reloading with the same application is Programming 101. There is nothing hard or tricky about it. Programmers who cannot program a save and load function in an application are simply incompetent. Just because they are game programmers doesn't make inability to handle a basic programming task more acceptable than if they worked for Sun, Intuit, or Microsoft.
Finally, this is not the only game to ever experience save/reload problems. I think if I decide to teach in my retirement, the first programming assignment will be how to write a save/load function. :( So pathetically sad.
TomcatMVD
01-28-08, 01:03 PM
I've never EVER had the "save while submerged" issue on stock SHIII... nor did I have a single Save/Load problem or error.
I understand your frustration though... but I don't know if saying such things without proper research would be appropriate... Just a thought there.
Hanomag
01-28-08, 01:51 PM
GASP !!! :o
Jimbuna
01-28-08, 01:55 PM
I understand where your coming from, and at times have experience the same frustration :yep:
The simple facts of the matter are, we can only work with what we have. The problem is inherent to what has been hard coded and without the SDK, I presume it is currently not possible to fix this annoying feature :nope:
Dronston
01-28-08, 03:43 PM
How many times did we all have to start a new campaign because something crashed, got released or was f**Ked up by ourselves?
Me at least 6 times...if not 10...
:damn:
:lol:
MarkShot
01-28-08, 06:19 PM
I used to play SH2/PA. Like GWX, PA was an amazing piece of work. The PA Team took a linear campaign and turned it into a dynamic campaign. However, ultimately there was one thing which killed it for me. You could save and reload. I could not get whole patrol played in one sitting. So, I gave up on it.
Granted I can back track here, but I want to simply be able to pick up a game where I left off. It is really not too much to ask for.
---
Save/reload is not that hard. You simply need two representations of data area:
Game Representation: This is what most programmers think of as variables, arrays, stacks, etc ... They are your subs, ships, map, crew, ...
Storage Representation & Threads: This is simply a pointer to start of all game data locations and the length of allocated data. Additional, as part of preamble it the list of active tasks and current execution points.
Save: You dump the SRT structure to a disk file. In this forms, it is just a long string of bytes.
Load: You read the SRT structure back into memory. Reset the active tasks and transfer control from a systems image process to the application handling. Thus, it becomes simply a game once again.
---
The beauty of doing the save/load as a systems function is that you can add new variables, buffers, and data structures. None of this has any impact on save/reload, since to those basic functions it is just one long string of serialized bytes. Once you have it working, it should continue working for all new patches and builds of the game. Not only is it maintenance free, but it is the fastest on saving and loading. Why? Because there is no need to traverse or rebuild complex data structures, it is just a big block of bytes. Only when control is transfered back to application handling, the game, does it begin to have a more sophisticated meaning.
If you fail to use the above approach, they you must make sure to capture each every bit of data about every simulated object in any given state and capture it to disk. Then, later you must rebuild the a very complex state of execution from little pieces of data captured on disk. If you neglect even one thing, then you get glitches. Any time, you make the smallest change to the code, you have to go back in and work on the save/reload functionality.
---
I know I just wasted my time, but maybe someone is reading this who aspires to be a game developer one day. Maybe they just discovered the right way to do save/reload. I can only hope.
GlobalExplorer
01-28-08, 07:18 PM
I know I just wasted my time, but maybe someone is reading this who aspires to be a game developer one day. Maybe they just discovered the right way to do save/reload. I can only hope.
Maybe not. I am trying to figure out what you mean. I dont know what you mean by "dymping the SRT structure". Are you talking about serialization? I used to think direct memory to disk strategies are not that robust.
Anyway. The problem is not that the guys at UBI can't program. I think SHIII is a damn fine piece of software. (Though some things DO look ancient, for instance the file with the crew data which looks a bit amateurish and 80's style). It's just a shame that the product was rushed and locked at 1.4b - a lot of problems could be fixed if a single programmer worked on the code for 1-2 weeks (weather / savegame bug). Of course, it takes longer the longer the guy has worked on other things and forgot about how things work.
Alas, if this was not UBI but an indie company we would have seen a dozen or so patches which would have fixed all these things a long time ago .. well, but it isn't going to happen ..
MarkShot
01-28-08, 07:34 PM
For Java programming, I believe it was called serialization.
TheBlackHand
01-29-08, 01:27 AM
Welcome to the club.
I'm looking at having my most succesful patrol to date completely wiped out due to this inability to load GWX saves.
This absolutely SUCKS.
I don't even know why I keep trying. Must be a masochist or something.
ReallyDedPoet
01-29-08, 09:13 AM
This can be a tough one :roll:, however you get used to it. Lot's of saves, and not near contacts, submerged or near port.
The game is just too good not to put up with it, were a strange bunch aren't we, us sub-simmers :doh::lol:
RDP
MarkShot
01-29-08, 09:52 AM
SH2/PA was really worthwhile, but without the save game feature it just was not tolerable.
I did work out a work around. A special clone partition of XP + SH2/PA just for playing. Then, rather than saving the game, you simply hibernate when you want to take a break. When I reboot that partition again, then the game is just simply running as before. Since it was a special clone partition upon which all Internet access was disabled, it never really required rebooting or any maintenance. This approach would probably work with SH3 as well.
But that was a lot of trouble to initially get working. I don't think I am going to bother doing such a thing again. I will just try to practice safe saves. Also, you give up a lot, since the clone partition cannot do anything (mail, Web surfing) but play the one game. No, multi-tasking like playing and posting on www.subsim.com. It was a very archaic solution which is high reminiscent of the old DOS days where you had a boot for each particular game and that was the one thing you could do. If you wanted, to write a memo or something, you would have to reboot. Now, these days even my DOS with DOSBOX no longer have such ridiculous limitations.
Now, the more I play, I am beginning to realize other short comings like weird weather or only one sensor at a time. I think I can live with all of this, since I am really having three careers at once: AOD, SHCE, and SH3/GWX. Each has its strengths and weaknesses. I am also considering adding SH4 to the mix as well.
MarkShot
01-29-08, 12:30 PM
In XP, look in the Control Panel under Power Management. Enable Hibernate. Then, on the shutdown menu, you will see: Shutdown, Reboot, and Hibernate.
If you choose, Hibernate it will write out to C: an exact copy of your RAM. When you boot, it will not do a normal boot loading XP and software, instead it will take the disk image and put it back into RAM. You should be exactly where you were.
If you have 4Gb of RAM, you will need 4Gb free on your C: drive. You will find a hidden system file used for it call Hiberfil.sys.
That should get you started.
* Note that rebooting from time to time is a good idea for a PC. Otherwise, Windows updates, virus updates, other updates may doom your system and it could be months before you find out that something has hosed your system. By the time you get hosed, you will have no idea what caused it.
MarkShot
01-29-08, 12:33 PM
Wilcke,
Did you just delete your post? About how to hibernate?
Well, I answered anyway.
MarkShot
01-29-08, 12:36 PM
By the way, hibernate was originally intended as a way for laptops to totally poweroff without having to shutdown/reboot.
T.Von Hogan
01-29-08, 01:29 PM
I've only encounted the plunge of death 1 time ever it was with gwx 1.03 and an XXI sub. played since feb 06 and always saved submerged. Never saw a save related ctd with the stock version, only 1 or 2 with 1.03 but have had 3 allready in 7 voyages with 2.0... i do have the damage mod installed but did with 1.03 also. Never lost more than a week or more than 2 large merchants so i figure no biggie.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.