That's pretty neat!
That's pretty neat!
Except that you can't rely on what the client knows.The servers don't really do all that much for this game, do they?
It seems to me that all they have to do is serve up packets saying that an object is at a location. I feel like the packets can probably be under 12 bytes per object (4 bytes to express longitude, 4 bytes to express latitude, and 4 bytes to say what the object is)... you send out maybe 1 object per minute. Occassionally the server needs to receive info saying that a pokemon was caught, or a lure was placed, or to save some info about a pokemon being renamed or whatever.
I would think that the servers for this game really don't have to do all that much compared to a lot of other services... there's no images or videos or audio being streamed... all the media is stored locally as part of the app download. All that is sent back and forth is some game data. Authentication is probably the most taxing part of this game on the server.
Edit: Someone else pointed out the fact that pokestops have real-world thumbnails associated with them. So the servers do have to serve up some images. I changed my mind - serving up those thumbnails are probably the most taxing thing the servers have to do.
The two companies -- in addition to The Pokémon Company and Nintendo itself, presumably -- believed that the all-but-confirmed launch of Pokémon Go in the country would create a hype that "would overload the game" for a lot of its players, not just within Japan.
Except that you can't rely on what the client knows.
For instance, when you catch a pokemon, you have to say to the server "he started to fight" "he used an item" "he threw a pokeball, it touched" "let's calculate if it was caught or not....." "let's see again..." "ok it's good".
If this wasn't done on the server side, people could just catch pokemons with a 100% rate for instance. Same with fights.
If you think a realtime game where you can see positions everytime you move is easy on a server, you're horribly wrong.
The API has already been reverse engineered and people are creating maps and stuff (while encrypting all the requests). So no, that isn't really safer.I seriously doubt that whether you caught the pokemon or not is determined server side. It'd be easier to just encrypt the data being sent to the server - that way only the official clients can connect.
I didn't say a realtime game would be easy, but Pokemon GO doesn't need realtime. You don't need to know within a fraction of a second when a new pokemon has spawned - it's fine if you receive that a minute before or after everyone around you. The only real interaction between players is lures and gyms, neither of which have aspects that require sub-minute synchronization.
The servers don't really do all that much for this game, do they?
It seems to me that all they have to do is serve up packets saying that an object is at a location. I feel like the packets can probably be under 12 bytes per object (4 bytes to express longitude, 4 bytes to express latitude, and 4 bytes to say what the object is)... you send out maybe 1 object per minute. Occassionally the server needs to receive info saying that a pokemon was caught, or a lure was placed, or to save some info about a pokemon being renamed or whatever.
I would think that the servers for this game really don't have to do all that much compared to a lot of other services... there's no images or videos or audio being streamed... all the media is stored locally as part of the app download. All that is sent back and forth is some game data. Authentication is probably the most taxing part of this game on the server.
Edit: Someone else pointed out the fact that pokestops have real-world thumbnails associated with them. So the servers do have to serve up some images. I changed my mind - serving up those thumbnails are probably the most taxing thing the servers have to do.
The Gyms are very taxing as the servers do automated responses from an ai that is server side, with the amount of gyms per country, the process size must be insane aside from the amount of packets being sent during a battle from both sides simultaneously
Yay, more server room for the rest of us who are patient enough to wait for the issues to be fixed :')I'm done playing the game. It was just a week long sensation (in my case) because of the bugs and issues. To me it's unplayable at this point. Sorry
it makes me feel I'm wasting my time...
it makes me feel I'm wasting my time