Front Office Football Central  

Go Back   Front Office Football Central > Archives > FOFC Archive
Register FAQ Members List Calendar Mark Forums Read Statistics

Reply
 
Thread Tools
Old 09-28-2005, 04:31 PM   #1
WSUCougar
Rider Of Rohan
 
Join Date: Jul 2001
Location: Port Angeles, WA or Helm's Deep
Question Saved Games vs. Patch/Version Upgrades

Three-pronged thread.

First, a basic "why" question, based on my very limited comprehension of game programming issues: Why is it so difficult from a programming perspective when upgrading a game (via patch or a new version) to similarly convert the information in a saved game file?

Secondly (and this is dependent upon the first question), why is this seemingly a low priority from the game developer/programmer perspective, when it often is so high from a game player's standpoint?

Finally, as a discussion topic, how important is this to you as a gamer? For me, it varies from game to game. The thought of losing the continuity of IHOF should there be a new FOF version is brutal, such that I probably wouldn't even want to do it. Other games that have deep "buy in" to career mode (such as CM/FM, TCY, OOTP) spring to mind.

Any opinion on this?
__________________
It's not the years...it's the mileage.

WSUCougar is offline   Reply With Quote
Old 09-28-2005, 04:37 PM   #2
Cringer
Grizzled Veteran
 
Join Date: Oct 2000
Location: Edinburg,TX
As a gamer, it is not too important when it comes to solo play for me to have this ability to carry over a saved game. It would be nice, as far as text sims, but I can live without it.

But with FOF, there is now the MP angle to think about. Running the Imperial League is something I love, and I love the group of owners we have. A new version would clearly have to have the ability to continue with the next game, since I can't see an end to this league for a long time. But, on the positive side, everyone in the league already has the game, so if it is a must to continue on this version of FOF when a new one came out.
__________________
You Stole Fizzy Lifting drinks! You bumped into the ceiling which now has to be washed and steralized, so you get NOTHING! You lose!
Cringer is offline   Reply With Quote
Old 09-28-2005, 04:40 PM   #3
stevew
Hall Of Famer
 
Join Date: Dec 2003
Location: the yo'
I did like the fact that Markus didnt require you to buy 6.5 in order to continue in an online league using that had switched(you can still use 6.1x). Stuff like that goes a long ways toward good will. If the new FOF came out, and wasnt compatable, id be pretty dissapointed.
stevew is offline   Reply With Quote
Old 09-28-2005, 04:50 PM   #4
JonInMiddleGA
Hall Of Famer
 
Join Date: Nov 2000
Location: Behind Enemy Lines in Athens, GA
I'll leave the first two questions to the experts, but I'll offer my personal view of the third one.

For me, the importance depends on a)what the changes are & b) what the status of my current career/campaign is.

If the game was unplayable or there was nothing I considered "active" in my mind, then no biggie about forward compatability. If I've got something still running & there's no showstoppers to be fixed by the patch, then I usually avoid patching until whenever I've abandoned any interest in the active career.

In a case like the EHM situation today, I'll simply avoid the patch until whenever I'm satisfied that I've finished my Gwinnett Gladiators campaign & then get it later. It's disappointing but not devastating.
__________________
"I lit another cigarette. Unless I specifically inform you to the contrary, I am always lighting another cigarette." - from a novel by Martin Amis
JonInMiddleGA is offline   Reply With Quote
Old 09-28-2005, 04:53 PM   #5
WSUCougar
Rider Of Rohan
 
Join Date: Jul 2001
Location: Port Angeles, WA or Helm's Deep
Quote:
Originally Posted by JonInMiddleGA
If I've got something still running & there's no showstoppers to be fixed by the patch, then I usually avoid patching until whenever I've abandoned any interest in the active career.
I guess this is the crux of the issue to me. I tend to invest myself in just a few very deep careers, rather than cranking out a bunch of different ones. Thus the patch vs. saved game dilemma tends to give more grief if it rears its head.
__________________
It's not the years...it's the mileage.
WSUCougar is offline   Reply With Quote
Old 09-28-2005, 05:01 PM   #6
Buzzbee
College Starter
 
Join Date: Jun 2002
** DISCLAIMER **

Not a programmer, but I did stay at a Holiday Inn Express.


My initial guess is that a new version will likely have a new database structure with new fields and new data. While it programatically might be possible to convert the old save file, it probably isn't worthwhile to take the time and make the effort to do so. Depending on how things are coded, I imagine you might have to

1) create temporary tables in a database,
2) copy the old save game data into those tables
3) fill in any missing data as a result of new fields
4) copy the old save game data from the temporary tables into new tables, making sure to not overwrite any necessary data in the permanent tables
5) delete the old tables to free up space/resources.

To write that process would take up a bunch of time that could be better spent on improving the game.

