Pular para o conteúdo

Identificando Problemas

O primeiro passo em qualquer processo de reporte de bugs é reunir provas de que algo está a correr mal. Mensagens simples como “Ei, este jogo não funciona” não são úteis para a nossa equipa de manutenção. Para corrigir um problema de forma eficiente, precisamos sempre de três coisas:

  • Um vídeo do bug a ser acionado. Compreendemos que não pode capturar o efeito a correr mal no teclado, mas um vídeo de gameplay é suficiente.
  • Uma descrição das ações que acionaram o bug. Por favor, seja o mais detalhado possível. Até pequenos detalhes podem ajudar-nos a identificar a origem do problema rapidamente.
  • A resolução de ecrã em que está a jogar. Sem isso, os nossos programadores precisam de verificar cada resolução que suportamos para encontrar o problema, o que pode ser demorado.

Se é um criador de Lightscript que não está diretamente afiliado à nossa empresa, estes passos simples ainda o vão ajudar muito com o seu próprio código. Documentação completa, combinada com uma compreensão da estrutura do código, torna a identificação de problemas um processo direto.

Se é um fã do jogo a tentar fazer manutenção por conta própria, certifique-se de nos enviar imagens de gameplay com o problema visível. Podemos ser capazes de acelerar a correção!

Os bugs de integração geralmente são fáceis de perceber — se um efeito nunca é reproduzido ou é reproduzido com demasiada frequência, algo está claramente partido. A parte desafiante é identificar exatamente a secção de código que está a causar o problema. Comece sempre por identificar o problema usando os passos descritos na secção anterior, pois isto fornecerá o caminho mais claro a seguir. Abaixo está um processo sugerido de correção de bugs:

  • Verifique o Registo da Consola:

    • Estamos a receber registos na consola que identificam o problema? Problemas comuns aqui incluem variáveis não declaradas, palavras com erros ortográficos e intervalos incorretos de medidores ou formas de desenho. O estouro de pilha não será detetado pelo SignalRGB, mas é fácil de perceber: o SignalRGB irá bloquear primeiro, seguido pelo seu computador. Seja um programador responsável e evite fazer a sua aplicação contar até ao infinito.
  • Verifique os Medidores:

    • O efeito aciona os seus medidores no Inspetor de Medidores durante o gameplay? Se sim, deve ver branco a aparecer na área preta abaixo da visualização do medidor.
      • Se o medidor estiver deslocado, use a nossa ferramenta proprietária (WindowSpy) para fazer medições de ecrã e ajustar o posicionamento do medidor na secção **<head>**.
      • Se isto corrigir o problema, lembre-se de ajustar o medidor para todas as outras resoluções na secção de ajuste. Instruções sobre posicionamento de medidores e coordenadas normalizadas podem ser encontradas na secção “Smart Tags” deste documento.
      • Se os medidores estiverem a acionar corretamente, o problema está noutro lugar.
  • Verifique a Função Update:

    • Os dados do medidor estão a ser passados corretamente para a classe Meter?
      • Inseriu atualizações condicionais de Meter para lidar com comportamentos complexos de UI?
      • Se tudo parecer bem, coloque um console.log diretamente dentro da sua função de callback. O registo deve aparecer sempre que o medidor se estabilizar, mesmo que o efeito não acione corretamente.
      • Se o registo aparecer de forma consistente, o problema está noutro lugar.
  • Avalie a Função de Callback:

    • Sabemos que a função de callback está a ativar corretamente porque vimos os registos anteriormente. Agora, reveja os condicionais dentro do efeito para verificar a precisão.
      • Se nada parecer obviamente errado, adicione instruções console.log dentro dos condicionais para ver se algum deles está a ser acionado incorretamente durante o gameplay.
      • Se tudo parecer bem, o problema pode estar dentro do próprio efeito.
  • Verifique a Função de Animação do Efeito:

    • As funções de animação podem ser muito variáveis, portanto não há um conselho único para todos os casos. No entanto, para uma depuração eficiente:
      • Mova o efeito para um template vazio de Lightscript e verifique se consegue ativá-lo para ver a animação no SignalRGB.
      • Preste atenção à consola e observe onde a animação quebra.
      • Isolar o código problemático vai poupar o seu tempo, por isso certifique-se de seguir este passo.