[ad_1]

Você pode ter visto [this recent post](https://www.reddit.com/r/TibiaMMO/comments/m1zolg/does_anyone_else_share_this_pain_why_is_this/) sobre o limite de clique no mapa “O destino está fora do intervalo” ser irritante. Algumas pessoas argumentavam que é inviável aumentar o limite, pois o cliente demoraria muito para calcular o caminho. Querendo saber se isso é verdade, escrevi uma implementação de [A*](https://en.wikipedia.org/wiki/A*_search_algorithm) e fiz alguns testes.

Este é um caminho próximo ao limite do jogo, tem 254 blocos de comprimento e demorou 44 ms para calcular:

[Short Thais run](https://preview.redd.it/ifqynkxtwgm61.png?width=721&format=png&auto=webp&s=8782569e1619b39d9983f05df17a660293fc2aa2)

Este é um caminho quase duas vezes maior que o limite do jogo, 558 blocos de comprimento, que levou 66 ms para ser calculado:

[Mount Sternum island to Venore](https://preview.redd.it/3idw6ahsygm61.png?width=1808&format=png&auto=webp&s=8e9667ec4518fad89d00ef03885024285f271dd4)

Este é um dos caminhos mais longos que você poderia seguir, 804 blocos de comprimento, que levaram 118ms para serem calculados:

[Ghostlands to a witch tower](https://preview.redd.it/h8dh79aexgm61.png?width=1508&format=png&auto=webp&s=1bb76e026431140d891a97d5a93992d6cae6874b)

E o caminho mais longo que consegui encontrar, com 870 tiles, levando 196ms para calcular:

[Mount Sternum island to Venore Swamp](https://preview.redd.it/b749fma0ygm61.png?width=2502&format=png&auto=webp&s=b9e3f28379d95518d87aa1d38cb8b3438b42ea53)

Em uma breve comparação:

| Caminho | Comprimento | Tempo de cálculo |
|: – |: – |: – |
| Corrida curta de Thais (limite no jogo) | 254 | 44ms |
| Ilha do Monte Sternum para Venore (duas vezes o limite do jogo) | 558 | 66ms |
| Ghostlands para uma torre bruxa | 804 | 118ms |
| Ilha Mount Sternum para Venore Swamp (caminho mais longo possível) | 870 | 196ms |

Como você pode ver, dobrar o limite, o que seria mais do que suficiente para a maioria dos casos, não resultaria em nenhum aumento significativo no tempo de cálculo do caminho. Se não houvesse limite, calcular o caminho mais longo que existe (que ninguém precisaria na prática de qualquer maneira) leva apenas menos de 200ms, que é um tempo quase imperceptível entre você clicar em um mapa e seu personagem começar a se mover.

Todos esses tempos são com uma implementação de pathfinding rápida e suja que eu hackeava, o que poderia ser mais rápido, especialmente quando escrito em C ++ como o real. O que significa que, na prática, esses tempos são ainda mais curtos.

** Concluindo: ** Sim, o limite de cliques no mapa pode ser aumentado sem muita preocupação com o tempo de processamento.

Algumas advertências:

O cliente pode precisar recalcular o caminho várias vezes por viagem, por exemplo, quando sua estrada estiver bloqueada por pacotes e precisar encontrar um novo. Ainda assim, com essas velocidades, isso não é um grande problema.

[ad_2]

Fonte: self.TibiaMMO

Leave A Reply