Discuss Scratch

davidkt
Scratcher
1000+ posts

Save Data in Scratch

Cloud. Data.
ScratchJahd2011
Scratcher
500+ posts

Save Data in Scratch

davidkt wrote:

Cloud. Data.

The workaround would be very hard and can be broken immediately.

I support.
1+ :: operators
seanbobe
Scratcher
500+ posts

Save Data in Scratch

iTweak0r wrote:

You can already force users to log in

if < (username) = () >
stop all

Last edited by seanbobe (March 8, 2014 00:13:43)

derpmeup
Scratcher
1000+ posts

Save Data in Scratch

iTweak0r wrote:

Supporters
iTweak0r
NoxSpooth
Mimiandwormsfan123
heatguts
SuperJedi224
goldfish678
meowflash
002001153
A-no-meep
ScratchJahd2011

Some people have said that it is like blocking downloads. But it is not hiding code. It's just providing a way to make games with save files.

I have a new idea: Save Data. On Scratch, it's hard to make long games because when someone comes back they have to play it all over again. You could make persistent storage with Cloud Variables/Lists, but what if someone is offline? Below is a way save data could work. There would be some blocks to do it. The first is:

save { something } into tag { tag }

The first part is easy. It lets you say what you want to save. But what's the “tag” part? It's kind of a “save variable,” a space where a saved value goes. If a tag does not exist, it creates one.

Where does the data go? The Scratch server. Server-wise, data would map from a username to a tag to a value to a project. Example format:

iTweak0r>Highscore>25>Flyer 4.5
iTweak0r>Extras Unlocked>true>Flyer 4.5

If someone is a guest, this would show up:

You need an account to save data.

Clicking “account” would show the login/signup page.

Edit: Another idea is to use cookies or Local Shared Objects (flash) for guests

We have covered “save,” but we need loading too! Well, loading would come as a Reporter block.

( load from tag { tag } )

Seems straightforward. You could use a variable block like:

set { highscore v } to ( load from tag { highscore } ). There's also some more blocks I would like to mention.

remove tag
< tag { tag } exists? >

Removing would, well, remove the tag from the server. There's also the exists? block that tests if a tag exists or not. An example of using it would be showing an intro screen if there's no save data.

if < tag { current level } exists? >
broadcast { play v }
else
broadcast { intro v } and wait
broadcast { play v }

That's all there is to save data. It could be in the Data category.

Do you like this idea, or do you have any more ideas to add? Just tell me.


This is a great idea! It's sort of annoying how you have to send endless data to a cloud variable to do that. I hope the scratch team puts this in scratch 2.1!
hedgehog2000
Scratcher
41 posts

Save Data in Scratch

When I looked at a description of cloud data, it said you could save it on the internet. How do you do that?
move (1 step further in scratching) steps
point towards [ knowledge]
broadcast [ make fun projects]

Click for My Best Project

TM_
Scratcher
1000+ posts

Save Data in Scratch

much easier way of saving
(sorry if this was posted here already)

It dowbloads just a list and saves it (like it is possible now, but to do this you have to see inside, so a feature which saves and updates it automaticly would be nice). And when you hit the load button the programm looks into the Scratch-Save-Data file for the current project and updates all values of the lists. Everyone knows how to work with lists, so nobody has to learn new stuff like tags. Also the load and save buttons do not need new blocks, there could b 2 new buttons next to the player. However i would prefer 2 new blocks, because it allows nice scripting and so on. Also it should alsways ask before it downloads automaticly. So the block would be names “save and wait”. Then a message appears. For example: “Download/Update-Project-Data to your computer? (120 kb)” Yes / No.
Because you use lists, you can also progres without saving. And because there is no reporter like saved or not, no one cant make projects, where you HAVE TO download stuff. Of course people can cheat, because they can edit the textfile. So if you really want an anti-cheat-save-data, you have to use cloud-data, but i think this is only needed when you relly use mutliplayer game or a game with leader boards, where you use cloud-data anyway.
lastbullets2
Scratcher
23 posts

Save Data in Scratch

Yes I support!
This would make a scratchers life so much easier and a lot of people will love this idea!
Tyty1104
Scratcher
33 posts

Save Data in Scratch

Cool idea but i dont get it

Can you re-explain it
liam48D
Scratcher
1000+ posts

Save Data in Scratch

Support. Users such as griffpatch have found out how to do this, but since it takes cloud lists etc and is very advanced, there should just be a block. Some blocks:

save [] online as [a file v] :: sensing // There would be something saying 'new file'
save game state online as [a file v] :: sensing
(load [a file v] :: sensing)
load game state from [a file v] :: sensing
when game is loaded :: sensing hat
<[a file v] exists for user? :: sensing>
savaka
Scratcher
1000+ posts

Save Data in Scratch

Nice, but the tags should probably map user>project>tag>value
I didn't exactly read it all but it seems kind of good but they also should probably just be variables in the project themselves.

Here are my ideas:
This one's simpler
But this one's better
RandomPerson1789
Scratcher
100+ posts

Save Data in Scratch

You can't do this with web applications. But you can do it offline with scratch mods such as Explore.
Hope this helped!
RandomPerson1789
Scratcher
100+ posts

Save Data in Scratch

hedgehog2000 wrote:

When I looked at a description of cloud data, it said you could save it on the internet. How do you do that?
move (1 step further in scratching) steps
point towards [ knowledge]
broadcast [ make fun projects]

Click for My Best Project

There is a way of doing it, but it is very complex. I am working on a saving game.
RandomPerson1789
Scratcher
100+ posts

Save Data in Scratch

ScratchJahd2011 wrote:

davidkt wrote:

Cloud. Data.

The workaround would be very hard and can be broken immediately.

I support.
1+ :: operators
It is possible
cooljoesno
Scratcher
1 post

Save Data in Scratch

I support this. I want to create an OS but if I can't without this idea.
say [I support!] for (2) secs

Last edited by cooljoesno (July 29, 2014 19:42:49)

CodeGirl03
Scratcher
4 posts

Save Data in Scratch

Could someone please give me… like a demonstration or a picture on how this works, because I want to do this in a game I have. I want people to have the ability to save their highscore, instead of having to earn a new highscore for my game each time they press the flag.
ShamelessSnores
Scratcher
100+ posts

Save Data in Scratch

Also you claim this will help people offline… If the data was stored in the servers, they couldn't access it! No support. The way we have it now makes people make workarounds and think more
ShamelessSnores
Scratcher
100+ posts

Save Data in Scratch

ShamelessSnores wrote:

Also you claim this will help people offline… If the data was stored in the servers, they couldn't access it! No support. The way we have it now makes people make workarounds and think more
Just realized this was a necropost

CodeGirl03 wrote:

Could someone please give me… like a demonstration or a picture on how this works, because I want to do this in a game I have. I want people to have the ability to save their highscore, instead of having to earn a new highscore for my game each time they press the flag.
Please do not necropost
brydonti
Scratcher
15 posts

Save Data in Scratch

iTweak0r wrote:

You can already force users to log in


if [usernames={}]
[stop all]
brydonti
Scratcher
15 posts

Save Data in Scratch

RandomPerson1789 wrote:

hedgehog2000 wrote:

When I looked at a description of cloud data, it said you could save it on the internet. How do you do that?
move (1 step further in scratching) steps
point towards [ knowledge]
broadcast [ make fun projects]


IronBit_Studios
Scratcher
1000+ posts

Save Data in Scratch

Neeecropoooost.
Support.

Powered by DjangoBB