Agrupación de objetos: 1 técnica sencilla para reciclar objetos de juego

La optimización es una parte importante con la que los desarrolladores de juegos se enfrentan constantemente para que los juegos se ejecuten más rápido y de manera más eficiente. No hace falta decir que generar toneladas de objetos del juego puede afectar el rendimiento y necesitará algunas formas de optimizar este aspecto. Aquí es donde entra en juego la agrupación de objetos.

La agrupación de objetos es una técnica de optimización que reutiliza los objetos del juego destruidos que aparecen varias veces en una sesión de juego. Ayuda a mejorar el rendimiento en escenarios donde una cantidad significativa de objetos del juego se crean y destruyen constantemente varias veces, como disparar rápidamente múltiples proyectiles de un arma.

La agrupación de objetos es una de las técnicas más comunes en el desarrollo de juegos, por lo que no está de más aprender sobre ella, ya que definitivamente encontrará usos para ella a medida que continúe su viaje de desarrollo de juegos. En este artículo, explicaré en detalle qué es la agrupación de objetos y le mostraré un pequeño ejemplo de agrupación de objetos en Unity.

Temas tratados en este artículo:

¿Qué es la técnica de optimización de agrupación de objetos en el desarrollo de juegos?

El objetivo de la agrupación de objetos es reducir la cantidad de veces que su juego necesita crear y destruir una gran cantidad de objetos del juego que deben ir y venir de una escena varias veces con frecuencia al deshabilitar u ocultar los objetos que supuestamente se destruyen y luego volver a habilitar cuando necesites esos objetos del juego en el futuro.

Proyecto Touhou de ZUN

Tome un juego de disparos de arriba hacia abajo del infierno de balas donde usted, como jugador, puede disparar toneladas de balas a hordas de enemigos, por ejemplo.

Lo que podría hacer en este escenario es:

  • Engendra objetos de juego de balas.
  • Envíalos volando hacia los enemigos.
  • Destruye las balas cuando golpean a un enemigo o cuando salen volando de la pantalla.
  • Enjuague y repita para cada objeto del juego de balas.
  • Siguiendo estos pasos, tu juego tendrá que crear muchos objetos de juego de balas, destruirlos y luego generar nuevas balas repetidamente cada vez que el jugador dispara algo.

    Esta forma de implementar esta mecánica de juego en particular provoca una caída considerable del rendimiento, ya que la creación y destrucción de objetos del juego pueden ser operaciones costosas si se realizan de manera extensiva en un corto período de tiempo.

    Aquí es donde entra en juego la agrupación de objetos.

    En lugar de deshacerse de un objeto del juego que ha cumplido su propósito, prefiere ocultar el objeto o configurarlo como inactivo y volver a habilitarlo cuando necesite usarlo nuevamente.

    Por ejemplo, en lugar de destruir los objetos del juego de balas una vez que golpean a un enemigo o salen de la pantalla, establece su estado activo en desactivado para ocultarlos de la escena del juego. Una vez que el jugador intenta disparar algo de nuevo, todo lo que tienes que hacer es restablecer la posición de las balas y luego habilitarlas.

    Correcto, con la agrupación de objetos, esto es lo que haces en su lugar:

  • Cree una lista vacía para almacenar los objetos del juego de balas.
  • Engendrar/Crear una instancia de las balas por primera vez.
  • Almacénelos en el objeto de lista que acaba de crear.
  • Cuando las balas alcancen a un enemigo o salgan volando de la pantalla, desactívalas para que desaparezcan de la escena. No los destruyas.
  • Cuando necesite disparar algo nuevamente, obtenga los objetos del juego de balas deshabilitados de la lista.
  • Restablezca sus posiciones y habilítelos.
  • Es posible que algunos de ustedes ya lo hayan descubierto. Simplemente almacenamos los objetos del juego «usados» en una lista, también conocida como grupo de objetos, y los reutilizamos cuando lo necesitamos. Por lo tanto, el nombre de «agrupación de objetos».

    Esto reducirá significativamente la cantidad de veces que el juego necesita instanciar nuevos objetos del juego, mejorando así el rendimiento del juego porque el juego no tiene que crear constantemente nuevos objetos todo el tiempo.

    Resurrección de Dodonpachi por CAVE Interactive CO., LTD.

    ¿Cuál es el uso de la agrupación de objetos? ¿Debo usar la agrupación de objetos?

    La agrupación de objetos se usa comúnmente en el desarrollo de juegos cuando un juego necesita generar muchos de los mismos objetos de juego poco después de otro continuamente durante un período de tiempo.

    La respuesta a si debe usar la técnica de agrupación de objetos o no es: Depende.

    Esto depende en gran medida del tipo de juego que esté creando y del tipo de mecánica de juego presente en su juego. Obviamente, lo más probable es que no uses esta técnica en algo como una novela visual o un juego de terror sin combate, ya que, característicamente, no generan objetos rápidamente varias veces.

    Considere usar la técnica de agrupación de objetos si:

    • Su juego necesita reutilizar los mismos tipos de objetos de juego repetidamente en un corto período de tiempo.
    • Cree periódicamente los mismos objetos de juego en un intervalo establecido con las mismas o similares condiciones y parámetros.
    • El jugador dispara proyectiles que son visibles en la escena del juego y son objetos del juego.

    También hay muchos otros casos en los que la agrupación de objetos puede resultar útil. Este artículo no terminará si seguimos enumerándolos, pero entiendes la idea.

    Cuándo usar la agrupación de objetos para optimizar tu juego

    La agrupación de objetos se puede utilizar en muchas situaciones. Uno de los usuarios más comunes de esta técnica es el tirador de arriba hacia abajo del infierno de balas donde el jugador dispara continuamente toneladas de balas y hay toneladas de enemigos que aparecen constantemente para saludarte.

    Aquí hay otro ejemplo. En un juego estilo Adventure Hack n’ Slash de una habitación por etapa, puedes generar un conjunto de enemigos al comienzo de una etapa y más adelante en esa etapa, puedes volver a encontrarte con esos enemigos.

    La agrupación de objetos ayudará a disminuir la cantidad de veces que necesita crear y generar esos enemigos, especialmente si busca algún tipo de modo de resistencia con enemigos que aparecen y corren hacia usted continuamente.

    Otro buen ejemplo son los enemigos que viven en el mundo abierto en los MMORPG, ya que tienden a reaparecer después de un tiempo después de ser derrotados por los jugadores. La agrupación de objetos funciona perfectamente en este escenario.

    Conclusión

    La agrupación de objetos es una excelente manera de hacer que su juego funcione de manera más fluida y con mayor rendimiento debido a la forma en que maneja múltiples copias de los objetos del juego.

    La técnica consiste en crear una lista y almacenar los objetos que usará en la escena varias veces allí, deshabilitar esos objetos una vez que hayan terminado con su trabajo y restablecerlos y volver a habilitarlos cuando los necesite nuevamente. De esta manera, su juego no tendrá que crear y destruir constantemente muchos objetos del juego, lo que aumentará el rendimiento.

    Hay muchas maneras de utilizar esta técnica de optimización. ¡Sal y explora las posibilidades!

    ¿Estás pensando en hacer un juego ahora mismo? Si no tienes idea de por dónde empezar, ¿qué tal si revisas mi otro artículo sobre el tipo de juegos que se recomiendan para los desarrolladores principiantes y ves si alguno de ellos despierta tu interés para empezar?

    ¡Que tengas un buen día y te veré de nuevo en el próximo artículo!

    Atribución

    Íconos de ciclo creados por fiki – Flaticon