EDIT: Also, it might not even be possible to fill in data that wasn't in the previous version, so the process might not even be feasible. END EDIT

As for patches, if a new field was added as a result, then you'd run into the scenario above. If it is simply a code change, it might be possible to use an old save game, depending on what was changed.
__________________
Ability is what you're capable of doing. Motivation determines what you do. Attitude determines how well you do it. - Lou Holtz

Last edited by Buzzbee : 09-28-2005 at 05:03 PM.
Buzzbee is offline   Reply With Quote
Old 09-28-2005, 05:06 PM   #7
Solecismic
Solecismic Software
 
Join Date: Oct 2000
Location: Canton, OH
Here's the big one: modifiying new AI routines to handle data fields that didn't exist in the old version.

I wouldn't even consider the issue for an SP-only game.

MP is another story. The AI is less important in the MP world, and continuity is much more important.

So, I would handle it by developing a program that could convert old saved MP universes to the new format. And that's probably as far as I'd go. I would not integrate the program into the game - it would be a separate add-on installed along with the game.
Solecismic is offline   Reply With Quote
Old 09-28-2005, 07:12 PM   #8
WSUCougar
Rider Of Rohan
 
Join Date: Jul 2001
Location: Port Angeles, WA or Helm's Deep
Question

Quote:
Originally Posted by Solecismic
Here's the big one: modifiying new AI routines to handle data fields that didn't exist in the old version.
So in grossly-oversimplified layman's terms, the AI in the original version looks for five data fields but in the updated version it looks for six?
__________________
It's not the years...it's the mileage.
WSUCougar is offline   Reply With Quote
Old 09-28-2005, 08:08 PM   #9
gstelmack
Pro Starter
 
Join Date: Oct 2000
Location: Cary, NC
From my perspective as a tactical FPS developer:

There are a couple of possible issues that can make saved game support difficult. One common issue is caused by new features or even bugs in old ones. What default value do you put in for a new field required for new features in the game? Or what default value do you use if you ship and discover later you missed a field? Those are often the types of changes that break saved games for us.

But it is entirely possible to work around the problem. Version your saved games, and have your read routines handle all possible versions (going back to the last breaking one). When reading older versions, supply an intelligent default of some sort, and if you can't that's where you have to break things off. The common mistake for new developers is forgetting to put the versioning support in from day one, but you tend to only make that mistake once.

Fortunately, I don't have the problems Jim does, where you go to a whole new version of the game with a differing game design, but still want to continue games saved with an older version. The closest I've come is with mission packs, which tend to add features but aren't a complete rework of the engine. I can't even imagine trying to support saved games across sequels, but the approach he described (convert to a new saved game once and be done with it) is about the only one with a chance of success. The complicating factor here is making sure you don't radically alter the structure of the game. For example, if you're adding a new player attribute, you need to set it in such a form that a star QB in the old universe doesn't suddenly tank thanks to the switch to the new version. This is similar to the "what default value do you provide?" quandary I mention above.

The fun part is testing all this. You've got to save games in all kinds of situations with all different versions you've shipped, and then verify they load in the new version. Our saved games are pretty complex, as we're saving the complete state of a real-time physical simulation (dealing with things like grenades in the air, people in the middle of reloading their weapons, what the AI is thinking) and trying to make sure that saving/loading the game does not give the player an advantage (think of the Rome: Total War issue where saving a campaign caused the AI to "forget" its current strategy and abandon sieges). This makes testing saved games in the single version configuration complex, as now you're adding lots of versions to the mix.
__________________
-- Greg
-- Author of various FOF utilities
gstelmack is offline   Reply With Quote
Old 09-28-2005, 10:18 PM   #10
Solecismic
Solecismic Software
 
Join Date: Oct 2000
Location: Canton, OH
You can retrofit versioning support. It's a little harder, but I've done it many times. The key is to make all adjustments in the open function right off the bat.

However, setting an intelligent default value isn't so easy. In many functions, you need variety among the data set. Setting everything to a median default value (or to a zero) can play havoc with the AI.

Sometimes, like with the "number of championship rings" variable I added with FOF 2004 5.1 (or thereabout), setting a default of 0 for everyone works just fine. But if it were a player rating, not so fine. You'd need to insert a random rating distribution function (fortunately, I have a lot of those already in the code - many of the FOF ratings use vasty different distribution models).
Solecismic is offline   Reply With Quote
Old 09-28-2005, 10:44 PM   #11
Buzzbee
College Starter
 
Join Date: Jun 2002
Quote:
Originally Posted by WSUCougar
So in grossly-oversimplified layman's terms, the AI in the original version looks for five data fields but in the updated version it looks for six?

