|Date:||11/22/2012 6:58:45 PM|
|Subject:||RE: Laser Cutter Grenade|
Serverside the lasers are just ray casts.
clientside they are merely effect beams.
I ensure the starting orientation of the beams matches on server and client and use the gameclock to enforce a rendered spin to match the serverside rate. I believe I went so far as to have the floating item be something other than the projectile grenade that was launched. allowing it to have a simpler state machine.
the biggest difference between older quakes and quake4 was that everything could think on clientside to perform some level of prediction. very often in my code for perfection of synch, I had the item on the serverside calculate the end of its lifetime or effecttime (ex plasmabomb timer or kamikaze timer) and transmit the gameclock time of completion to the client at the start of the effect. the client side then manipulated itself to properly finish on time. no "IT WENT OFF AT 1 SECOND" complaints anymore. Same applied to anything with a timed life. Their expected endtimes were coordinated by server and client side adjusted. Early deaths by rockets (think proxies getting blown up) etc just synched like normal since the projectile would cause the end of life.