05-02-2006, 10:25 AM
I had started to write a very long post touching on things such as how/when stuff is loaded, but after thinking it through, I think there is a much easier way to clarify what I see as a problem and what I want.
Problem: The world/server starts interacting with my character, before the client allows me to interact with my character. That is, stuff happens to me while I can't issue, for example, a run command to try to get away from it.
Solution: Allow the client to interact with the character as soon as the server starts to do the same.
Comment: This is actually completely unrelated to when or how much of the graphics and other world states are loaded or not and you are already allowed to interact with your character while not all graphics for example is loaded which is obvious to anyone logging in into a major town such as Ogrimar.
That is all and my point. There is really no issue of abuse here since I am not saying I want to allow the client to interact with the world before the world is allowed to do so. I want it to happen at the same time. Since the opposite happens now, I suggested that the world at least wait for a "go, the client now allows the player to issue commands and interact". Someone said, you could block such a command and miraculously somehow still interact with the world while the world just ignored you. How would that be possible? Until the server gets the ok, there is no extra information going either to or from the client, the same "go, I am ready" is the signal that allows the server to send new info as well as accepting input from the client about the player. If you want to really bend over, have ANY command or info submitted from the client about the character also in addition mean such a "OK, I am ready" and have the server start interacting with you.
So yes, one can argue that there is not an easy way to have everything loaded before your interaction starts (although even that is something I don't agree to), but at least load as much as possible and then have the client and the server start acting at the same time and continue loading as needed. I just want to control my character as soon as the world starts to interact with it, regardless of if all graphics is loaded or not although it is desirable to have all graphics loaded as well (which is not an impossibility).
No, most of the "info" are static one, such as graphics about the world itself that can surely be loaded before you need to get ANY information from the server. You may argue that the client doesn't have a list of all typical monsters in a region, well, send such info then, like "you are in Barrens, so it is a good idea to load graphics for lions, hyenas, lightning dinosaurs and so on".
It is obvious that the game can allow you to interact without all graphics is loaded, for example when you log into a town. A said above, do the same in other places so that you can for example issue a run or attack command while the client continue to load the extra special graphics and other info needed so that at least you don't just stand there with a monster hitting at you while you are shown a loading screen and can't even issue a "run" command.
You are not supposed to be "invulnerable", you are not supposed to be in the game at all! In addition, even if you want the character in the game in some sort of such in-between state, it would mean nothing since the server would not send you any information at all and you can't send any information either. So yes, you could argue that you can stay invulnerable for ever but it would give you nothing. it is like claiming I have actually inserted your character here on my computer, in an invulnerable state. What can you do? Can you somehow snoop on what I have here on it? Of course not since I am not telling you yet.
As for the "ice block" type solution or whatever, that is really irrelevant, if you want to show the rest of the world a character in ice-block or whatever, fine, it doesn't change a thing since the player in the ice block will not receive any information, nor be able to issue any commands and so on. It seems a bit pointless to add any "ice block" or whatever though since it would serve no purpose and is just complicating stuff. I think it is more of a suggestion from someone who did not understand my problem nor the solution to it.
Sure, that might be a problem, of knowing when all graphics is loaded but then that comes as part of the solution to make it aware. If you really want to stretch it, of course the client knows when the graphics is loaded, or it would not know what to load to start with. Different parts of the client might not know though, but that is easy, add some communication or state info that they all have access to. In addition, the client doesn't have to have all graphics loaded or even know when it is. What the client needs to know "and perfectly well knows" is, when does it start receiving input from the player and when does it start to render the world to show (as opposed to showing a loading screen) regardless of if all textures are loaded or not. That is the "ready" I want for the client to tell the server. When the server gets that ready and not before, it will have the world start interacting with your character and at the very same time, the server will start sending your client information, not before.
So yes, if the client start rending the world and accept input from the player, then yes it is ready regardless of if it has loaded the ooze graphics or not. The exact placement or action of any nearby ooze is of course received starting from that onwards and is sent constantly, just as it is when you play normally when you are constantly feed information about stuff around you, the important things is not if the ooze graphics is loaded or not, but if you can interact and issue commands when you receive for example information that an ooze is hitting you. As it is now, you aren't even told (well possibly by the sound) and when you are, you might already be dead and can't do anything.
Apart from me not suggesting any special ice cube nor anything remotely close to what you talk about (see above), I really don't understand anything of what you say here, what is your abuse really about? Do note, you can't interact AT ALL, with the game unless it can interact with you. Seems like you are feeling about some sort of synchronization abuse in that everyone should log in at exactly the same time, is that it? Otherwise I don't understand you. That can be done basically right now as well although the people with slow computers will not be able to start acting back until a bit later than everyone else, which in itself is what I complain about, the world acting and the players not being able to.
You are not going to be fed ANYTHING until your client says it is ready at which time you are not only started to get the information feed, the world will also start acting and affecting you. Do note that sending the information about monsters around you and what they do is not something taking seconds, that type of information is constantly going on all the time while you play, there is no need for any extra 5 second "update" only at log in when the exact same thing is constantly done in split second time continuously as you play.
Problem: The world/server starts interacting with my character, before the client allows me to interact with my character. That is, stuff happens to me while I can't issue, for example, a run command to try to get away from it.
Solution: Allow the client to interact with the character as soon as the server starts to do the same.
Comment: This is actually completely unrelated to when or how much of the graphics and other world states are loaded or not and you are already allowed to interact with your character while not all graphics for example is loaded which is obvious to anyone logging in into a major town such as Ogrimar.
That is all and my point. There is really no issue of abuse here since I am not saying I want to allow the client to interact with the world before the world is allowed to do so. I want it to happen at the same time. Since the opposite happens now, I suggested that the world at least wait for a "go, the client now allows the player to issue commands and interact". Someone said, you could block such a command and miraculously somehow still interact with the world while the world just ignored you. How would that be possible? Until the server gets the ok, there is no extra information going either to or from the client, the same "go, I am ready" is the signal that allows the server to send new info as well as accepting input from the client about the player. If you want to really bend over, have ANY command or info submitted from the client about the character also in addition mean such a "OK, I am ready" and have the server start interacting with you.
So yes, one can argue that there is not an easy way to have everything loaded before your interaction starts (although even that is something I don't agree to), but at least load as much as possible and then have the client and the server start acting at the same time and continue loading as needed. I just want to control my character as soon as the world starts to interact with it, regardless of if all graphics is loaded or not although it is desirable to have all graphics loaded as well (which is not an impossibility).
MongoJerry,Apr 28 2006, 06:33 PM Wrote:But isn't it the loading of the info on the world that causes the load-in problem in the first place? It would seem that the info on the world would have to be sent to the client first before the character gets dropped into it.
[right][snapback]108478[/snapback][/right]
No, most of the "info" are static one, such as graphics about the world itself that can surely be loaded before you need to get ANY information from the server. You may argue that the client doesn't have a list of all typical monsters in a region, well, send such info then, like "you are in Barrens, so it is a good idea to load graphics for lions, hyenas, lightning dinosaurs and so on".
It is obvious that the game can allow you to interact without all graphics is loaded, for example when you log into a town. A said above, do the same in other places so that you can for example issue a run or attack command while the client continue to load the extra special graphics and other info needed so that at least you don't just stand there with a monster hitting at you while you are shown a loading screen and can't even issue a "run" command.
Pantalaimon,Apr 28 2006, 07:49 PM Wrote:I believe he's pointing out the potential for abuse, which unfortunately should probably be considered when takling about any potential fix. Like dozer said, if someone could cleverly figure out a way to stop the packet from being sent to the server that says "okay, I'm loaded, make me mortal again" then one could potentially be invulnerable indefinitely.
Edit: Also, I think he's talking the solution where you simply add an ice-block type buff to your character, making him invulnerable but unable to act while you load, not your solution where the character does not appear in the game until you are fully loaded.
[right][snapback]108486[/snapback][/right]
You are not supposed to be "invulnerable", you are not supposed to be in the game at all! In addition, even if you want the character in the game in some sort of such in-between state, it would mean nothing since the server would not send you any information at all and you can't send any information either. So yes, you could argue that you can stay invulnerable for ever but it would give you nothing. it is like claiming I have actually inserted your character here on my computer, in an invulnerable state. What can you do? Can you somehow snoop on what I have here on it? Of course not since I am not telling you yet.
As for the "ice block" type solution or whatever, that is really irrelevant, if you want to show the rest of the world a character in ice-block or whatever, fine, it doesn't change a thing since the player in the ice block will not receive any information, nor be able to issue any commands and so on. It seems a bit pointless to add any "ice block" or whatever though since it would serve no purpose and is just complicating stuff. I think it is more of a suggestion from someone who did not understand my problem nor the solution to it.
TheWesson,Apr 29 2006, 12:43 AM Wrote:We can add to that the difficulty of deciding when the world IS done loading. Maybe the client never knows when the world is done loading because that is not a well defined state. If I haven't loaded the textures for the Jade Ooze, should the client not send "ready" just because there *could be* Jade Oozes around? How about the Sulfuras textures -- there *could* be somebody around wielding Sulfuras. This isn't a show-stopper, but it's not a trivial question to resolve.
Sure, that might be a problem, of knowing when all graphics is loaded but then that comes as part of the solution to make it aware. If you really want to stretch it, of course the client knows when the graphics is loaded, or it would not know what to load to start with. Different parts of the client might not know though, but that is easy, add some communication or state info that they all have access to. In addition, the client doesn't have to have all graphics loaded or even know when it is. What the client needs to know "and perfectly well knows" is, when does it start receiving input from the player and when does it start to render the world to show (as opposed to showing a loading screen) regardless of if all textures are loaded or not. That is the "ready" I want for the client to tell the server. When the server gets that ready and not before, it will have the world start interacting with your character and at the very same time, the server will start sending your client information, not before.
So yes, if the client start rending the world and accept input from the player, then yes it is ready regardless of if it has loaded the ooze graphics or not. The exact placement or action of any nearby ooze is of course received starting from that onwards and is sent constantly, just as it is when you play normally when you are constantly feed information about stuff around you, the important things is not if the ooze graphics is loaded or not, but if you can interact and issue commands when you receive for example information that an ooze is hitting you. As it is now, you aren't even told (well possibly by the sound) and when you are, you might already be dead and can't do anything.
Artega,Apr 29 2006, 11:47 PM Wrote:If we went with the Ice Block idea (frozen in place until you attempt to use a skill or move), you could have an entire 40-man raid corpse-drag their way to, say, Magni, log out (ALT+F4?), then log in. Wait for everyone to load in, kill the debuff, kill Magni, high-five Blizzard.
You could also easily do this with anything that isn't in an instance (Kazzak, Azuregos, the four greenies, etc.)
[right][snapback]108554[/snapback][/right]
Apart from me not suggesting any special ice cube nor anything remotely close to what you talk about (see above), I really don't understand anything of what you say here, what is your abuse really about? Do note, you can't interact AT ALL, with the game unless it can interact with you. Seems like you are feeling about some sort of synchronization abuse in that everyone should log in at exactly the same time, is that it? Otherwise I don't understand you. That can be done basically right now as well although the people with slow computers will not be able to start acting back until a bit later than everyone else, which in itself is what I complain about, the world acting and the players not being able to.
Darian,May 1 2006, 03:29 PM Wrote:I was referring to your computer being fed the information on what's around you in the world -- like other players, mobs, non-static openable objects. I'm not sure how you can put a hold on dropping you into the world while the server's telling you that Grok the Orc Shaman is 40 feet away from you when, by the time it's done telling you that, Grok's now... NOT 40 feet away from you.
You are not going to be fed ANYTHING until your client says it is ready at which time you are not only started to get the information feed, the world will also start acting and affecting you. Do note that sending the information about monsters around you and what they do is not something taking seconds, that type of information is constantly going on all the time while you play, there is no need for any extra 5 second "update" only at log in when the exact same thing is constantly done in split second time continuously as you play.
There are three types of people in the world. Those who can count and those who can't.