Para lhe dar uma idéia do que estávamos lidando, deixe-me mostrar-lhe um diagrama que representa o fluxo de execução per-frame para mísseis no antigo sistema:
( Eu deixaria você da um zoom e aumentar, mais assim como na musica eletrônica - as palavras não importam )
O decodificador no diagrama compreende o que chamamos de "míssil base," a classe raiz da hierarquia. Estes são os mísseis mais simples: eles voam em direção a uma posição ou uma unidade e ativá somente quando esse movimento é feito. Auto-ataques e tiros de revólver está nesse conjunto, Como os misseis de habilidades do Q de Corki e Ziggs 'R. O fluxo é bastante direto em que rastrear seu alvo, em seguida, avaliar onde o míssil deve mover-se, em seguida, ver se eles acertar o alvo. Mole-mole;
A próxima grande caixa no diagrama compreende "mísseis de linha", que abrange mais do que os jogadores, chamaríamos um míssil de "tiro habilidade" - coisas como Lux Luz de Ligação, Volei de Ashe, ou quase tudo que Ezreal faz. Há algumas surpresas nesta categoria também. Como Windwall de Yasuo: é um míssil linha. A ironia deve doer um pouco.
Mísseis de linha têm um comportamento significativamente mais complicado do que mísseis de base. Por exemplo, eles podem bater as coisas quando viajam, retornam ao seu lançador (como ult de Draven), ou abraçar o chão (como Raízes Zyra Grasping).
Misturar todos esses comportamentos diferentes em uma entidade é pecado bastante em linha reta fora do padrão, mas os mísseis de linha são ainda agravadas por ser um filho de mísseis de base. Como tal, os mísseis de linha de herdar todas as funcionalidades mísseis de baixo por padrão, mas usá-lo de forma diferente. Isso colocou-nos na situação frustrante, onde alterações em mísseis de base trouxe o risco de quebrar mísseis de linha de maneiras complexas.
Misturar todos esses comportamentos diferentes em uma entidade é pecado bastante em linha reta fora do padrão, mas os mísseis de linha são ainda agravadas por ser um filho de mísseis de base. Como tal, os mísseis de linha de herdar todas as funcionalidades mísseis de baixo por padrão, mas usá-lo de forma diferente. Isso colocou-nos na situação frustrante, onde alterações em mísseis de base trouxe o risco de quebrar mísseis de linha de maneiras complexas.
Em suma, o sistema de mísseis da League of Legends foi desnecessariamente complexo confuso para dentro de si mesmo, e bastante frágil. Como os mísseis representam um grande espaço de design para o jogo, que claramente tinha para torná-los fáceis de trabalhar.
Apesar de ter programadores mais felizes e menos defeitos é bom e tudo, o segundo e maior benefício aqui é que somos capazes de fazer coisas novas com mísseis. Sem ter de criar uma classe totalmente nova de mísseis a fim de ter um míssil que apenas se move de forma diferente, estamos livres para fazê-los fazer todos os tipos de coisas loucas. Deixo-vos com alguns exemplos que colocamos juntos para demonstrar. Estes não representam ideias de produção: eles são apenas o resultado de ter engenheiros com um pouco de tempo livre e um toque dos sillies.
Tivemos um pouco de diversão colocando um loop-de-ciclo em auto-ataques, e parecia bastante radical no Draven
E com uma pequena modificação no ponto de controle ranhura centro, nós adicionamos um pouco de amor para Varus.
Obs: Tradução não Oficial
Lembrando que tudo isso são apenas eles testando, não quer dizer que venha a surtir efeito no PBE ou algo assim, eles estão apenas mudando uma linha de códigos para eles testarem para eles mesmo para mostra o quão legal isso é.
Blogger Comment
Facebook Comment