[SOLVED] Sharing/Merging AGS save with another PC

Started by Thanyx, Thu 21/09/2017 15:04:09

Previous topic - Next topic

Thanyx

Dear colleagues,

I'm currently working on my game on my main PC. I would like to work on it also on my laptop.

I wonder, how to share or merge my saves in both machines?

And what if I make, for instance, one room on PC and then other room on my laptop, will I be able to merge both saves together?


eri0o

#1
I currently use bitbucket to share my project between multiple machines and do version control on the code. You could probably do the same with Dropbox, but version control on Dropbox is a paid feature :/

Bitbucket is an online code repository product from Atlassian that allows creating private code repositories with ease, for free, including Git, which is my favorite version control software. I do dev on Linux but on Windows it's as simple as downloading git from the website - I just don't know how to configure ssh keys on Windows. Anyway, I know it may sound complicate but it really isn't, if you are interested I can try to help online.

Thanyx

Thank you for your reply, Eri0o.

And how do you do it with sprites and stuff?

The problem is, I use different folder for pictures than AGS default folder for game itself.


Crimson Wizard

#3
First of all, as the most straightforward solution, you could simply copy all necessary files to hosting like dropbox or google drive every time you end working on current machine (Or use a flash drive, if internet connection may be absent).
Of course this approach gives you little control over versions of your game, but then again, a lot of people seem to not use any (except for regular backups) and being fine with it.

If copying all files at once is a problem, and you want to copy only modified parts:
* modified scripts and Game.agf file (it contains dialogs, characters, etc descriptions of global entities in game) are text files that may be merged using tools like WinMerge or KDiff.
* new script modules may be copied and then imported into game project.
* new rooms may be copied and then imported.
NOTE: you only need to manually import rooms and script if you do not merge Game.agf. If you did, AGS will already expect these new modules to be present, so you just need to have them in folder.


Speaking of version control systems, they may greatly simplify sharing the project files once you learnt how to use it (may still take time). But there will be other issues with it. AGS is still not fully fit for version control because the rooms are saved as binary "blobs", and whenever you change a single thing in there version control thinks it's a completely new file. This causes their repositories increase in size rapidly, because they have to store history of all the changes (this is especially noticeable in hi-resolution projects with many rooms).

Real life example: I move one object in the room, and size of storage increases by 1-1.5 MB.

Same goes for game's sprites file, especially if it's compressed, version control seem to not being able to deduce that only part of it has changed, so every time you add 1 small sprite, repository may increase in many MBs.

For that reason, personally I exclude sprite file and rooms from version control (keep them as a separate archives with date in their name), but leave room scripts there, which are still texts.

eri0o

#4
I throw everything on bitbucket but I trade graphics using whatever means (Google Drive, Slack, Email, ...)

I use  .gitignore to prevent versioning compiled game, the project lock and the backup files.

The reason I chose git over other systems is that I have been using for seven years already on day job in different companies, so I was already familiar with while being free was also a plus.

Edit:

My game repo has currently 123MB and my game binary has 108MB, so I am not sure about the 1MB increase per object.

Google Drive supports versioning for free. Maybe you can use it and it will be easier.

Crimson Wizard

#5
Quote from: eri0o on Thu 21/09/2017 17:11:29
My game repo has currently 123MB and my game binary has 108MB, so I am not sure about the 1MB increase per object.

The game I was testing this out with is 1024x768 (that means large room backgrounds), and I was checking repository size after making commits. Every time I change something in a room, even if a property of a single object, it increased by the size of that room file (1-2 MB). That may not be a big deal if repository is on my HDD, but online services like bitbucket and github have limited storage for free accounts, so I was worried how large it may become, as game is still in the middle of developement and things are adjusted very often.

With sprites it was even worse, I added a single small sprite and repository became about 60 MB larger.

Maybe I was doing something wrong, or there are repository settings I am not aware about, but this all made me paranoid, so I excluded all binaries from repository and just left scripts there.

NicolaGs

Quote from: Thanyx on Thu 21/09/2017 15:04:09
I'm currently working on my game on my main PC. I would like to work on it also on my laptop.
I do the same. The solution I use is a free sync program called SyncThing.
You set it up in order to have one (or more) synchronized folder on both machine (e.g the AGS game folder). Each modified file is then updated on the other machine. The only important thing is that you need to have both PC running at the same time to sync files (it doesn't save the file on the cloud), but the process is fast.
The program can even keep archives of the previous updates if you need to "undo" a modification.
I'm very happy with this setup which saves me a lot of time...

I also sync my "save games" folder. That way, I can play AGS games on both machines (including my project) and use the same savegame files...
My first game : I Want Out!

Gurok

I think the replies here are vastly overcomplicated. If you just want to have access to your project (saves) on two computers, you can save it to a USB stick. Alternatively, you could save it to a network share on a home NAS if you have one, or just share a directory on one of the computers. It's a good idea to keep a backup, and cloud storage is good for this, but if the question is "how do I work on a game on two computers", source control and working from a cloud share is overkill IMHO.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Cassiebsg

Yeah, I just copy the files to an usb pen when I want to work on my HiBook, and then back to the work pc once I get home. Works fine... plus you get and extra backup' ;)
There are those who believe that life here began out there...

Thanyx

Thank You all for your replies. I thought that USB copy paste will do it, but I was afraid that it wont be enough. Appeeciate your help.


SMF spam blocked by CleanTalk