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:
- Unity Otimize seu jogo usando o Profiler
- Melhorando o desempenho de um jogo para celular em Unity 3D
- 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.