View Issue Details

IDProjectCategoryLast Update
0004319Valley 1Crash/ExceptionJan 26, 2012 3:08 pm
ReporterGrimerX Assigned ToChris_McElligottPark  
Status resolvedResolutionopen 
Product Version0.503 
Summary0004319: Loading a savegame from a higher version of AVWW crashes AVWW
DescriptionSince you publish updates to games often thought you might be interested in this. Fairly minor, should only happen when people move savegames between computers (what I do :-).

9/29/2011 3:54:08 PM (0.502)
-----------------------------------Error-----------------------------------Log String: OnGUI: System.Exception: Error, current Game.GameVersion is 502 and trying to load world of version 503
  at World.DeserializeWorldMetadataFrom (.ArcenDeserializationBuffer InputBuffer, Boolean IsFromTheNetwork) [0x00000] in <filename unknown>:0
  at World.LoadWorldFromDisk (System.String WorldFilename) [0x00000] in <filename unknown>:0
  at MainMenu.LoadGame (System.String WorldFilename, Boolean DoTransitions) [0x00000] in <filename unknown>:0
  at MainMenu+<SubclassInit>c__AnonStorey2B.<>m__C6 () [0x00000] in <filename unknown>:0
  at ArcenQueuedButtonClickDelegate.Execute () [0x00000] in <filename unknown>:0
  at ArcenGUIManager.DrawGUI () [0x00000] in <filename unknown>:0
  at MainCameraLogic.OnGUI () [0x00000] in <filename unknown>:0
Stack Trace: at World.DeserializeWorldMetadataFrom (.ArcenDeserializationBuffer InputBuffer, Boolean IsFromTheNetwork) [0x00000] in <filename unknown>:0
  at World.LoadWorldFromDisk (System.String WorldFilename) [0x00000] in <filename unknown>:0
  at MainMenu.LoadGame (System.String WorldFilename, Boolean DoTransitions) [0x00000] in <filename unknown>:0
  at MainMenu+<SubclassInit>c__AnonStorey2B.<>m__C6 () [0x00000] in <filename unknown>:0
  at ArcenQueuedButtonClickDelegate.Execute () [0x00000] in <filename unknown>:0
  at ArcenGUIManager.DrawGUI () [0x00000] in <filename unknown>:0
  at MainCameraLogic.OnGUI () [0x00000] in <filename unknown>:0
TagsNo tags attached.
Internal WeightFix Before Major Release

Activities

jerith

Sep 29, 2011 7:01 pm

reporter   ~0014753

I think it's fair for the game to not understand data that hadn't been invented yet when it was around, but it should note its confusion with a friendly warning instead of a stack trace...

Chris_McElligottPark

Sep 29, 2011 7:01 pm

administrator   ~0014754

We'll have to just make it so that it shows a message when the version is older -- thanks. But loading newer saves in older versions will never be something that works, it's just a cleanliness thing in making it show a message instead of crash.

GrimerX

Sep 29, 2011 7:03 pm

reporter   ~0014756

Yup, agreed. Polish thing.

GrimerX

Sep 29, 2011 7:09 pm

reporter   ~0014758

@jerith -- this is part of what I do in my day job :-) Having multiple versions of our system running (and multiple versions of data schema) simultaneously is a normal condition. But not something I'd want to tackle unless I have to :-)

jerith

Sep 29, 2011 7:18 pm

reporter   ~0014767

GrimerX: Likewise. I know how hard this kind of thing is to get right, which is why I have so much respect for the Arcen crew who pull it off with style, panache, and the best damned customer support in the PC gaming industry. And they build great games, too. :-D

Chris_McElligottPark

Sep 29, 2011 7:23 pm

administrator   ~0014769

Thanks for the kind words! And, of course for all the help -- part of the reason we pull this off at all is the legion of folks like yourselves who go above and beyond to help out. Seriously.

GrimerX

Sep 29, 2011 7:27 pm

reporter   ~0014772

