View Single Post
  #200  
Old 12-23-2005, 12:53 PM
Tyhm Tyhm is offline
Psionic Youth
Tyhm's Avatar
Join Date: Mar 2001
Location: Babord, West Graal Deaths:1009 Kills:1
Posts: 5,635
Tyhm has a spectacular aura about
Quote:
Originally Posted by Lyndzey
Come back
As much as I'd love to oblige, it's murder on my social life - I so much as log on, find myself inexorably romantically tied to one Graalian of my past or another, fritter away roundabout two years waiting for it to bloom and eventually realize everyone's laughing at me.
Quote:
Originally Posted by Polo
You also have the major problem that to hit a moving target, you'd need a 0.05 second timeout, which is somthing we should be avoiding on serverside.
I always thought that was humorous. This is a bit tricky to code, but try and keep up on the concept:
Tyhm enters a room.
From 30.5,30, facing 0, he fires an Arrow at server time index 12345600. This checks the next likely wall (let's say at y=10) and sets the server string for it.
Every client then recieves "30.5,30,0,12345600,10" and extrapolates:
30.5,29,123456001;
30.5,28,123456002;
30.5,27,123456003;
30.5,26,123456004;
and so on until it hits the wall. Every client sees the arrow flying and, if they intercept it, they take the damage.
The tricky bit is if a client is hit, that changes when the arrow hit a wall and you have to tell everyone in the room not to worry about that projectile anymore. Further, it makes octoballs a little tricky (but not much: dir*90 gives you the angle clockwise from N, so we could just store it all that way), and rooms that spam Way Too Many Projectiles get complicated...but maybe not too complicated. Major complication - you still have to trust the clients to recieve their damage, much in the same way you have to trust the clients to tell the truth about what walls they've walked through. Possible solution - hit the client occasionally to keep it honest. With blanks, maybe, I dunno, tell the client it's about to be shot and see if it accepts it and reports back with damage, then heal it and let it be. Maybe that'd be a GP tool, the Inescapable Arrow that Definitely Hits Any Player That Isn't Cheating And Jails Any Player That It Somehow Misses. I dunno, it all got too complicated for me a long time ago.

Anyone watching - this is why Classic's taking so long, it's not as easy as "Just upload the old levels, OMG!", everything needs to be coded for serverside compatibility. If you don't like it, Stefan's the man to talk to, he's the one who implemented the security that effectively ended good old simplified (if painfully buggy and easily exploited) clientside scripting.

Still don't see why signs ever became serverside...
__________________
"Whatever," said Bean, "I was just glad to get out of the toilet."

"Power does not corrupt. Fear corrupts, perhaps the fear of a loss of power."- John Steinbeck
"I'm only acting retarded, what's your excuse?" queried the Gord.
- My pet, the Levelup Gnome

http://forums.graalonline.com/forums...&postcount=233
Reply With Quote