É "errado" criar jogos do Unity inteiramente com elementos de interface do usuário VS sprites?

8

Eu me vejo entrando em um projeto do Unity com uma equipe de programação terceirizada. Nosso jogo para celular possui vários minijogos e eles os criaram inteiramente a partir dos elementos da interface do usuário ou imagens brutas em apenas um ou dois elementos da tela. Agora, eu sei que o termo "errado" está aberto à interpretação, pois os jogos são bastante simples e funcionam bem nos dispositivos modernos em que os testamos.

No entanto, minha atitude um tanto perfeccionista muitas vezes me preocupa com a maneira "correta / de melhores práticas" de fazer as coisas e eu tenho dificuldade em deixar de lado a ideia de que essa não é a melhor maneira de desenvolver os jogos. Eu observo as práticas recomendadas do Unity de não ter muitos elementos em uma tela devido a redesenhar sempre que algo muda, os renderizadores de sprite otimizam o corte de polígono em oposição a max rects para manter o excesso, etc. E a resposta que recebo da equipe de programação é "a capacidade de proporção da tela dos elementos da tela facilita o manuseio de diferentes proporções, e é assim que criamos jogos".

Eu não quero que essa seja uma pergunta "pessoal" com voto negativo, então existe uma razão mais convincente para não criar jogos simples para celular dessa maneira? Ou é o caso de funcionar em dispositivos de destino e não causar problemas, por que não? Agradecemos antecipadamente por qualquer resposta, Jaysin

Jaysin
fonte
2
Esta pergunta parece baseada em opinião para mim, mas vou esperar e ver como outros usuários e mods votam. Uma coisa que mencionarei é que a eficiência dos recursos não se refere apenas à velocidade de processamento e uso de memória. Geralmente, o recurso mais limitado para um jogo é o tempo do desenvolvedor. Portanto, se o uso dessa tecnologia permitir que seus parceiros iterem rapidamente e forneçam a qualidade alvo dentro do prazo em muitos dispositivos de destino, isso por si só pode ser suficiente para justificar uma sobrecarga de tempo de execução aumentada.
DMGregory
Obrigado pelo seu feedback, eu estava tentando o meu melhor para expressá-lo de uma maneira que solicitasse as melhores práticas do mundo real e possíveis conseqüências imprevistas do uso de um método em detrimento de outro. Se não houver um motivo técnico claro para não fazê-lo, isso ajuda a apontar para uma resposta de que alguém pode usar esse método se ele atender às suas necessidades. Eu perguntei aqui, porque após dias de pesquisa não consegui encontrar uma resposta atual sobre o problema.
Jaysin

Respostas:

4

Uma solução precisa ser adaptada às suas necessidades. Se as necessidades do jogo (desempenho do IE, capacidade de resposta, facilidade de desenvolvimento etc.) forem atendidas usando apenas elementos da interface do usuário, não haverá problema.

Uma coisa que deve ser considerada é que esse sistema significa que sua equipe de desenvolvimento provavelmente não sabe como usar os recursos completos do Unity. Se, no futuro, a interface do usuário for insuficiente, provavelmente será difícil direcioná-los para um fluxo Unity mais padrão.

nihohit
fonte
Eu acho que o @Jaysin está procurando informações sobre qual solução é "um fluxo Unity mais padrão".
Lucas
3

Eu concordo com nihohit sobre isso. É importante levar em consideração o escopo do projeto. Pode ser mais fácil / rápido concluir o projeto dessa maneira. Se for apenas um pequeno tipo de jogo ou aplicativo, seguir o caminho não otimizado geralmente poupa muito tempo, o que economiza dinheiro. Se é improvável que um projeto precise ser mantido por anos ou precise ser expandido, pode fazer sentido seguir com o que os desenvolvedores estão acostumados, mesmo que seja considerado menos uma boa prática.

Isso não significa que sua mentalidade deva ser alterada, porque, se você iniciar um projeto do zero, deve pensar totalmente na maneira como implementa as coisas e em como torná-lo o mais limpo. Mas, se você estiver em produção e, especialmente, se trabalhar com código terceirizado, talvez seja melhor usar um hack, que não é limpo, mas leva uma hora para implementar, em vez de refatorar uma seção inteira do código para torná-lo limpo, o que pode levar uma semana e custa milhares de dólares.

iQew
fonte
1

Não há nada errado em usar apenas elementos de tela

Mas pode haver más práticas aqui, mesmo assim (mas não é isso).

Draco18s não confia mais no SE
fonte
1

Eu acho que a única pergunta que você deve fazer neste caso é: "A interface do usuário está fornecendo toda a funcionalidade que eu preciso?"

Eu enfrentei um problema muito semelhante, exceto que estava trabalhando com UE4. Eu queria fazer um jogo de quebra-cabeça em que você movesse um lockpick e tentasse colocar os pinos na posição correta. No começo, pensei que seria mais fácil e rápido usar a interface do usuário - mas rapidamente descobriu-se que os sprites já tinham muitos recursos que eu precisaria me implementar. No meu caso, essa resposta foi "Não, a interface do usuário NÃO está fornecendo todos os recursos necessários".

Parece que para você não é o caso. Mas no futuro, talvez tente sprites apenas para ver se é mais fácil para você a longo prazo?

lilKriT
fonte