Many people have wanted their projects to save progress, even online, and the scratch team always seems to say "no". But: you know how certain features (microphone, Scratch/Pico Board sensors) only work when the project is downloaded?
No, I'm not talking about the "Save" button ALREADY in Scratch. Saving the projects on the computer so you don't lose all your work is not what I mean. (obviously not, because without THAT, long, complex projects wouldn't be the same. AT ALL.)
I mean a block that saves progress in long games that you probably won't beat in one minute/hour/day (given the people who make such games find ways around the 10MB limit). The save button can sort of work for saving progress in long games, but you always have to manually click the button whenever you want to save. And, unless programmed right, when you want to resume it might just reset the whole game when you press the green flag.
So, my idea:
Blocks that allow you to save, load and delete save files. But the files would be saved on the computer and not a server, so it could only be used when the project is downloaded. Sure it would take up space, but I don't think it would take up THAT much, and if you browsed the system you could manually delete the save files yourself.
The blocks to do with saving might look something like this:
I don't know much about Java, but if Java can save and read files on a computer, it might not be limited to just being a feature that only works when downloaded.
What do you guys think? would it be possible?
Last edited by hmnwilson (2008-09-03 20:18:29)
Offline
hmnwilson wrote:
So, my idea:
Blocks that allow you to save, load and delete save files. But the files would be saved on the computer and not a server, so it could only be used when the project is downloaded. Sure it would take up space, but I don't think it would take up THAT much, and if you browsed the system you could manually delete the save files yourself.
I don't know much about Java, but if Java can save and read files on a computer, it might not be limited to just being a feature that only works when downloaded.
Sounds like saving cookies in a browser. Good idea!
Offline
<when[ load ]clicked>
<set{ x position }to( save x position
<set{ y position }to( save y position
<when[ save ]clicked>
<set{ save x position }to( x position
<set{ save y position }to( y position
that could work, and the only problem with the save feature, what do u want to save the x position the y position how much u have of an item etc, the scratch team doesn't know what u want to save, and their is so many methods of saving without that feature that what's the point of having it?
Offline
You can do something like this now...by using the Import/Export functions on the list watcher. It's not completely automatic as you would still have to do the Import/Export manually, but once you read in the values, your game could then set itself to the correct state and continue from where you had been before.
Your new blocks would be great...but until something like that gets added - try using lists!
Offline
Another possible method around this is if a game has 'levels' you could make a 'Passcode' that sends you right to the level you where on. These pass codes could be told to the person playing the game at the start of that level. Simply having a save/load button is way to complicated as scratch wont know what you want to be saved, broadcasts you want to use ect...
Offline
Good ideas everyone, they're useful... although what I meant by the kinds of things Scratch would save is maybe what was on variables/lists, the X and Y positions... basically, it would suspend the game, but rather than getting deleted as soon as you open it again the file would stay the same until that same game gets saved again.
Who knows what 1.4 will have, though...
Offline
hmnwilson wrote:
Good ideas everyone, they're useful... although what I meant by the kinds of things Scratch would save is maybe what was on variables/lists, the X and Y positions... basically, it would suspend the game, but rather than getting deleted as soon as you open it again the file would stay the same until that same game gets saved again.
Who knows what 1.4 will have, though...
Cookies! Crunch crunch! lol. that is a prettty accurate description of what you mean.
Offline
AlanProjects wrote:
hmnwilson wrote:
Good ideas everyone, they're useful... although what I meant by the kinds of things Scratch would save is maybe what was on variables/lists, the X and Y positions... basically, it would suspend the game, but rather than getting deleted as soon as you open it again the file would stay the same until that same game gets saved again.
Who knows what 1.4 will have, though...Cookies! Crunch crunch! lol. that is a prettty accurate description of what you mean.
Sort of... but I didn't think cookies could hold that. (I didn't think, at least... or maybe I'm just a noob at this.) And if the browser is set to block cookies, the data wouldn't be saved.
Offline
You can get a game to save your progress; I worked out how.
What you do, is you make a list. Then you get a sprite and get it to say what items are on the list every time the green flag is pressed. Like this:
[blocks]
<when green flag clicked>
<say[ <{ Items }> ]for( 2 )secs>
[/blocks]
So then it will say the variable/list for however many seconds. I also tried writing the script, then saving my project into Scratch, then exiting, then going back into Scratch and opening my project again. And it remembered all my items! It isn't possible to make a game remember where you last went in the game, but it remembers all your items, which really helps to make RPGs! All you have to do is download the project and save it whenever you need to. I can prove it too, just see my project and download it:
http://www.scratch.mit.edu/users/pokemon_master12/326463
Last edited by pokemon_master12 (2008-11-22 03:36:09)
Offline
pokemon_master12 wrote:
You can get a game to save your progress; I worked out how.
What you do, is you make a list. Then you get a sprite and get it to say what items are on the list every time the green flag is pressed. Like this:
[blocks]
<when green flag clicked>
<say[ <{ Items }> ]for( 2 )secs>
[/blocks]
So then it will say the variable/list for however many seconds. I also tried writing the script, then saving my project into Scratch, then exiting, then going back into Scratch and opening my project again. And it remembered all my items! It isn't possible to make a game remember where you last went in the game, but it remembers all your items, which really helps to make RPGs! All you have to do is download the project and save it whenever you need to. I can prove it too, just see my project and download it:
--???--
I know that, but I was saying there should be a block that lets you save.
You actually can make it remember where you were by making those items at the start (or maybe end) of the list, and set a variable to those.
Offline
I understand. But at least there is a way to save your items at the moment. Maybe there will be a block that lets you save in Scratch 1.4! We'll just have to wait and see, but for now, lets be grateful for what we have in 1.3 and use it. Also, here is the link to my project; it should also now be in my last comment:
http://www.scratch.mit.edu/users/pokemon_master12/326463
Last edited by pokemon_master12 (2008-11-22 03:38:28)
Offline