射擊網(wǎng)游中網(wǎng)絡(luò)時(shí)延的處理
(金慶的專欄)
網(wǎng)游中的網(wǎng)絡(luò)時(shí)延是無(wú)法避免的事.
例如移動(dòng), 客戶端發(fā)出命令到收到服務(wù)器的確認(rèn)會(huì)有100ms的時(shí)延,
如果客戶端等待100ms后再移動(dòng), 操作性將會(huì)非常差.
一般是不等服務(wù)器確認(rèn), 先移動(dòng)起來(lái).
對(duì)于攻擊, 同樣也有時(shí)延.
一般的PK網(wǎng)游中,攻擊速度很慢,大概1s發(fā)一次攻擊,
攻擊傷害結(jié)果延時(shí)100ms沒(méi)有問(wèn)題.
因?yàn)楣魟?dòng)作播放大于100ms.
但在射擊類網(wǎng)游中, 網(wǎng)絡(luò)時(shí)延就很難處理.
開槍射擊后, 是否打中的結(jié)果要100ms后才知道.
大多數(shù)的處理是用客戶端判斷, 所以可能出現(xiàn)外掛.
因?yàn)榫W(wǎng)絡(luò)時(shí)延的存在, 網(wǎng)絡(luò)游戲其實(shí)并不適合射擊, 格斗這些即時(shí)性強(qiáng)的游戲.
最適合的是星際戰(zhàn)爭(zhēng)這類遠(yuǎn)距離的對(duì)打, 發(fā)個(gè)導(dǎo)彈會(huì)需要一段時(shí)間后才命中,
正好符合網(wǎng)絡(luò)有時(shí)延的特征.
為了處理網(wǎng)絡(luò)時(shí)延, 射擊的結(jié)果不應(yīng)該立即表現(xiàn)出來(lái).
對(duì)目標(biāo)開槍后, 目標(biāo)不應(yīng)該立即倒地死亡, 而是應(yīng)該表現(xiàn)出一種可能被擊中的動(dòng)作,
等待服務(wù)器確認(rèn)后才倒地.
這符合真實(shí)的情景, 即使被擊中要害部位, 倒地前仍然可能有一定的動(dòng)作.
如果服務(wù)器判定沒(méi)有死亡, 目標(biāo)可能僅僅是受傷, 可能是未打中,
目標(biāo)這時(shí)可恢復(fù)其正常的動(dòng)作.
(金慶的專欄)
網(wǎng)游中的網(wǎng)絡(luò)時(shí)延是無(wú)法避免的事.
例如移動(dòng), 客戶端發(fā)出命令到收到服務(wù)器的確認(rèn)會(huì)有100ms的時(shí)延,
如果客戶端等待100ms后再移動(dòng), 操作性將會(huì)非常差.
一般是不等服務(wù)器確認(rèn), 先移動(dòng)起來(lái).
對(duì)于攻擊, 同樣也有時(shí)延.
一般的PK網(wǎng)游中,攻擊速度很慢,大概1s發(fā)一次攻擊,
攻擊傷害結(jié)果延時(shí)100ms沒(méi)有問(wèn)題.
因?yàn)楣魟?dòng)作播放大于100ms.
但在射擊類網(wǎng)游中, 網(wǎng)絡(luò)時(shí)延就很難處理.
開槍射擊后, 是否打中的結(jié)果要100ms后才知道.
大多數(shù)的處理是用客戶端判斷, 所以可能出現(xiàn)外掛.
因?yàn)榫W(wǎng)絡(luò)時(shí)延的存在, 網(wǎng)絡(luò)游戲其實(shí)并不適合射擊, 格斗這些即時(shí)性強(qiáng)的游戲.
最適合的是星際戰(zhàn)爭(zhēng)這類遠(yuǎn)距離的對(duì)打, 發(fā)個(gè)導(dǎo)彈會(huì)需要一段時(shí)間后才命中,
正好符合網(wǎng)絡(luò)有時(shí)延的特征.
為了處理網(wǎng)絡(luò)時(shí)延, 射擊的結(jié)果不應(yīng)該立即表現(xiàn)出來(lái).
對(duì)目標(biāo)開槍后, 目標(biāo)不應(yīng)該立即倒地死亡, 而是應(yīng)該表現(xiàn)出一種可能被擊中的動(dòng)作,
等待服務(wù)器確認(rèn)后才倒地.
這符合真實(shí)的情景, 即使被擊中要害部位, 倒地前仍然可能有一定的動(dòng)作.
如果服務(wù)器判定沒(méi)有死亡, 目標(biāo)可能僅僅是受傷, 可能是未打中,
目標(biāo)這時(shí)可恢復(fù)其正常的動(dòng)作.