È "sbagliato" costruire giochi Unity interamente con elementi dell'interfaccia utente VS sprite?


8

Mi ritrovo a partecipare a un progetto Unity con un team di programmazione in outsourcing. Il nostro gioco per cellulare ha un numero di minigiochi e li ha costruiti interamente con elementi dell'interfaccia utente o immagini non elaborate su uno o due elementi di tela. Ora, so che il termine "sbagliato" è aperto all'interpretazione poiché i giochi sono abbastanza semplici e funzionano bene sui dispositivi moderni su cui li abbiamo testati.

Tuttavia, il mio atteggiamento un po 'perfezionista spesso mi preoccupa del modo "corretto / best practice" di fare le cose e ho difficoltà a lasciar andare l'idea che questo non è il modo migliore per sviluppare i giochi. Guardo le migliori pratiche di Unity di non avere troppi elementi in una tela a causa del ridisegnarlo ogni volta che qualcosa cambia, renderizzatori di sprite ottimizzati per il taglio poligonale rispetto ai rects massimi per mantenere il sovraccarico, ecc. E la risposta che ottengo dal team di programmazione vale a dire "la capacità di proporzioni dello schermo degli elementi canvas consente di gestire facilmente diverse proporzioni, quindi è così che costruiamo i giochi".

Non voglio che questa sia una domanda "personale" votata in negativo, quindi c'è un motivo più convincente per non costruire semplici giochi per cellulare in questo modo? O è un caso se funziona su dispositivi mirati e non causa problemi, perché no? Grazie in anticipo per eventuali risposte, Jaysin


2
Questa domanda mi sembra basata sull'opinione, ma aspetterò e vedrò come altri utenti e mod votano. Una cosa che citerò è che l'efficienza delle risorse non riguarda solo la velocità di elaborazione e l'uso della memoria. Spesso la risorsa più limitata per un gioco è il tempo degli sviluppatori. Pertanto, se l'utilizzo di questa tecnologia consente ai partner di iterare rapidamente e fornire puntualmente la qualità target su molti dispositivi target, questo da solo potrebbe essere sufficiente per giustificare un aumento del tempo di esecuzione.
DMGregory

Grazie per il tuo feedback, stavo facendo del mio meglio per esprimerlo in modo tale da sollecitare le migliori pratiche del mondo reale e le potenziali conseguenze impreviste dell'uso di un metodo rispetto a un altro. Se non c'è una chiara ragione tecnica per non farlo, allora ciò aiuta a indicare una risposta che si può usare quel metodo se si adatta alle proprie esigenze. Ho chiesto qui, perché dopo giorni di ricerche non sono riuscito a trovare una risposta attuale sul problema.
Jaysin

Risposte:


4

Una soluzione deve essere adattata alle tue esigenze. Se le esigenze del gioco (prestazioni IE, reattività, facilità di sviluppo, ecc.) Vengono soddisfatte utilizzando solo gli elementi dell'interfaccia utente, non ci sono problemi.

Una cosa da considerare è che questo sistema significa che il tuo team di sviluppo probabilmente non sa come utilizzare le funzionalità complete di Unity. Se in futuro l'interfaccia utente sarà insufficiente, sarà probabilmente difficile indirizzarli verso un flusso Unity più standard.


Penso che @Jaysin stia cercando informazioni su quale soluzione sia "un flusso Unity più standard".
Luca

3

Sono d'accordo con Nihohit su questo. È importante prendere in considerazione l'ambito del progetto. Potrebbe essere più facile / veloce portare a termine il progetto in questo modo. Se si tratta solo di un piccolo tipo di gioco o app, passare in modo non ottimizzato spesso consente di risparmiare molto tempo, risparmiando quindi denaro. Se è improbabile che un progetto debba essere mantenuto per anni o su cui debba essere ampliato, potrebbe avere senso andare con ciò a cui sono abituati gli sviluppatori, anche se è considerato meno una buona pratica.

Questo non significa che la tua mentalità debba essere cambiata, perché, se avvii un progetto da zero, dovresti pensare totalmente al modo in cui implementi le cose e come renderlo più pulito. Ma, se sei in produzione e specialmente se lavori con codice in outsourcing, potrebbe essere meglio usare un hack, che è sporco, ma impiega un'ora per implementare piuttosto che refactoring un'intera sezione di codice per renderlo pulito, che potrebbe richiedere una settimana e costa migliaia di dollari.



1

Penso che l'unica domanda che dovresti porre in questo caso sia: "L'interfaccia utente fornisce tutte le funzionalità di cui ho bisogno?"

Ho riscontrato un problema molto simile, tranne per il fatto che stavo lavorando con UE4. Volevo fare un puzzle game in cui muovi uno stecchino e provi a posizionare gli spilli nella posizione corretta. All'inizio ho pensato che sarebbe stato più facile e veloce usare l'interfaccia utente, ma si è presto scoperto che gli sprite avevano già un sacco di funzionalità che avrei dovuto implementare da solo. Nel mio caso, quella risposta era "No, l'interfaccia utente NON fornisce tutte le funzionalità di cui ho bisogno".

Sembra che per te non sia il caso. Ma in futuro, potresti provare gli sprite solo per vedere se è più facile per te nel lungo periodo?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.