[ Save Files with Player IDs ]

Hello, hello! Welcome to the Buying Grandma’s discussion.


Stringing off of the research topic: | Player ID Research |, we found a possible way to gain rewards while out of gimkit with the Player ID. Here’s some important information from the research topic (and why we stringed away for this mechanic):

why we need to figure out encryption:

The reason this is a separate topics is for we don’t cog up the other Research one, and they can continue figuring out the basics of a Player ID, and so we can stay organized with our finds and studies.

any other important stuff can be edited onto here if a tl4 can make this a wiki.

Our current example is that we have 6 Grandmas, and need to find a way to save the amount of cookies those grandma’s produce when you’re off the game and how to save those 6 Grandmas for the next time you log in.

Contributers:
@Toothless
@Coolcaden26
@Blackjack
@Epi320
@Boss_1s
(probably more, I don’t remember)

I’m gonna go offline to eat, so il be back later to help

10 Likes

@Kat_aronii if you could make this a wiki that would be awesome :>

(I’ll return later, gotta go make sum food so I don’t starve lol)

4 Likes

This is seems interesting! I never knew player IDs would be so…or have… so much potential.

.

what.

4 Likes

I mean, you could have them input the digits that stay the same, and then somehow gather those digits(and letters, too) and then see if they are the same. Possibly.

We need to be able to track the time.

You could track positions to get where the player was since their last playthrough, but what about things like inventories?
Sending players to the right area would be hard as well.

The player ID changes after time has passed, so could it change when other things happen like getting an item? If that were the case and the player ID did store inventory data, save codes could work.

For this we’ll also have to worry about memory, cause the amount of block code is—
insane

For save codes, are we talking as soon as the player joins they get their items, or they have to input their save codes. Because if we are talking the second, I have a theory/possible way to execute it.

3 Likes

The latter is what we’re going for unless ‘new game’

Edit 2025-05-03T14:46:00Z: I’m thinking of the game ‘The World Ends with You’ where one gains pin points (pp) for the amount of time they were off-game…

That’s what the ID is for. In the research guide for ID we discovered that the first 8 digits are hexadecimal code for UTC time or seconds since the UNIX Epoch that started on January 1, 1970. The idea is to give the player a save code of that timestamp, so when they rehost and plug in that timestamp, the game will compare that to the new ID and calculate how much time has passed.

2 Likes

Theory

What if we could figure out the timestamp, and then the player would enter the part of their ID that has their unique ID. Then, you add the timestamp and their unique ID, and see if those two added together equal the players full ID?

Sadly we would pretty much somehow have to have their ID the same because like said doesn’t it change during game?

But it has to start from game end not game start.
Solution
Find hex conversion time. Get time difference from game start to game end.
Get the game end time.
Encrypt game end time.
Go new game, decode hex.
Use input code.

1 Like

No it doesn’t, it stays the same in the whole game. It just changes in different server starts.

2 Likes

You make a good point, but how will we find the end time? The ID remains the same throughout so how will it identify the end? We could try adding seconds to the hex from game start. That might mean converting the hexadecimal string to a decimal or even current time and then add seconds.

1 Like

And that brings us back to the beginning

Not really, he means to convert it at the start and add it along the way.

Well, this is interesting.

The Player ID only tells us the current UNIX timestamp (# of seconds since Jan 1, 1970), meaning that the only thing we can use it for is to calculate the time since the player last played. Here’s the information we would include in the save file to make this work, in the context of a clicker game with offline earnings.

Cookies: 500
Offline Earnings Rate: 10/min
Upgrades: [blah blah blah]
UNIX timestamp: 68166f05

We would encrypt this data and give it to the player as a save code for them to re-enter. When they rejoin the game, they re-enter the code, and their new balance is then calculated like so:

Balance = Balance + ([New UNIX timestamp] - [Old UNIX timestamp]) * 10

Finally, in order to ensure we compute from the game end time and not the game start time, when a player joins, we can start a counter, ticking up once per second. We then can calculate the UNIX timestamp for the savecode by doing:

Savecode UNIX Timestamp = JoinTimestamp + SecondsInGame

7 Likes

Well, we got the equation done now. Nice Job!
Now we need save code encryption as anybody can just spam numbers as it still equates to a timestamp.

1 Like