Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs

Empire Deluxe Combined Edition

The latest in the classic Empire Series of games, which has spanned almost five decades. · By Killer Bee Software

Move Saved Game in Progress

A topic by gfilipski created Jan 06, 2020 Views: 188 Replies: 12
Viewing posts 1 to 6

Hello All!

How does one move a saved game from one machine to another...   for instance, I start a game on my laptop while travelling (Windows) and want to finish it on my desktop (Linux).  I'm assuming that there is some way to do this.  It's fairly easy to find the 'saves' folder on both Windows and Linux (Administration => Directories), but there seems to be a suite of three directories under 'saves'.  Do I just do a "parallel copy" of the directories and simply add the files from one machine to the files from the other?  Is there something else that needs to be done?  Has anyone tried this?

I'm assuming that this is possible...  without heinous consequences.

Thanks for any info,

Gary

Developer

For saves, you have to create an "archive" then "restore" it.  This is done in the game loading page. Check the manual for that info. Here's a quick rundown:

To make/send an archive, follow these steps:

  1. Off the Main Menu, Go to the Load Game Screen.
  2. Find the game in question. You  will see an "A" button for archiving 
  3. Click on the A Button, and enter an archive name.
  4. Find the <GameData Directory> location, which can be looked up in the Administration Screen (Directories Button). that is where the file would be under archives.
  5. Then on the other machine, put the file in the same archive location. Then use the load screen to "Restore".

Thanks for the info on this...  my first reaction was to just copy files.  I never associated an archive with the way to move a game from one place to another - just concentrated on the 'save'.

The game restored fine -- and played w/o changes, but the background color on the command buttons and the info bar at the top changed from the standard black to what appears to be one of the colors I picked for my pieces...  (?)  Not disabling, but strange.

Thanks, again...

Gary

(1 edit)


Attempted to follow your directions again for a second game and came up with the above.  Any ideas?

The only thing that I can think of that was different (other than this was a new laptop and the game was the first game played) was that the game would come up at end of turn and I would say "wait" before proceeding and then did the game archive.

I haven't fiddled with anything else so if you need any other info please let me know.

Sincerely,

Gary

PS: No, I don't go looking for these things...   Game archived on Win10, loaded on Ubuntu 16.04 LTS - both the latest version.

Developer

Sounds like a timing issue, you might try to create an archive again on the source machine then move it over. Also see if the game loads on the source machine.

I went back to the laptop and re-archived the game...  then played a bit more (IE, past the end-of-move condition) and the re-archived (different archive name).  Played a bit more and then re-archived (again with a different name).  The archive files were copied over the windows network to the Ubuntu machine and then moved to the ~/.config/... directory.  I tried loading each of the archives - each time starting the game from the desktop - and it failed with the "object not found" message each time.  I also tried deleting the game from the "Load game" list that comes up before restoring the archive and got the same result.  I also did a binary compare between the windows network shared version (which was created via a copy/paste in Explorer from the Win10 laptop) and the copy over in Ubuntu ~/.config and the files are identical so there was no translation or failure in the copy (unless windows screwed up the copy/paste from the laptop local drive to the network location).

In short the following were all tried:

  1. Re-archive & load from the "turn is finished - wait" condition
  2. Re-archive & load from the start of the next move.
  3. Re-archive & load from several turns & moves later.
  4. Went back to the laptop, removed the game from the 'load list' & restored the archived game to the laptop (replacing what was there) - this worked fine - game loaded without problem.

The first two and fourth were loaded both before & after removing the previous restore from the "load list".  All attempts to load were the first thing done after the game was started from the desktop.

I'm guessing I'm not making some brain-dead error in the process because the laptop loads the archive just fine & I'm doing the same thing over on the Ubuntu system.  This is only the second time I've tried to move a game -- the first time it worked great -- although that old laptop died and this is a different Dell.


Not sure where to go from here... 

Gary

Developer

No it is not you. 

I take it there is nothing different about the Unbuntu set up on  such as a modified unit set or such. 


If you run it again to get the error.Send me the the data in the log dir  on the Unbuntu machine. This is in <Game Data Dir>/logs.   


Do you have a mirrored player account on that machine? Have  you exported it and loaded it using the Administration screens.?

> I take it there is nothing different about the Unbuntu set up on  such as a modified unit set

Hmmm...   yes - I've changed the air transport on both independently loaded machines to distance 3 for 8 moves which is pretty much standard for me now.  I'm virtually positive that I did NOT name the unit sets the same... if I changed the name at all.

> Do you have a mirrored player account on that machine...

Not sure what you mean by this.  I've created an account named "Gary" on both machines.  Never imported or exported any accounts.

> If you run it again to get the error.Send me the the data in the log dir

I can send the whole file, but I looked at the most recent one and it has trouble at the end with (surprise!) the air transport:

