Esta página ainda não foi traduzida: mostrando a versão em inglês.
Como mostrar outros jogadores
Ninguém prevê os outros jogadores — eles são exibidos. Você recebe o estado deles em intervalos e desenha algo entre um e outro. Um erro aqui custa um tranco visível, não uma vida, e por isso este mecanismo tem declarações próprias em vez de compartilhar as da predição.
O modo de exibição é declarado
Para as entidades que não são suas, a sala (room) declara como preencher o intervalo entre os estados que chegam: interpolar entre os estados que você tem ou extrapolar além do mais recente. É uma declaração na entidade, então a resposta é a mesma em todos os clientes e não depende de quem implementou o renderizador.
O atraso de interpolação também é declarado. Mostrar os outros jogadores com suavidade significa mostrá-los um pouco atrasados, numa quantidade declarada. Você ajusta esse número para o seu gênero.
A extrapolação para em vez de inventar
A janela de extrapolação é declarada e, depois dela, a entidade deixa de ser mostrada em movimento em vez de continuar no chute. Extrapolar sem limite faz o jogador mirar num alvo que nunca esteve ali, e ele não tem como perceber — um congelamento visível é a falha da qual dá para se recuperar.
Por que isto é separado da predição do próprio movimento
Os três mecanismos de predição têm autoridades e modos de falha diferentes. Se uma só palavra valesse para os três, ajustar um mudaria os outros dois sem ninguém perceber.
| Mecanismo | Onde roda | Quando erra |
|---|---|---|
| prever o próprio movimento | o cliente | uma correção, reaplicada e suavizada |
| mostrar outros jogadores | o cliente | um tranco visível |
| Lag Compensation | o servidor | alguém morre injustamente |
Essa divisão também explica por que existe um preset observer só com este mecanismo: um espectador não tem input próprio para prever, então as configurações de predição ajustariam algo que ele não faz.