Question about how GS's internal file structure works...

Hey all, I've got a random question for you. I'm someone who backs up and saves their projects often. However i've noticed that some changes you make in your project actually affect all previous save files as well.

Example: If I delete an image from my IMAGES section of GS then that deleted image will not be in any prior version as well. It appears that each save file is still connected to some kind of internal library.

So because i don't understand how this all works, i'm scared to try new things with my game. For instance i want to try and convert my game from legacy to iphone 5 dimensions, but i'm nervous it might screw up the game (due to the above mentioned example).

Can anyone explain why it does this and also how can we make radical changes/experiments to our game with zero concern of affecting all previous versions.

Thank you so much!

Comments

  • SocksSocks London, UK.Member Posts: 12,822
    edited February 2013
    . . . If I delete an image from my IMAGES section of GS then that deleted image will not be in any prior version as well.
    Are you sure !? I can't see that being the case, I don't know of any file structure on any operating system that would (that could) behave this way . . . . hold on going to test this . . .
    . . . how can we make radical changes/experiments to our game with zero concern of affecting all previous versions . . .
    Do you believe in the supernatural ? If not then simply store your back-ups offline / on a USB key / hard drive / dropbox (etc).
  • SocksSocks London, UK.Member Posts: 12,822
    edited February 2013
    . . . just tested:

    Made a GS project - imported 3 images - placed them on actors - placed the actors in the scene - saved it as Project 001.

    Made a couple of arbitrary changes - moved the actors around, that kind of thing - saved it as Project 002.

    Made another couple of arbitrary changes - saved it as Project 003.

    Made another couple of arbitrary changes - then deleted two of the three images - saved it as Project 004.

    Quit GameSalad.

    Opened Project 004 - only 1 image now remains - as you would expect.

    Opened Project 003, 002 and 001 - all of which still have images 1, 2 and 3 - as you would expect.

    . . . .



  • gamesfuagamesfua Member Posts: 723
    Thanks @fryingbaconstudios and @socks!
    Weird! Because this has not been the case for me. In my game i had decided to get rid of one of the levels. So i deleted the scene, the actors and the images associated with it. A few days later i changed my mind and went back to one of my old versions. Guess what- the level was there but the artwork wasn't. So if you're not experiencing these sam problems than it could mean one of two things...
    1) there's something wrong with my system and or something i'm doing
    2) that perhaps the original image files were moved from the location the level was referencing. Perhaps?

    I'm going to do an experiment and see if i can show off the problem.

    In the meantime it appears that you're saying that a saved project file (preferably zipped) should not be affected at all by other versions. I trust you guys over me. I'll get experimenting and thanks!
  • HoneyTribeStudiosHoneyTribeStudios Member Posts: 1,792
    Each save of your GS file has a separate folder for images and audio.

    (I'm talking about on a mac but I'd presume GS on windows would be the same...?)

    So even if you delete images from your save made on Tuesday (GameSave2), the file you saved on Monday (GameSave1) will be unaffected.

    However, if you open up GameSave1, delete images and *then* save as 'GameSave2' this means the images will be deleted from gameSave2.

    I find it better to 'save as' at the start of the day before I make any changes.

    I make a new save every day I work on a game. That means I may end up with a few hundred saves by the end of the game. But I think it's worth it. There have been a few times when I'd introduced a bug that seemed to break the game. So I could figure out the origin of the bug by going back to the last bug-less save.
  • gamesfuagamesfua Member Posts: 723
    edited February 2013
    @honeytribestudios thanks!
    But thats just the thing, i have literally over 100 versions of my game saved. I'm a video editor by day, so i know the importance of saving your work every five minutes (as a "save as" new version)
    The odd thing is what i've done on the latest build seems to affect the prior builds. Crazy right?!
    I'm going to test some stuff out now. Thanks again!
  • gamesfuagamesfua Member Posts: 723
    @socks and @honeytribestudios check out this quick demo movie i made of the potential problem and or idiotic thing I'm clearly doing wrong hehe. Thanks

  • HoneyTribeStudiosHoneyTribeStudios Member Posts: 1,792
    So it's as I said above.

    Once you delete an image from a file it is gone. Whether you save as or not doesn't matter.

    So you should 'save as' *before* you make any changes (like deleting files).
  • gamesfuagamesfua Member Posts: 723
    Sorry @honeytribe studios I got confused by your post... (you wrote)
    "However, if you open up GameSave1, delete images and *then* save as 'GameSave2' this means the images will be deleted from gameSave2."

    It made it appear that GameSave2 would naturally have the missing files and not gamesave1. Perhaps you meant to say that the images would be deleted from gamesave1?" This is what's throwing me because I'm thinking of it like a word document.

    I write a document called "123". In it I write, "the cat jumped over the moon."
    Then I want to make changes so I SAVE AS "123_A" and write "the cat jumped over the candlestick"
    When I go back to file 123 it will have the moon line. When I go to 123_A it will have the candlestick line.
    I think that's what's throwing me here. And apologies if I'm not getting this.

    Didn't I do what you suggested? I saved the project BEFORE making changes. I named it xyz01. Then I made my changes like deleting, and then saved AS xyz20. When I went back to xyz1 it was gone.

    Again a zillion apologies if I'm not understanding something that makes sense to everyone else haha. But I just don't understand this?
    In Final Cut Pro, if I save a file xyz1 and then delete ALL of the footage from the program, and then save as xyz20, when i go back to xyz1 the footage will be back. What am I missing?

    Thanks so much for your patience!
  • SocksSocks London, UK.Member Posts: 12,822
    edited February 2013
    Yep, like HoneyTribeStudios said, you are doing it back to front. Basically GameSalad is evil 8-X Unlike most (if not all) software, it handles files in a slightly odd way, the files are kind of 'live'.


    Everything else works like this:

    1) Open a file.

    2) Play around with its elements, change a few things, delete some images.

    3) Then hit save: the software now modifies the file on the hard drive to reflect the file that is open (the file that is currently held in RAM).



    GameSalad works like this (specifically when it comes to assets).

    1) Open a file.

    2) Play around with its elements, change a few things, delete some images - the software now modifies the file on the hard drive to reflect changes made to the assets.

    3) Then hit save: the software now modifies the rest of the file on the hard drive to reflect the file that is open (the file that is currently held in RAM).


    . . . . .


    So . . . you are deleting some images - which modifies the assets folder/s of that file, then hitting Save As and creating a second copy of this file.

    All you would have to do is to Save As and then delete the images rather than delete the images and then Save As.


    The good news is that anything you do to a currently open project has no effect on already saved projects.
  • gamesfuagamesfua Member Posts: 723
    edited February 2013
    Thanks @socks for the clarification. The more I keep rereading what you said, the more I'm sort of understanding it. It's hard for me to process, since as you've said, it's completely opposite of most programs.
    Okay so that kind of brings me back to my original concern that I'm terrified of screwing up my previous saves.
    How do I work around this? For instance if my current game has lets say 5 levels, and 20 images, but I want to make a version of the game that only has 1 level and 2 images-
    now I'm terrified of saving it because its going to potentially affect the current file, thus negating all of the work i put into it. Again, unless my brain still hasn't caught up to what you guys are saying (which lets be honest- is probably exactly whats going on here).

    Is the safe bet just not to ever delete any of the images?
    Or perhaps zip things (although I believe tests I've done showed that didn't work for this problem).

    Would this work?:
    save the file "xyz1" then SAVE AS "xyz2", then close the program. Re-open with "xyz2" and THEN I can delete the files?

    Sorry again for not getting this. I'm just utterly confused on how to safely experiment with my game and making new versions.


    EDIT: Sorry @socks I just saw the bottom portion of your previous comment. I think I understand. Essentially you must always save as before major changes, then AFFECT THAT particular file. I think I get it now. Hopefully hehe.
  • HoneyTribeStudiosHoneyTribeStudios Member Posts: 1,792
    There's nothing too much to worry about.

    At the start of your day open your file from the previous day. (Save1)

    As the 1st thing you do, Press 'Save As' and call it whatever you want. (Save2)

    Now make whatever changes you want.

    If you decide to go back to Save1 it will be as you expected it to be.

  • gamesfuagamesfua Member Posts: 723
    @honeytribestudios and @socks, as always, incredible help. Thank you very much!

    To make this easier for my brain to understand, I'm going to kind of treat deleting images as a kind of SAVE in itself. So the minute I delete an image, I'm going to imagine me clicking on SAVE. To avoid problems, BEFORE I DELETE IMAGES, I'm going to SAVE AS. Thereby only affecting the newest file.
    Wow is that confusing but I think I'm getting it.

    Is it just me or is this a completely bonker-town way of file management?
  • SocksSocks London, UK.Member Posts: 12,822
    edited February 2013
    Okay so that kind of brings me back to my original concern that I'm terrified of screwing up my previous saves.
    You can't ! It's impossible, the only way you can effect a previously saved file is to open it and modify it.
    For instance if my current game has lets say 5 levels, and 20 images, but I want to make a version of the game that only has 1 level and 2 images-
    File currently open = "Mr Jabbs Loves Biscuits 0026" - 5 levels, 20 images. All looking good, levels all working, your happy with it - Save As "Mr Jabbs Loves Biscuits 0027"

    Now you have a file called "Mr Jabbs Loves Biscuits 0027" which has 5 levels & 20 images.

    Now you want to do a smaller version - 1 level & 2 images - open "Mr Jabbs Loves Biscuits 0027" and Save As "Mr Jabbs Loves Biscuits 0027 small version"

    You now have a file called "Mr Jabbs Loves Biscuits 0027 small version" - do with it as you please, it will not effect any other saved files.
    Is the safe bet just not to ever delete any of the images?
    No, I delete images all the time, never had a problem.

    image

    Would this work?:
    save the file "xyz1" then SAVE AS "xyz2", then close the program. Re-open with "xyz2" and THEN I can delete the files?
    Yes, that would work fine, there's no need to close the program, just Save As xyz2 and carry on working on it.
    Essentially you must always save as before major changes . .
    Well strictly speaking this issue is only to do with assets, you can work away to your hearts content, changing your game, moving stuff around, designing levels, writing code, no real need to Save or Save As prior to undertaking major changes or otherwise experimenting with /changing your project . . . (etc etc) . . . and none of this will effect the file on your hard drive until you hit Save . . . except for adding or deleting assets . . . for example as soon as you delete an image it is instantly removed from the images folder within the file on your hard drive - instantly !!
  • SocksSocks London, UK.Member Posts: 12,822
    edited February 2013
    To make this easier for my brain to understand . . . .
    Just imagine the project as kind of 'live' - as if you are manipulating the file on your hard drive directly - rather than modifying a copy of it in RAM which you then write over the copy on your hard drive when you are happy with what you've done.

    Like I say, strictly speaking, the only 'live' bit is the way assets are handled, everything else works as standard.

    But if you want to work worry free simply always work on a version one iteration on from the last version - all gone well with the new hot air balloon animation ? Good, then save HotAirBalloon005 as HotAirBalloon006 and continue working away / experimenting safe in the knowledge that if you accidentally delete all the images and screw up the code you can throw the project in the bin, open up HotAirBalloon005 and Save As HotAirBalloon006 once again.
    Is it just me or is this a completely bonker-town way of file management?
    It's pretty weird, I don't know of any other software that behaves like this, but perhaps there's a good reason, hard to say.
  • gamesfuagamesfua Member Posts: 723
    @socks you couldn't have explained it better! Got it. All clear now. Thank you! :)
    As for "Mr. Jabbs loves biscuits"...
    You just came up with the sequel. I know how *horses love to sue people
    (*this fact has not been confirmed by any study)
    So don't even think about suing me! Its mine damn it! MINE!!!!!
    ;)

    Thanks again!
  • SocksSocks London, UK.Member Posts: 12,822
    edited February 2013
    I've already trademarked Mrs Jabbs™.
  • gamesfuagamesfua Member Posts: 723
    One step ahead of you my friend, @socks.
    He already has a wife named Joletta Jabbs.
    Now, a mistress... hmmm... that could be downton abbey drama right there!
    A Mrs Jabbs on the side if you will.
    How scandalous!
  • SocksSocks London, UK.Member Posts: 12,822
    edited February 2013
    The Scandalous Miss Jabbs™

    I'll get my legal team onto this one.
  • gamesfuagamesfua Member Posts: 723
    edited February 2013
    @socks hahaha!
    Okay horse you win. You win.
    This next Jabbs game is going to really go in a new direction.
    Mini games that have Jabbs clearing his cell phone history from his wife ;)

    "Jabbs loves biscuits" suddenly has a new meaning
  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922
    this has happened to me to not with images but other changes across versions. This is why I started zipping. You're not crazy, it seems to happen ralrely but has happened to me a couple time before.
  • gamesfuagamesfua Member Posts: 723
    Thanks @fryingbaconstudios I agree with your zipping. I've been doing that too whenever I can on major builds. It's good advice :)
  • SocksSocks London, UK.Member Posts: 12,822
    edited February 2013
    Thanks @fryingbaconstudios I agree with your zipping. I've been doing that too whenever I can on major builds. It's good advice :)
    Your GS file exists on your hard drive, left alone it can not, within reason, self-corrupt, by zipping (and unzipping) you introduce two extra processes that can potentially corrupt your file, it's rare to get a corrupted zip file, the process is pretty robust, but over the years I've had a few compressed files that refuse to unzip or when they do unzip the resultant file is corrupt.

    I can see no real advantage in sending your GS files through two additional processes.
  • gamesfuagamesfua Member Posts: 723
    @socks good point. Not sure if this changes anything, but the way i do it is as follows...
    I copy the project to another drive and then zip it. I never zip the project i actually work off of. I just think of it as a kind of backup.
  • SocksSocks London, UK.Member Posts: 12,822
    @socks good point. Not sure if this changes anything, but the way i do it is as follows...
    I copy the project to another drive and then zip it. I never zip the project i actually work off of. I just think of it as a kind of backup.
    If it works for you stick with it, there's probably a thousand valid ways to organise your files / backups, but out of curiosity why do you zip your files ?
  • gamesfuagamesfua Member Posts: 723
    @socks because i was told that if its zipped it can't be corrupted. Which is why on major milestone version builds, i'll copy the project to my external drive and zip it. Then i also paste the project again as a non zip file.
    I'm just really always cautious and terrified of problems.
  • gamesfuagamesfua Member Posts: 723
    Oh and also because i have no idea what the hell i'm doing ;)
Sign In or Register to comment.