AIService: Adding MM:EDIE complete 1 entries
AIService: Adding AI:Expand
AIService: Adding MM:Expand complete 2 entries
AIService: Adding AI:EnhancedStandardAI
AIService: Adding MM:EnhancedStandardAI complete 3 entries
FrontGUIManager: DebugLog_.txt
GameLoader: UDB Key: 3_Move_Air_Transport
GameLoader:  Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at com.kbs.empire.newengine.data.data.APGHPJGLGIJ..ctor (com.kbs.empire.game.id.MJMBAOIDJHH FDOBCGHAGDK, LMHNANPEPGE EAMOKIGKCIA, LMHNANPEPGE NLJBJGBKCBJ, com.kbs.empire.game.unit.FGAMHEJMFML HPJNMOFFNDL, com.kbs.empire.newengine.data.terrain.JABMMJLCGHP AAEMJDBPDOP, EJKPFBLIHNC ONCGPNNBLDC) [0x00000] in <filename unknown>:0
  at com.kbs.empire.newengine.engine.ODCCHHMODIL..ctor (com.kbs.empire.newengine.engine.PIGMHDLFDPJ GEPBGBLKKOC, com.kbs.empire.game.unit.FGAMHEJMFML HPJNMOFFNDL, com.kbs.empire.newengine.data.terrain.JABMMJLCGHP AAEMJDBPDOP, com.kbs.empire.newengine.setup.HAOEECGPAAN BIENDGNKKCJ) [0x00000] in <filename unknown>:0
  at com.kbs.empire.newengine.start.EDOCHIGJAIB.run () [0x00000] in <filename unknown>:0
  at com.kbs.empire.newengine.data.data.APGHPJGLGIJ..ctor (com.kbs.empire.game.id.MJMBAOIDJHH FDOBCGHAGDK, LMHNANPEPGE EAMOKIGKCIA, LMHNANPEPGE NLJBJGBKCBJ, com.kbs.empire.game.unit.FGAMHEJMFML HPJNMOFFNDL, com.kbs.empire.newengine.data.terrain.JABMMJLCGHP AAEMJDBPDOP, EJKPFBLIHNC ONCGPNNBLDC) [0x00000] in <filename unknown>:0
  at com.kbs.empire.newengine.engine.ODCCHHMODIL..ctor (com.kbs.empire.newengine.engine.PIGMHDLFDPJ GEPBGBLKKOC, com.kbs.empire.game.unit.FGAMHEJMFML HPJNMOFFNDL, com.kbs.empire.newengine.data.terrain.JABMMJLCGHP AAEMJDBPDOP, com.kbs.empire.newengine.setup.HAOEECGPAAN BIENDGNKKCJ) [0x00000] in <filename unknown>:0
  at com.kbs.empire.newengine.start.EDOCHIGJAIB.run () [0x00000] in <filename unknown>:0
FrontGUIManager: DebugLog_.txt
Closing Log

So, I guess the question is, do you really need the whole thing given the above?  The archive files themselves are not that big (2.5 MB).  I'd just started the game and hadn't played very far.  If I lose the game I won't fall into a fit of despair or anything.  I might have a 2nd glass of wine though...  :-)

Let me know how/if you want to proceed...

Thanks!

Gary

Developer

the above is fine.

Developer (1 edit)

From what you have written,  and correct me if I am wrong:

"I've changed the air transport on both independently loaded machines to distance 3 for 8 moves which is pretty much standard for me now.  I'm virtually positive that I did NOT name the unit sets the same... if I changed the name at all."

This tells me you created a unit db on the linux box in the game on the linux box.  Databases are dependent on matching up via a key. The key for this database on your PC is:  

xxxx3_Move_Air_Transport

where xxxx is a four digit number.  This number is random when generated. 

If you built the DB on the Linux box instead of copying over the appropriate files/folders, this would cause the crash as the keys would be different. Databases need to come from a single source.

On the PC box , in the <GameDataDir>/udb  is where  the database set for this "xxxx3_Move_Air_Transport" resides. There will be a key file and an assets directory.  Those need to be copied, and moved to the same udb dir on the Linux box.


--Mark

Mark,

> This tells me you created a unit db on the linux box in the game on the linux box.

I'm not sure what you mean when you say "in the game on the linux box".  I went to "Unit Modification", started with the enhanced set, made changes to the air transport and then saved it as "Enhanced Air Transport".  I select that unit set when I start a new game there.  On the laptop (*I THINK*) I did the same thing, but it's saved as "Enhanced Set Copy".  So, yes, they would be two independent DB entries.  While looking for this I noticed that there doesn't seem to be any way of determining what unit set is in play once a game has been started... I don't know if anyone would care given you can name things anyway you want, but it might be nice to know if you're playing multiple games with different sets.

> need to be copied, and moved to the same udb dir on the Linux box

I'm assuming that doing the opposite (Linux udb => Windows udb) would also work...  but not for this specific game - just to avoid problems in the future.

What other sorts of things should be copied to avoid future problems?  Is it possible to just copy the whole EmpireDeluxe directory from KBSW? ... or are there system specifics in there?

Making the assumption that I really don't care about the settings on the Windows laptop other than I'd like it to "feel" the same as the Linux box (probably all settings - especially the keyboard shortcuts I've defined) - and be able to move games started on the Windows Laptop and then move them over to the Linux box - what *should* be copied?  Is there some menu-driven way of accomplishing this?  Is this something that's inherently difficult or fraught with error(s)?  Would moving an "account" do this?  Is this enough questions?  :-)

I will often start a game on the laptop when I'm not at home & bored stiff, and then want to finish it on the linux desktop because it's much easier to use the keyboard & mouse on the desktop instead of the pseudo keyboard & trackpad on the laptop.

I'm happy to be a guinea pig if you want one.

Thanks,

Gary

Developer (1 edit)

There's some information in the manual as far as what makes up a modified database and how to move them.  Just setting the changes in two places definitely does not do it..it is designed for one person to own their modified DB and distribute it when they wish. This was broken for you as your motivations are different - you want just replication. 

Moving the entire Empire Deluxe copies the entire data collection, so that would work. It is all text, no binary files so any of the directories can be copied over.  For just saved games,  A copy of the saves directory might be easier (assuming the DB is  already copied over). This will have the same affect as an archive, with less but more technical steps. 

Mark,

Thanks for your help with this!  I read the back-end part of the manual (only about the third time now) and have a much better feel for things.

Copying the entire KBSW/EmpireDeluxe directory from my desktop (Ubuntu) to the  laptop (Win10) worked great!  I now have the same settings in both places, including the account and keyboard settings.

Thanks again,

Gary