But first-person shooters are what this discussion started out with, and with them all relevant and authoritative computations are done on the server side. You claimed the opposite.
Aha! Now you have finally nailed me on what I have already admited in another post is the critical flaw in my argument.
We were not discussing games in general, or even FPSs in general, but Half Life 2 specifically.:)
And, as stated, I have not even seen HL2 run.
I'll still stand you a beer (seriously) if you prove to be correct though.
No, they were created to protect the item itself, the thing, as physical object. Perhaps that's what you thought your were saying, but it's not the way it come out.
Anyway, if you read the article you'll note that they explicitly state they are protecting the way their lenses are made (which may be what you meant by "process", although "way" in this case doesn't mean the same thing as "process").
In other words, the invention itself as a unique thing.
If you can come up with a different way of achieving the same effect, go for it. What they are explicitly counting upon is that you cannot.
It's a good patent. I hope they make a ton of money. I just hope they aren't assholes about, that's all.
So, yes, it's interesting to see this acknowledged, but the tactic does show up in the guides (e.g., ER starting at 8:59PM CT), and for multi-tuner PVRs it is not at all an issue.
Obviously this is not a nefarious plot to thwart TiVo owners, as advertised, but rather, a plot to sell more TiVos!
. ..as are the physics of a 10 car race - both should be obvious, since a single computer can and does handle both in single player games.
No auto racing simulation does this, not even the "hard core" sims. Real physics are only computed on the player's car. The rest are bots. Bots don't need to know the exact torque on their left driveshaft ("You" do, however). Only where their next waypoint is. This is trivial.
It's non-trivial, which explains the relatively higher system requirements.
It's nontrivial because computing the physics of a single car in a "hard core" sim such as Papyrus's or the more advanced noncommercial projects is nontrivial.
And I'd hope that car manufacturers have better traction simulations than those of say, Richard Burns Rally. ..
Be careful what you wish for, you might end up disappointed. I've done some work in this field. I have chosen to focus on racing sims because it's the field where as a physicist I have done orginal research, written scientific simulations, both non-realtime and realtime, done real automotive engineering and worked on "games," as well as playing them.
I'm hardly the world's foremost expert on any of these things, but I'm not just pulling shit completely out of my ass either, and I know some of the world's foremost experts on these things.
Look, try this. Download the code of one of the open source racing or flight sims. Read it. I have. You'll find the physics are nontrivial. You'll also find they're computed client side and only trivial state data is sent to the server so it can relay to the other players where you are. The server has no need to know the exact torque on your left drive shaft, and neither do the other players. "You" do, however.
This is the reason why FPSs have been the leader in game graphics. Racing and flight sims cannot spare the computing power for graphics, the physics eats it all.
World data, however, is trivial. Which is to say nonexistant, because there are no objects in the world that require physics other than the player cars.
What the hell the "latest generation" FPSs are doing server side that requires so much work, well, I don't know. They don't have to make the pretty pictures. They don't have to make any pictures at all. I've never so much as seen one run. I obviously haven't read their code either. I'm stuck with older generations for that, as are you.
Go, read code.
Then maybe try writing a nontrivial driving sim with your all on the server side idea. Show it to me. If it works I owe you a beer or something, because I'm betting you won't even be able to drive your own car around the track with a ping of.20.
You say that, even though you seem to acknowledge that the server should not trust client data in a reply to my post below.
As I also said the client should not trust data from the server. Nonetheless trust must be assigned to the untrusted, just as in the Real Word (tm).
As a result of this the Real World (tm) does not run as we might like. Neither do online games. We have to be a bit "Zen" about this, or else the road runs to madness. We must both strive to reduce imperfection, but also know when and where to cease striving and accept that imperfections are inevitable.
The fact is that the physics are probably calculated (in whatever manner or precision I don't care) on the server as well as on the clients:
Given your paranthetical I acknowledge that this is wise, and sometimes even necessary, in certain games. It depends upon the nature of the game universe.
. ..the latter so that the client can display something while waiting for the server, the former because the server must never trust any client to do any real work for it.
No, because the client is authority on what happens locally. When I move my controller, that is what happens. I, the gamer himself, is authority of my actions. Only my local machine can be trusted to calculate the effects in real time. What is displayed to me must be as close as possible to a true instantaneous reaction to my inputs. I cannot brake from 200 mph into a hairpin by sending my controler inputs to the server, having the server calculate the physics and sending the results back to me. What's more my local machine can calculate these physics just as accurately and trustedly as the server can, and can do so without also having to calculate the physics of the car behind me at the same time. The server must accept these calculations as "true" (it may have some algorithm to verify that trust before it "trusts" it, but that's an AI issue, not a physics issue) and there isn't a high end gaming machine in the world that wouldn't be brought to its knees by a three car race, let alone a 40 car race, if it had to do all of the primary physics itself.
Yet my 900mhz box with 128mb PC133, which can be brought to its knees by a single car without AI if I crank the effects up to max, can run 20 client cars without a hitch because the clients are computing what each car is doing.
In fact, given a sufficiently fast connection, clients might drop processing physics, but the server has to do it, simply because there is no other way.
c, not just a good idea, it's the law. There will never be such a sufficiently fast connection. It's the reason I have to give up gaming online entirely when and where I have to rely on satellite for my internet connection, even with the primary physics being computed client side.
Where the server does properly handle physics is in the universe at large, as that is where it is authority. Most of the time, most of this stuff, is adequately handled by AI though. Bots. Canned Goods. A train doesn't need real physics. It just needs to go down the track at the right speed in the right direction. More complicated behaviors of more complicated objects may need more complicated pseudophysics, asymptotically approaching game physics as needed.
But yes, the server is the proper place to calculate this and the proper authority over reporting its location. And the client has to trust it.
At the interface between the local world and the universal world there will be some level of AI to try smooth over the rough edges, which you can see by playing different games is done with either more or less success.
And in fact, older machines might not be up to the task anymore these days, I just did some searching around and here is from a post on the srcds.com forums:
This appears to be an issue with Steam specifically, not game architecture (or even Half Life architechture) generically, and just what Steam is doing, well, I admit I haven't a clue.
I realize you're kidding, but I don't think this little joke about BASIC corrupting the programmer's mind is even remotely true.
I was kidding about the dentistry. Edsger was definately not kidding (except, perhaps in a "Ha, ha! Only serious" sort of way), about BASIC.
I agree with Edsger. I've questioned his judgment here and there over the years. So far, I've always found that I lacked some fundamental wisdom and discovered he was bang on right after all.
I switched over to C at around age 11 and have never looked back toward BASIC since then.
I'm afraid this says nothing about the quality of your coding and the effect that your exposure to BASIC had upon it. You are in no position to judge this yourself.
Hell, I'd be scared to death to have Edsger audit my code, and I don't even have much exposure to BASIC, and haven't had the misfortune to be trained as a programmer or computer "scientist," and for that, at least, I am greatful.
From what I've been told, I would have been hired (with the same level of pay, not less) had I graduated with an anthropology degree instead of a CS degree.
I've tried to make this point here a few times. Oddly enough my wife's primary degree was anthropology, although she did back it up with a CS degree at a later date.
Her anthropology degree was from prestigious Mount Holyoke, her CS degree from a local community college. Neither markedly helped nor hindered her in finding a job. All they cared about was whether she had [i]a[/i] degree, and could she [i]do the work.[/i]
Most of the business world is very pragmatic, for a sufficiently small value of pragmatic.
Posting anon because of the salary quotes.
In this case I understand, I guess. I never post anon though. I'm willing put a "face" to every idiotic thing I say. People have a right to know who they're beating to a pulp.
There has been one critical, logical flaw in all of my reasoning which no one has previously pounced upon.
I have been talking generically, while the subject was specifically Half Life, and I'm afraid I'm utterly ignorant of Half Life, let alone Steam.
In my defense I might point, however, that your server does, indeed, meet most people's definition of the sort of old box that they wouldn't want to play single player on, but functions well as a 14 player server.
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
I'd imagine this goes double for anyone who "learned to program" in BASIC as a preteen.
Have you considered dentistry?
Ok, seriously, I'll go with the consensus here. Unless you're talking Ivy League it doesn't matter, and even then it will only matter to other Ivy Leagers and the terminally insecure who find that sort of thing innately impressive, and unless you already have an Ivy League first job connection it probably won't do you any good anyway.
Hell, some terminally insecure potential employers swing the other way and will automatically make themselves feel superior by denigrating your "special" education. The whole prestigious college thing can cut both ways, and you never know in advance which way it's going to go.
Life's a crap shoot. You just have to take your best shot and see where you end up.
And I know plenty of people with Ivy League PhDs who ended up places like in insurance (or plastics, but that's another story). Be prepared in advance for that possbility too.
However, I also hope it has at least reasonable trust in the data it sends, or the whole online gaming thing comes apart at the seams (which does not mean I hope my client trusts the data from the server either, but, ultimately, someone has to be in charge, and that's the role, and the only role, of the server).
The network latency is too high for all physics to be run on the server and transmitted to players.
Who said anything about running physics on the server? The server doesn't run any physics at all, it simply collates the data, which is why servers are often older machines sitting off in a corner somewhere. The server is the device that needs maximum bandwidth, not cpu power.
Client-side prediction is required.
I said that.
To ensure responsiveness, the players' PCs must do the physics calculations locally, re-syncing with authoritative server updates whenever availible.
To insure maximum framerate (responsiveness is an entirely different issue) it must do something more complicated than that. It must decide when it is necessary to approximate doing the full physics locally and when it is unnecessary. When server data is nearly sufficient and when it isn't. It needs to predict the degree to which it needs to predict and only perform that degree of prediction which it needs to.
An object that has been traveling straight and level at 200 mph for the past week and a half needs the calculation of no physics to predict where it will be 0.1 of a second from now. In fact, you might well suspend predicting its behavior completely until you recieve data indicating that it's no longer safe to do so, thus relieving the local cpu entirely.
Conversely 20 cubes tumbling through the air and impacting each other requires a greater local calculation to make a prediciton of their behavior, even in the next 0.1 second.
Things not within the realm of the local player need not be overtly dealt with at all client side, whereas in single player mode they often require the continuous running of some sort of physics.
One assumes there will be a server update coming along in a fraction of a second, or the player is out of the game. This affects the degree to which one must calculate physics locally.
That kind of programming is a difficult art.
Calculating all the physics locally and re-syncing with server data when available is barely more difficult for the programmer than writing the physics of the game in the first place.
Proper online gaming predictive programming is beyond a difficult art. It is black.
If some game architects take the easy way out and place the difficulty on the client's cpu instead of their own programming ability, I understand, but it costs the client framerate, making for a poorer online gaming experience.
It requires all the work of doing the full physics calculations. ..
Error correction (in game data terms, as opposed to raw data terms which is handled by your network card) doesn't require the calculation of any physics at all. It needs to calculate the difference between the current local behavior of an object and the server data, and present it to the gamer in as "pretty" a manner as possible. Hopefully without fucking things up royally in the process.
. ..and then some additional work to decide when to override with server updates.
Server updates are authoritative. The server is the only thing in the whole bloody mess that has any idea of the actual state of the system. Even when it's wrong it's still authoritative. Kinda like the judge who sent you up for something you didn't do. One may, up to a point, test that authority, (and I hope your lawyer at least tried to), but only up to a point.
One applies server updtates, and in their absence one must, of necessity, make a prediction, but one always regrets having to do so.
Lord knows, we shall always be full of regret, shan't we?
He isn't complaining about a frame rate hit in multiplayer compared to single player. He's complaining about a frame rate hit in single player since installing death match.
The physics calculations the source engine was doing before has now gone up over 1500%.
You only want to be told where things are.
Your local machine only calculates your local physics. The machine of each other player calculates their local physics. It's distributed computing. No need for everyone to calculate everything and then try to snyc the results. A location grid is sent to the server (just a triplet of numbers for each object), which colates them, then sends the results to the client machines, which merely have to display them. There's the issue of lag, so you are running a predictive algorithm, and some error correction, but that's a far easier task on the cpu than actually doing the physics calculations. This will, indeed, result in a frame rate drop at times, but generally only when things are getting really messy. And the physics involved in a shooter are pretty simple anyway. You should see what they look like in a high end flight or driving sim. Framerate in those is physics limited because of the load on the cpu. Shooters are video limited because of the load on the GPU.
Of course in multiplayer you eliminate the overhead of AI calculations.
In other words, it's completely normal to get FPS drops between MP and SP.
But not 50% all the time, and certainly not in single player mode as well.
I could have used fishing poles or shoes if it would have made you happier.
. ..a better illustration of abandonware would be a car parked on a country roadside for ten years. ..
In the case of the majority of abandonware the rights owner is still perfectly aware their ownership of the rights and is desirous of keeping and maintaining them. That's why the issue ends up in court.
However, in the case of the car abandoned by the side of the road, you might well drag it home, invest years and dollars into it's restoration, but you will never be able to register it without affecting a purchase from the title holder.
There are all sorts of valid uses for p2p software too.
Which is one of the reasons not to make it illegal.
Valid doesn't necessarily mean majority.
Majority doesn't necesssarily rule by law. Laws are often explicitly for the protection of the minority.
However, if we're going to discuss the majority, the majority don't drop out of school at 16 in the first place, so the whole issue is one of how to handle a minority.
There are pressures other than law, which is usually the best way to go about things.
As long as we're at it, I might point out that while Burt designed Voyager, and his company Scaled Composites is the builder of record, that doesn't mean that Dick didn't build it as well.
He may well still be scraping expoy out from underneath his fingernails. As may be Jeanna.
One of the remarkable aspects of the Voyager story is the way they invested years of their lives "home" building the sucker with their own hands, and often the hands of any sucker who happened to be wandering by.
Nope, Christmas she'll be in Mexico, and I won't be. Mom, ummmmmmm, gets around. Come to think of it, maybe it's reasonable to just assume she ran around the South Pole naked. It wouldn't exactly be out of character.
(Oh, and just for the record, she was there as a journalist)
Ah, well, that question I can answer, as I have before, taking into account the intent of the original authors of the Constitution and the authors of the orginal legal code, as well as various ethical, moral and other philosophical issues:
It won't affect my job at all. I make buggy whips.
KFG
Can we just for once talk about the damn book?
., well, no, I see you're not.
You're ne. .
In that case the only question I'm left with is:
Come on, you know better than that, don't you?
KFG
Ah, but because Mickey's latest appearance is copyrighted, he is copyrighted.
It's a swimmy barrel of eels, ain't it?
KFG
But first-person shooters are what this discussion started out with, and with them all relevant and authoritative computations are done on the server side. You claimed the opposite.
:)
Aha! Now you have finally nailed me on what I have already admited in another post is the critical flaw in my argument.
We were not discussing games in general, or even FPSs in general, but Half Life 2 specifically.
And, as stated, I have not even seen HL2 run.
I'll still stand you a beer (seriously) if you prove to be correct though.
KFG
No, they were created to protect the item itself, the thing, as physical object. Perhaps that's what you thought your were saying, but it's not the way it come out.
Anyway, if you read the article you'll note that they explicitly state they are protecting the way their lenses are made (which may be what you meant by "process", although "way" in this case doesn't mean the same thing as "process").
In other words, the invention itself as a unique thing.
If you can come up with a different way of achieving the same effect, go for it. What they are explicitly counting upon is that you cannot.
It's a good patent. I hope they make a ton of money. I just hope they aren't assholes about, that's all.
KFG
Micky Mouse is trademarked.
Only Mickey's movies, comics, etc., are copyrighted.
KFG
So, yes, it's interesting to see this acknowledged, but the tactic does show up in the guides (e.g., ER starting at 8:59PM CT), and for multi-tuner PVRs it is not at all an issue.
Obviously this is not a nefarious plot to thwart TiVo owners, as advertised, but rather, a plot to sell more TiVos!
KFG
Oh, and if you can add a bit of reliability too, that would be nice.
KFG
NOAA!
.really?
You talkin' to me?
It's Slashdot, NOAA.
Riiiiiiiiiiiight! Who is this. .
KFG
That's grate!
Yeah, I thought it might grate a bit. I'm afraid I've put my Dijkstra Curmudgeon Hat on.
KFG
Prior to the 90s intelligence and technical brilliance more often got you a job at Radio Shack than at IBM.
What did the employed physicist say to the unemployed physicist?
.
.
"Would you like fries with that?"
I recently met a nice fellow who had finally gotten a job after completing his J.D. (Doctor of Law). He was waiting on me at Denny's.
It's a tough fucking world out there people. Be prepared to take care of yourselves, because only you, and maybe your mom, will.
You remember your mom, don't you? She's the one upstairs who told you to work hard, get a good education, and everything would be alright.
Bitch lied to you again! Maybe you should just figure on taking care of yourself then. But don't piss off mom, that basement is valuable.
Seriously.
KFG
. . .as are the physics of a 10 car race - both should be obvious, since a single computer can and does handle both in single player games.
.
.20.
No auto racing simulation does this, not even the "hard core" sims. Real physics are only computed on the player's car. The rest are bots. Bots don't need to know the exact torque on their left driveshaft ("You" do, however). Only where their next waypoint is. This is trivial.
It's non-trivial, which explains the relatively higher system requirements.
It's nontrivial because computing the physics of a single car in a "hard core" sim such as Papyrus's or the more advanced noncommercial projects is nontrivial.
And I'd hope that car manufacturers have better traction simulations than those of say, Richard Burns Rally. .
Be careful what you wish for, you might end up disappointed. I've done some work in this field. I have chosen to focus on racing sims because it's the field where as a physicist I have done orginal research, written scientific simulations, both non-realtime and realtime, done real automotive engineering and worked on "games," as well as playing them.
I'm hardly the world's foremost expert on any of these things, but I'm not just pulling shit completely out of my ass either, and I know some of the world's foremost experts on these things.
Look, try this. Download the code of one of the open source racing or flight sims. Read it. I have. You'll find the physics are nontrivial. You'll also find they're computed client side and only trivial state data is sent to the server so it can relay to the other players where you are. The server has no need to know the exact torque on your left drive shaft, and neither do the other players. "You" do, however.
This is the reason why FPSs have been the leader in game graphics. Racing and flight sims cannot spare the computing power for graphics, the physics eats it all.
World data, however, is trivial. Which is to say nonexistant, because there are no objects in the world that require physics other than the player cars.
What the hell the "latest generation" FPSs are doing server side that requires so much work, well, I don't know. They don't have to make the pretty pictures. They don't have to make any pictures at all. I've never so much as seen one run. I obviously haven't read their code either. I'm stuck with older generations for that, as are you.
Go, read code.
Then maybe try writing a nontrivial driving sim with your all on the server side idea. Show it to me. If it works I owe you a beer or something, because I'm betting you won't even be able to drive your own car around the track with a ping of
KFG
You say that, even though you seem to acknowledge that the server should not trust client data in a reply to my post below.
.the latter so that the client can display something while waiting for the server, the former because the server must never trust any client to do any real work for it.
As I also said the client should not trust data from the server. Nonetheless trust must be assigned to the untrusted, just as in the Real Word (tm).
As a result of this the Real World (tm) does not run as we might like. Neither do online games. We have to be a bit "Zen" about this, or else the road runs to madness. We must both strive to reduce imperfection, but also know when and where to cease striving and accept that imperfections are inevitable.
The fact is that the physics are probably calculated (in whatever manner or precision I don't care) on the server as well as on the clients:
Given your paranthetical I acknowledge that this is wise, and sometimes even necessary, in certain games. It depends upon the nature of the game universe.
. .
No, because the client is authority on what happens locally. When I move my controller, that is what happens. I, the gamer himself, is authority of my actions. Only my local machine can be trusted to calculate the effects in real time. What is displayed to me must be as close as possible to a true instantaneous reaction to my inputs. I cannot brake from 200 mph into a hairpin by sending my controler inputs to the server, having the server calculate the physics and sending the results back to me. What's more my local machine can calculate these physics just as accurately and trustedly as the server can, and can do so without also having to calculate the physics of the car behind me at the same time. The server must accept these calculations as "true" (it may have some algorithm to verify that trust before it "trusts" it, but that's an AI issue, not a physics issue) and there isn't a high end gaming machine in the world that wouldn't be brought to its knees by a three car race, let alone a 40 car race, if it had to do all of the primary physics itself.
Yet my 900mhz box with 128mb PC133, which can be brought to its knees by a single car without AI if I crank the effects up to max, can run 20 client cars without a hitch because the clients are computing what each car is doing.
In fact, given a sufficiently fast connection, clients might drop processing physics, but the server has to do it, simply because there is no other way.
c, not just a good idea, it's the law. There will never be such a sufficiently fast connection. It's the reason I have to give up gaming online entirely when and where I have to rely on satellite for my internet connection, even with the primary physics being computed client side.
Where the server does properly handle physics is in the universe at large, as that is where it is authority. Most of the time, most of this stuff, is adequately handled by AI though. Bots. Canned Goods. A train doesn't need real physics. It just needs to go down the track at the right speed in the right direction. More complicated behaviors of more complicated objects may need more complicated pseudophysics, asymptotically approaching game physics as needed.
But yes, the server is the proper place to calculate this and the proper authority over reporting its location. And the client has to trust it.
At the interface between the local world and the universal world there will be some level of AI to try smooth over the rough edges, which you can see by playing different games is done with either more or less success.
And in fact, older machines might not be up to the task anymore these days, I just did some searching around and here is from a post on the srcds.com forums:
This appears to be an issue with Steam specifically, not game architecture (or even Half Life architechture) generically, and just what Steam is doing, well, I admit I haven't a clue.
KFG
I realize you're kidding, but I don't think this little joke about BASIC corrupting the programmer's mind is even remotely true.
I was kidding about the dentistry. Edsger was definately not kidding (except, perhaps in a "Ha, ha! Only serious" sort of way), about BASIC.
I agree with Edsger. I've questioned his judgment here and there over the years. So far, I've always found that I lacked some fundamental wisdom and discovered he was bang on right after all.
I switched over to C at around age 11 and have never looked back toward BASIC since then.
I'm afraid this says nothing about the quality of your coding and the effect that your exposure to BASIC had upon it. You are in no position to judge this yourself.
Hell, I'd be scared to death to have Edsger audit my code, and I don't even have much exposure to BASIC, and haven't had the misfortune to be trained as a programmer or computer "scientist," and for that, at least, I am greatful.
From what I've been told, I would have been hired (with the same level of pay, not less) had I graduated with an anthropology degree instead of a CS degree.
I've tried to make this point here a few times. Oddly enough my wife's primary degree was anthropology, although she did back it up with a CS degree at a later date.
Her anthropology degree was from prestigious Mount Holyoke, her CS degree from a local community college. Neither markedly helped nor hindered her in finding a job. All they cared about was whether she had [i]a[/i] degree, and could she [i]do the work.[/i]
Most of the business world is very pragmatic, for a sufficiently small value of pragmatic.
Posting anon because of the salary quotes.
In this case I understand, I guess. I never post anon though. I'm willing put a "face" to every idiotic thing I say. People have a right to know who they're beating to a pulp.
KFG
There has been one critical, logical flaw in all of my reasoning which no one has previously pounced upon.
I have been talking generically, while the subject was specifically Half Life, and I'm afraid I'm utterly ignorant of Half Life, let alone Steam.
In my defense I might point, however, that your server does, indeed, meet most people's definition of the sort of old box that they wouldn't want to play single player on, but functions well as a 14 player server.
KFG
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
I'd imagine this goes double for anyone who "learned to program" in BASIC as a preteen.
Have you considered dentistry?
Ok, seriously, I'll go with the consensus here. Unless you're talking Ivy League it doesn't matter, and even then it will only matter to other Ivy Leagers and the terminally insecure who find that sort of thing innately impressive, and unless you already have an Ivy League first job connection it probably won't do you any good anyway.
Hell, some terminally insecure potential employers swing the other way and will automatically make themselves feel superior by denigrating your "special" education. The whole prestigious college thing can cut both ways, and you never know in advance which way it's going to go.
Life's a crap shoot. You just have to take your best shot and see where you end up.
And I know plenty of people with Ivy League PhDs who ended up places like in insurance (or plastics, but that's another story). Be prepared in advance for that possbility too.
KFG
I would hope not...
As would I.
However, I also hope it has at least reasonable trust in the data it sends, or the whole online gaming thing comes apart at the seams (which does not mean I hope my client trusts the data from the server either, but, ultimately, someone has to be in charge, and that's the role, and the only role, of the server).
KFG
The network latency is too high for all physics to be run on the server and transmitted to players.
.
.and then some additional work to decide when to override with server updates.
Who said anything about running physics on the server? The server doesn't run any physics at all, it simply collates the data, which is why servers are often older machines sitting off in a corner somewhere. The server is the device that needs maximum bandwidth, not cpu power.
Client-side prediction is required.
I said that.
To ensure responsiveness, the players' PCs must do the physics calculations locally, re-syncing with authoritative server updates whenever availible.
To insure maximum framerate (responsiveness is an entirely different issue) it must do something more complicated than that. It must decide when it is necessary to approximate doing the full physics locally and when it is unnecessary. When server data is nearly sufficient and when it isn't. It needs to predict the degree to which it needs to predict and only perform that degree of prediction which it needs to.
An object that has been traveling straight and level at 200 mph for the past week and a half needs the calculation of no physics to predict where it will be 0.1 of a second from now. In fact, you might well suspend predicting its behavior completely until you recieve data indicating that it's no longer safe to do so, thus relieving the local cpu entirely.
Conversely 20 cubes tumbling through the air and impacting each other requires a greater local calculation to make a prediciton of their behavior, even in the next 0.1 second.
Things not within the realm of the local player need not be overtly dealt with at all client side, whereas in single player mode they often require the continuous running of some sort of physics.
One assumes there will be a server update coming along in a fraction of a second, or the player is out of the game. This affects the degree to which one must calculate physics locally.
That kind of programming is a difficult art.
Calculating all the physics locally and re-syncing with server data when available is barely more difficult for the programmer than writing the physics of the game in the first place.
Proper online gaming predictive programming is beyond a difficult art. It is black.
If some game architects take the easy way out and place the difficulty on the client's cpu instead of their own programming ability, I understand, but it costs the client framerate, making for a poorer online gaming experience.
It requires all the work of doing the full physics calculations. .
Error correction (in game data terms, as opposed to raw data terms which is handled by your network card) doesn't require the calculation of any physics at all. It needs to calculate the difference between the current local behavior of an object and the server data, and present it to the gamer in as "pretty" a manner as possible. Hopefully without fucking things up royally in the process.
. .
Server updates are authoritative. The server is the only thing in the whole bloody mess that has any idea of the actual state of the system. Even when it's wrong it's still authoritative. Kinda like the judge who sent you up for something you didn't do. One may, up to a point, test that authority, (and I hope your lawyer at least tried to), but only up to a point.
One applies server updtates, and in their absence one must, of necessity, make a prediction, but one always regrets having to do so.
Lord knows, we shall always be full of regret, shan't we?
KFG
When in multiplayer mode. . .
He isn't complaining about a frame rate hit in multiplayer compared to single player. He's complaining about a frame rate hit in single player since installing death match.
The physics calculations the source engine was doing before has now gone up over 1500%.
You only want to be told where things are.
Your local machine only calculates your local physics. The machine of each other player calculates their local physics. It's distributed computing. No need for everyone to calculate everything and then try to snyc the results. A location grid is sent to the server (just a triplet of numbers for each object), which colates them, then sends the results to the client machines, which merely have to display them. There's the issue of lag, so you are running a predictive algorithm, and some error correction, but that's a far easier task on the cpu than actually doing the physics calculations. This will, indeed, result in a frame rate drop at times, but generally only when things are getting really messy. And the physics involved in a shooter are pretty simple anyway. You should see what they look like in a high end flight or driving sim. Framerate in those is physics limited because of the load on the cpu. Shooters are video limited because of the load on the GPU.
Of course in multiplayer you eliminate the overhead of AI calculations.
In other words, it's completely normal to get FPS drops between MP and SP.
But not 50% all the time, and certainly not in single player mode as well.
KFG
Though I hate car analogies
.a better illustration of abandonware would be a car parked on a country roadside for ten years. . .
I could have used fishing poles or shoes if it would have made you happier.
. .
In the case of the majority of abandonware the rights owner is still perfectly aware their ownership of the rights and is desirous of keeping and maintaining them. That's why the issue ends up in court.
However, in the case of the car abandoned by the side of the road, you might well drag it home, invest years and dollars into it's restoration, but you will never be able to register it without affecting a purchase from the title holder.
It isn't yours, no matter your assumptions.
KFG
There are all sorts of valid uses for p2p software too.
Which is one of the reasons not to make it illegal.
Valid doesn't necessarily mean majority.
Majority doesn't necesssarily rule by law. Laws are often explicitly for the protection of the minority.
However, if we're going to discuss the majority, the majority don't drop out of school at 16 in the first place, so the whole issue is one of how to handle a minority.
There are pressures other than law, which is usually the best way to go about things.
KFG
As long as we're at it, I might point out that while Burt designed Voyager, and his company Scaled Composites is the builder of record, that doesn't mean that Dick didn't build it as well.
He may well still be scraping expoy out from underneath his fingernails. As may be Jeanna.
One of the remarkable aspects of the Voyager story is the way they invested years of their lives "home" building the sucker with their own hands, and often the hands of any sucker who happened to be wandering by.
KFG
And if they want to drop out, it's very unlikely that forcing them to stay in will cause them to learn anything.
And not a few of us dropped out to avoid trouble and to improve our learning, took our GEDs and were in college a year ahead of our graduating class.
There are all sorts of valid reasons for leaving government school at 16, or even before that.
KFG
Oh well, there's always Christmas.
Nope, Christmas she'll be in Mexico, and I won't be. Mom, ummmmmmm, gets around. Come to think of it, maybe it's reasonable to just assume she ran around the South Pole naked. It wouldn't exactly be out of character.
(Oh, and just for the record, she was there as a journalist)
KFG
I was questioning whether the law was correct.
Ah, well, that question I can answer, as I have before, taking into account the intent of the original authors of the Constitution and the authors of the orginal legal code, as well as various ethical, moral and other philosophical issues:
No.
KFG