Como se tornar um programador melhor no Unity

Com o surgimento da IA e do aprendizado de máquina, é fácil presumir que os programadores não serão necessários no futuro. No entanto, pode levar muito tempo até que a Inteligência Artificial seja capaz de interpretar tarefas mais complexas, como abstração, otimização, interconexão, etc.

Portanto, nunca é tarde para refinar seus conhecimentos de programação em Unity, para se tornar não apenas um programador mais eficiente mas também, quando chegar a hora, capaz de supervisionar o código escrito por outros e orientá-los na direção certa.

1. A otimização prematura nem sempre é a raiz de todos os males

É um tema comum difamar a otimização prematura como uma etapa desnecessária ao prototipar algo, no entanto, nem sempre deve ser o caso, especialmente durante a adição de pequenas coisas, que você sabe com certeza têm um grande impacto desempenho, e quando é hora de fazer a otimização real, o tempo já foi economizado cuidando das coisas menores. Vamos usar gameObject.name como exemplo:

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Update()
    {
        objectName = gameObject.name;
		Debug.Log(objectName);
    }
}

O uso de gameObject.name pode parecer inofensivo, como descobrimos na postagem "Unity Otimize seu jogo usando o Profiler" , obter o nome de um objeto aloca bastante memória, o que multiplica o problema ao chamá-lo a cada quadro. Portanto, imediatamente, podemos mover essa atribuição para a função Iniciar (a menos que o nome do objeto mude com frequência, nesse caso, seria mais eficiente pular usando o nome completamente e use uma variável).

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Start()
    {
        objectName = gameObject.name;
    }

    void Update()
    {
        Debug.Log(objectName);
    }
}

2. Escreva um código mais curto

Escrever um código mais curto sempre economiza tempo, tornando-o mais legível e fácil de manter no futuro.

Há muitas maneiras de escrever um código mais curto e, no caso de Unity, um código C#. Por exemplo, simplificando a instrução if/else usando o símbolo ?:

int numA = 10;
int numB = 5;
int result;
if (numA > numB) {
    result = numA;
} else {
    result = numB;
}
Debug.Log(result);

O mesmo código pode ser abreviado para:

int numA = 10;
int numB = 5;
int result = (numA > numB) ? numA : numB;
Debug.Log(result);

Outra forma de encurtar o código é colocar o código repetitivo em sua própria função e, em seguida, usar essa função.

3. Codifique primeiro, pergunte depois

Embora o planejamento seja uma parte essencial de qualquer projeto, se for um protótipo ou se a ideia ainda não estiver definida, é importante começar a codificar o mais rápido possível, pois não importa a quantidade de planejamento , assim que você começar a trabalhar você sempre descobrirá algo que pode ser feito melhor/mais eficiente, ou que algumas ideias não são tão boas na prática quanto outras, e vice-versa.

No geral, poucas coisas o tornarão melhor em programação, como começar a trabalhar e escrever o código.

4. Playtest, antes de fazer qualquer alteração

Quando você tem uma demonstração jogável, é vital começar a testá-la o mais rápido possível para identificar onde as coisas podem ser melhoradas, porque muitas vezes, pode não ser aparente apenas olhando o código.

Depois de dominar a arte de testar e coletar feedback, você se tornará um programador mais eficiente, sabendo exatamente onde procurar para melhorar o código.

Unity obviamente fornece muitas ferramentas úteis ao longo do caminho, como Console (para identificar avisos e erros), Profiler para depurar o desempenho e o restante da interface (Cena, Hierarquia, Inspetor, etc. para monitorar o fluxo do jogo/projeto).

5. A otimização é um processo gradual

Todos podemos concordar que o desempenho do jogo pode fazer ou quebrar e é um dos pilares básicos de um lançamento bem-sucedido. Mas o desempenho do jogo só pode ser avaliado fazendo os play-tests em vários cenários e condições, a fim de simular o jogo do ponto de vista dos jogadores regulares.

Discutimos muitos métodos para depurar, otimizar e encontrar gargalos no código do seu jogo.

Para saber mais sobre como otimizar seu jogo para computador ou celular, você pode conferir as postagens abaixo:

  1. Unity Otimize seu jogo usando o Profiler
  2. Melhorando o desempenho de um jogo para celular em Unity 3D
  3. Unity Dicas de otimização

Se você tem suas próprias dicas sobre como se tornar um programador melhor em Unity, sinta-se à vontade para publicá-las no comentários.