¿Es "incorrecto" construir juegos de Unity completamente con elementos UI VS sprites?

8

Me encuentro a bordo de un proyecto de Unity con un equipo de programación subcontratado. Nuestro juego móvil tiene una serie de minijuegos y los han construido completamente a partir de elementos de interfaz de usuario o imágenes en bruto en solo uno o dos elementos de lienzo. Ahora, sé que el término "incorrecto" está abierto a interpretación ya que los juegos son bastante simples y funcionan bien en los dispositivos modernos en los que los hemos probado.

Sin embargo, mi actitud algo perfeccionista a menudo me preocupa por la forma "correcta / mejor práctica" de hacer las cosas y me cuesta dejar de lado la idea de que esta no es la mejor manera de desarrollar los juegos. Miro las mejores prácticas de Unity de no tener demasiados elementos en un lienzo debido a volver a dibujarlo cada vez que algo cambia, los renderizadores de sprites optimizan el recorte de polígonos en lugar de los máximos rectos para mantener el sobregiro, etc. Y la respuesta que recibo del equipo de programación es decir, "la capacidad de relación de pantalla de los elementos del lienzo facilita el manejo de diferentes relaciones de aspecto, así que así es como construimos juegos".

No quiero que esta sea una pregunta "personal" rechazada, entonces, ¿hay alguna razón más convincente para no construir juegos móviles simples de esta manera? ¿O es un caso de si funciona en dispositivos específicos y no está causando problemas, por qué no? Gracias de antemano por cualquier respuesta, Jaysin

Jaysin
fuente
2
Esta pregunta me parece basada en una opinión, pero esperaré y veré cómo votan otros usuarios y mods. Sin embargo, una cosa que mencionaré es que la eficiencia de los recursos no se trata solo de la velocidad de procesamiento y el uso de la memoria. A menudo, el recurso más limitado para un juego es el tiempo del desarrollador. Por lo tanto, si el uso de esta tecnología permite a sus socios iterar rápidamente y entregar la calidad objetivo a tiempo en muchos dispositivos objetivo, eso solo puede ser suficiente para justificar una mayor sobrecarga de tiempo de ejecución.
DMGregory
Gracias por sus comentarios, estaba haciendo mi mejor esfuerzo para expresarlo de una manera que solicitara las mejores prácticas del mundo real y las posibles consecuencias imprevistas del uso de un método sobre otro. Si no hay una razón técnica clara para no hacerlo, eso ayuda a señalar una respuesta de que uno puede usar ese método si se ajusta a sus necesidades. Pregunté aquí, porque después de días de búsqueda no pude encontrar una respuesta actual sobre el tema.
Jaysin

Respuestas:

4

Una solución debe adaptarse a sus necesidades. Si las necesidades del juego (rendimiento de IE, capacidad de respuesta, facilidad de desarrollo, etc.) se satisfacen utilizando solo elementos de la interfaz de usuario, entonces no hay problema.

Una cosa que debe considerarse es que este sistema significa que su equipo de desarrollo probablemente no sepa cómo usar todas las capacidades de Unity. Si en el futuro la IU será insuficiente, probablemente será difícil orientarlos hacia un flujo de Unidad más estándar.

nihohit
fuente
Creo que @Jaysin está buscando información sobre qué solución es "un flujo de Unity más estándar".
Lucas
3

Estoy de acuerdo con nihohit en esto. Es importante tener en cuenta el alcance del proyecto. Puede ser más fácil / rápido hacer el proyecto de esta manera. Si se trata solo de un pequeño tipo de juego o aplicación, ir de la manera no optimizada a menudo ahorra mucho tiempo, lo que luego ahorra dinero. Si es poco probable que un proyecto deba mantenerse durante años o deba ampliarse, podría tener sentido seguir con lo que los desarrolladores están acostumbrados, incluso si se considera menos una buena práctica.

Esto no significa que deba cambiar su mentalidad, porque si comienza un proyecto desde cero, debe pensar totalmente en la forma en que implementa las cosas y en cómo hacerlo más limpio. Pero, si está en producción y especialmente si trabaja con código subcontratado, podría ser mejor usar un hack, que no está limpio, pero lleva una hora implementarlo en lugar de refactorizar una sección completa de código para que quede limpio. puede tomar una semana y cuesta miles de dólares.

iQew
fuente
1

No hay nada de malo en usar solo elementos de lienzo

Pero podría haber malas prácticas aquí, no obstante (pero no es eso).

Draco18s ya no confía en SE
fuente
1

Creo que la única pregunta que debe hacer en este caso es: "¿La interfaz de usuario proporciona toda la funcionalidad que necesito?"

Tengo un problema muy similar, excepto que estaba trabajando con UE4. Quería hacer un juego de rompecabezas en el que muevas un candado y trates de colocar los pines en la posición correcta. Al principio pensé que sería más fácil y rápido usar la interfaz de usuario, pero rápidamente resultó que los sprites ya tenían una gran cantidad de características que tendría que implementar yo mismo. En mi caso, esa respuesta fue "No, la interfaz de usuario NO proporciona todas las funciones que necesito".

Parece que para ti no es el caso. Pero en el futuro, ¿tal vez intentes sprites solo para ver si es más fácil para ti a largo plazo?

lilKriT
fuente