@jerith - Amen :-)
@x4000 - Thanks for letting us. It's quite unique, and one of the things I love about Arcen Games.

Chris_McElligottPark

Sep 29, 2011 7:34 pm

administrator   ~0014774

It's my pleasure. It's one of those things that is REALLY hard to do at first -- back when I was in the first 2-3 months of post-release for AI War, it was very emotionally difficult for me to accept so much criticism.

But I pushed on through, and it really became obvious that people were criticizing out of a genuine desire to help and a love of the game. And I realized I was just as critical of it as them, for the same reasons, but I wasn't catching nearly everything on my own.

And past that point I mostly stopped having emotional reactions to it at all. Sure there's sometimes something I feel strongly about and an argument gets heated or whatever, but that's really pretty rare. Mostly it's just data input, and really valuable data. Aside from stuff with the art -- I'm finding I still have really emotional reactions to critiques of the art for whatever reason.

That initial hurdle of difficulty is something that I think keeps more developers -- indie or otherwise -- from doing it. It's easier to set yourself at a distance from players, and I think the natural human tendency. I was already accustomed to working in this sort of fashion with business customers at my last job, though, so it seemed natural to carry it over to here. Come to think of it, the business customers thought it was unusual, too. I'm not sure where I got it -- I think my old boss really was the one who started it, perhaps. He's a really good guy and we're still friends.

jerith

Sep 29, 2011 7:56 pm

reporter   ~0014783

One of the most important lessons I've learned as a programmer over the years (right up there with revision control and automated tests) is to decouple criticism of my code from criticism of me personally. Lots of people read "this code is doing something stupid" as equivalent to "you did something stupid in this code", and then they get defensive instead of looking for ways to improve things.

A couple of months of having a public bug tracker with lots of random strangers opening tickets (or a handful of code reviews from mithrandi) does wonders for your outlook on such matters. (Or it leaves you a shattered wreck. But that's a risk you just have to take.)

It takes a special kind of person to not only convince customers to take on a whole lot of testing work, but to actually pay for the privilege. Part of it is that you're so open about your processes and what it is you're working on at any given time. Part of it is that you have an insanely short turnaround time on fixing problems and implementing suggestions. Part of it is that you have a really solid base to build on. Part of it is that you really care about building a quality product, and you obviously love doing it. There's probably more to it than that, but you've kept me up way past my bedtime already and my brain's starting to shut down. I'll expect three new releases to be waiting for me in the morning, with all sorts of fantastic new features in them. :-P

Chris_McElligottPark

Sep 29, 2011 9:13 pm

administrator   ~0014791

Cheers. :)

Issue History

Date Modified Username Field Change
Sep 29, 2011 6:56 pm GrimerX New Issue
Sep 29, 2011 7:01 pm jerith Note Added: 0014753
Sep 29, 2011 7:01 pm Chris_McElligottPark Note Added: 0014754
Sep 29, 2011 7:03 pm GrimerX Note Added: 0014756
Sep 29, 2011 7:09 pm GrimerX Note Added: 0014758
Sep 29, 2011 7:18 pm jerith Note Added: 0014767
Sep 29, 2011 7:23 pm Chris_McElligottPark Note Added: 0014769
Sep 29, 2011 7:27 pm GrimerX Note Added: 0014772
Sep 29, 2011 7:34 pm Chris_McElligottPark Note Added: 0014774
Sep 29, 2011 7:56 pm jerith Note Added: 0014783
Sep 29, 2011 9:13 pm Chris_McElligottPark Note Added: 0014791
Sep 30, 2011 5:59 am tigersfan Internal Weight => Fix Before Major Release
Sep 30, 2011 5:59 am tigersfan Assigned To => Chris_McElligottPark
Sep 30, 2011 5:59 am tigersfan Status new => assigned
Jan 26, 2012 3:08 pm tigersfan Status assigned => resolved
Apr 14, 2014 9:27 am Chris_McElligottPark Category Bug - Crash or Exception => Crash/Exception