Cómo convertirse en un mejor programador en Unity

Con el surgimiento de AI y Machine Learning, es fácil asumir que los programadores no serán necesarios en el futuro. Sin embargo, puede pasar mucho tiempo antes de que la Inteligencia Artificial sea capaz de interpretar tareas más complejas, como abstracción, optimización, interconexión, etc.

Por lo tanto, nunca es demasiado tarde para refinar sus conocimientos de programación en Unity, para convertirse no solo en un programador más eficiente sino también, cuando llegue el momento , capaz de supervisar el código escrito por otros y guiarlos en la dirección correcta.

1. La optimización prematura no siempre es la raíz de todos los males

Es un tema común vilipendiar la optimización prematura como un paso innecesario al crear prototipos de algo, sin embargo, no siempre debería ser el caso, especialmente al agregar cosas pequeñas, que sabe con certeza que tienen un gran impacto en el rendimiento, y cuando es el momento de hacer la optimización real, el tiempo ya se ahorró al ocuparse de las cosas más pequeñas. Usemos gameObject.name como ejemplo:

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

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

Si bien el uso de gameObject.name puede parecer inofensivo, como descubrimos en la publicación "Unity Optimize Your Game Using Profiler", obtener el nombre de un objeto asigna bastante un poco de memoria, lo que multiplica el problema al llamarlo cada cuadro. Entonces, de inmediato, podemos mover esa asignación a la función Iniciar (a menos que el nombre del objeto cambie con frecuencia, en ese caso, sería más eficiente omitir el uso del nombre en conjunto y use una variable en su lugar).

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

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

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

2. Escribe un código más corto

Escribir código más corto siempre ahorra tiempo, haciéndolo más legible y fácil de mantener en el futuro.

Hay muchas formas de escribir código más corto y, en el caso de Unity, un código C#. Por ejemplo, simplificando la declaración if/else usando ?' symbol:'

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

El mismo código se puede acortar a:

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

Otra forma de acortar el código es colocar el código repetitivo en su propia función y luego usar esa función en su lugar.

3. Codifique primero, haga preguntas después

Si bien la planificación es una parte esencial de cualquier proyecto, si se trata de un prototipo o si la idea aún no está escrita en piedra, es importante comenzar a codificar lo antes posible, ya que no importa la cantidad de planificación, tan pronto como llegue a trabajo, siempre descubrirá algo que se puede hacer mejor/más eficientemente, o que algunas ideas no son tan buenas en la práctica como otras, y viceversa.

En general, muy pocas cosas lo harán mejor en la programación como ponerse a trabajar y comenzar a escribir el código.

4. Playtest, antes de hacer cualquier cambio

Cuando tiene una demostración jugable, es vital comenzar a probarla lo antes posible para identificar dónde se pueden mejorar las cosas, porque a menudo, es posible que no sea evidente con solo mirar el código.

Una vez que domine el arte de probar el juego y recopilar comentarios, se convertirá en un programador más eficiente al saber exactamente dónde buscar para mejorar el código.

Unity por supuesto, proporciona muchas herramientas útiles en el camino, como Consola (para detectar advertencias y errores), Profiler para depurar el rendimiento y el resto de la interfaz (Escena, Jerarquía , Inspector, etc. para monitorear el flujo del juego/proyecto).

5. La optimización es un proceso gradual

Todos podemos estar de acuerdo en que el rendimiento del juego puede ser decisivo y es uno de los pilares básicos de un lanzamiento exitoso. Pero el rendimiento del juego solo puede evaluarse realizando pruebas de juego en varios escenarios y condiciones, para simular el juego desde el punto de vista de los jugadores habituales.

Hemos discutido muchos métodos sobre cómo depurar, optimizar y encontrar cuellos de botella en el código de su juego.

Para obtener más información sobre cómo optimizar su juego de escritorio o móvil, puede consultar las publicaciones a continuación:

  1. Unity Optimice su juego usando Profiler
  2. Mejorar el rendimiento de un juego móvil en Unity 3D
  3. Unity Consejos de optimización

Si tienes tus propios consejos sobre cómo convertirte en un mejor programador en Unity, no dudes en publicarlos en los comentarios.

Artículos sugeridos
Trabajar con Arrays y Listas en Unity Code
Cómo reproducir archivos de vídeo en Unity
Cómo agregar el efecto de mira de francotirador en Unity
Cómo activar una escena en Unity
Cómo pausar el juego en Unity
Unity Cómo crear un sombreador
Manejo de excepciones y manejo de errores en código Unity