And to extend that, the data in that sixth field has to be created (since it isn't in the original save file). That's what is tricky, because you can't necessarily set everything to 0.

If that new field was an 'intimidator' rating, you can't just go assigning random values because player ratings would change from the old save to the new version (since the new AI would use the aggregate ratings to come up with an overall. Joe "Mad Cow" Holstein might drop from an 85 rating to a 74. Joe Wolfe might change from a 52 to a 60.

Therefore to retrofit, you'd have to create a routine to assign an 'intimidator' rating based on the players overall rating so that the new Intimidator rating didn't affect the balance of the old save game. It just isn't worth it.

That is just one extreme example, but demonstrates the complexity. Patches are somewhat easier (I believe) because they don't usually involve database structure changes. However, even then a small code change can have big ripple effects as that code might be executed numerous times.
__________________
Ability is what you're capable of doing. Motivation determines what you do. Attitude determines how well you do it. - Lou Holtz
Buzzbee is offline   Reply With Quote
Old 09-28-2005, 10:51 PM   #12
cuervo72
Head Coach
 
Join Date: Dec 2002
Location: Maryland
Quote:
Originally Posted by Buzzbee
If that new field was an 'intimidator' rating, you can't just go assigning random values because player ratings would change from the old save to the new version (since the new AI would use the aggregate ratings to come up with an overall. Joe "Mad Cow" Holstein might drop from an 85 rating to a 74. Joe Wolfe might change from a 52 to a 60.

In this case, I think I'd just write a function that based it (in part) off of leadership and play to win.
__________________
null
cuervo72 is offline   Reply With Quote
Old 09-29-2005, 06:12 AM   #13
WSUCougar
Rider Of Rohan
 
Join Date: Jul 2001
Location: Port Angeles, WA or Helm's Deep
Quote:
Originally Posted by cuervo72
In this case, I think I'd just write a function that based it (in part) off of leadership and play to win.
Yeah, but you design pink flamingo helmets, so what do you know?
__________________
It's not the years...it's the mileage.
WSUCougar is offline   Reply With Quote
Old 09-29-2005, 06:57 AM   #14
Icy
Pro Starter
 
Join Date: Sep 2003
Location: Toledo - Spain
I agree that the problem is when the new patch adds new field to the database as you can't random fill them for the existing savegame without affecting a it lot.

Btw, Gstelmack you made me curious, which tactical FPS are you developing? do you work for a known one?
Icy is offline   Reply With Quote
Old 09-29-2005, 07:57 AM   #15
cuervo72
Head Coach
 
Join Date: Dec 2002
Location: Maryland
Quote:
Originally Posted by WSUCougar
Yeah, but you design pink flamingo helmets, so what do you know?

I know how to design pink flamingo helmets.
__________________
null
cuervo72 is offline   Reply With Quote
Old 09-29-2005, 08:52 AM   #16
gstelmack
Pro Starter
 
Join Date: Oct 2000
Location: Cary, NC
Quote:
Originally Posted by Icy
Btw, Gstelmack you made me curious, which tactical FPS are you developing? do you work for a known one?

I don't talk about it much as I'm here as a fellow sports fan, fan of FOF and some of the other text sims, and general right-wing conservative nutbag, not as a company rep (i.e. I don't want to and in most cases CAN'T answer questions about the products, etc). But a quick web search will turn up your answer...
__________________
-- Greg
-- Author of various FOF utilities
gstelmack is offline   Reply With Quote
Old 09-29-2005, 09:14 AM   #17
Buzzbee
College Starter
 
Join Date: Jun 2002
For the lazy, I found this:

http://www.roguespear.com/logs/
__________________
Ability is what you're capable of doing. Motivation determines what you do. Attitude determines how well you do it. - Lou Holtz
Buzzbee is offline   Reply With Quote
Old 09-29-2005, 09:37 AM   #18
gstelmack
Pro Starter
 
Join Date: Oct 2000
Location: Cary, NC
Quote:
Originally Posted by Buzzbee
For the lazy, I found this:

http://www.roguespear.com/logs/

Hehe. I haven't been to work at 8AM since my daughter was born. And boy did this bit stir up a firestorm:

Quote:
Originally Posted by me
A3D 2.0 is a wavetracing standard. To support it, we'd have to munge our geometry and pass it down to their API. This is not an easy task with our maps and so is not going to happen any time in the near future.

I had some fun discussions with the Aureal guys over that one...
__________________
-- Greg
-- Author of various FOF utilities
gstelmack is offline   Reply With Quote
Old 09-29-2005, 09:52 AM   #19
Icy
Pro Starter
 
Join Date: Sep 2003
Location: Toledo - Spain
Wow gstelmack, i did a search and awesome curriculum, congratulations on the awesome games you have worked in. I'm a big fan of realistic tactical games and have playerd some of those, i'll look at you with other eyes from now
Icy is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is On
Forum Jump


All times are GMT -5. The time now is 09:24 PM.



Powered by vBulletin Version 3.6.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.