Ist es „falsch“, Unity-Spiele vollständig mit UI-Elementen oder Sprites zu erstellen?

8

Ich befinde mich mit einem ausgelagerten Programmierteam an Bord eines Unity-Projekts. Unser Handyspiel hat eine Reihe von Minispielen, die vollständig aus UI-Elementen oder Rohbildern auf nur einem oder zwei Canvas-Elementen erstellt wurden. Jetzt weiß ich, dass der Begriff "falsch" interpretiert werden kann, da die Spiele recht einfach sind und auf den modernen Geräten, auf denen wir sie getestet haben, einwandfrei funktionieren.

Meine etwas perfektionistische Einstellung hat mich jedoch oft besorgt über die "richtige / beste Vorgehensweise", und es fällt mir schwer, die Idee loszulassen, dass dies nicht der beste Weg ist, die Spiele zu entwickeln. Ich schaue mir die Best Practices von Unity an, nicht zu viele Elemente in einer Zeichenfläche zu haben, weil sie jedes Mal neu gezeichnet werden, wenn sich etwas ändert, Sprite-Renderer das Trimmen von Polygonen optimiert haben, im Gegensatz zu maximalen Änderungen, um das Überzeichnen zu verhindern usw. Und die Antwort, die ich vom Programmierteam bekomme ist: "Die Fähigkeit des Canvas-Verhältnisses von Canvas-Elementen macht es einfach, mit verschiedenen Seitenverhältnissen umzugehen. So erstellen wir also Spiele."

Ich möchte nicht, dass dies eine "persönliche" Frage ist. Gibt es also einen zwingenderen Grund, einfache Handyspiele nicht auf diese Weise zu entwickeln? Oder ist es ein Fall, wenn es auf Zielgeräten funktioniert und keine Probleme verursacht, warum nicht? Vielen Dank im Voraus für alle Antworten, Jaysin

Jaysin
quelle
2
Diese Frage sieht für mich meinungsbasiert aus, aber ich werde abwarten, wie andere Benutzer und Mods abstimmen. Eine Sache, die ich jedoch erwähnen werde, ist, dass es bei der Ressourceneffizienz nicht nur um Verarbeitungsgeschwindigkeit und Speichernutzung geht. Oft ist die Entwicklerzeit die begrenzteste Ressource für ein Spiel. Wenn Ihre Partner mithilfe dieser Technologie schnell iterieren und die Zielqualität pünktlich auf vielen Zielgeräten bereitstellen können, kann dies allein ausreichen, um einen erhöhten Laufzeitaufwand zu rechtfertigen.
DMGregory
Vielen Dank für Ihr Feedback. Ich habe mein Bestes gegeben, um es so zu formulieren, dass Best Practices aus der Praxis und mögliche unvorhergesehene Konsequenzen der Anwendung einer Methode gegenüber einer anderen ermittelt werden. Wenn es keinen eindeutigen technischen Grund gibt, dies nicht zu tun, hilft dies, auf eine Antwort hinzuweisen, dass man diese Methode verwenden kann, wenn sie ihren Anforderungen entspricht. Ich habe hier gefragt, weil ich nach Tagen der Suche keine aktuelle Antwort auf das Problem finden konnte.
Jaysin

Antworten:

4

Eine Lösung muss auf Ihre Bedürfnisse zugeschnitten sein. Wenn die Spielanforderungen (IE-Leistung, Reaktionsfähigkeit, einfache Entwicklung usw.) nur mit UI-Elementen erfüllt werden, gibt es kein Problem.

Eine Sache, die berücksichtigt werden sollte, ist, dass dieses System bedeutet, dass Ihr Entwicklungsteam wahrscheinlich nicht weiß, wie es die vollen Funktionen von Unity nutzen kann. Wenn die Benutzeroberfläche in Zukunft nicht mehr ausreicht, wird es wahrscheinlich schwierig sein, sie in Richtung eines einheitlicheren Unity-Flusses zu steuern.

Nihohit
quelle
Ich denke, dass @Jaysin nach Informationen darüber sucht, welche Lösung "ein Standard-Unity-Flow" ist.
Luke
3

Da stimme ich nihohit zu. Es ist wichtig, den Umfang des Projekts zu berücksichtigen. Es könnte einfacher / schneller sein, das Projekt auf diese Weise zu erledigen. Wenn es sich nur um eine kleine Art von Spiel oder App handelt, spart der nicht optimierte Weg oft viel Zeit, was dann Geld spart. Wenn es unwahrscheinlich ist, dass ein Projekt jahrelang gewartet oder erweitert werden muss, ist es möglicherweise sinnvoll, das zu tun, was die Entwickler gewohnt sind, auch wenn dies als weniger bewährte Methode angesehen wird.

Dies bedeutet nicht, dass Ihre Denkweise geändert werden sollte. Wenn Sie ein Projekt von Grund auf neu starten, sollten Sie sich überlegen, wie Sie die Dinge implementieren und wie Sie sie am saubersten gestalten. Wenn Sie jedoch in der Produktion sind und insbesondere mit ausgelagertem Code arbeiten, ist es möglicherweise besser, einen Hack zu verwenden, der unrein ist, dessen Implementierung jedoch eine Stunde dauert, anstatt einen ganzen Codeabschnitt zu überarbeiten, um ihn sauber zu machen kann eine Woche dauern und kostet Tausende von Dollar.

iQew
quelle
1

Es ist nichts Falsches daran, nur Canvas-Elemente zu verwenden

Aber es könnte hier trotzdem schlechte Praktiken geben (aber das ist es nicht).

Draco18s vertraut SE nicht mehr
quelle
1

Ich denke, die einzige Frage, die Sie in diesem Fall stellen sollten, lautet: "Bietet die Benutzeroberfläche alle Funktionen, die ich benötige?"

Ich habe ein sehr ähnliches Problem, außer dass ich mit UE4 gearbeitet habe. Ich wollte kein Puzzlespiel machen, bei dem Sie einen Dietrich bewegen und versuchen, die Stifte in der richtigen Position zu platzieren. Zuerst dachte ich, es wäre einfacher und schneller, die Benutzeroberfläche zu verwenden - aber es stellte sich schnell heraus, dass Sprites bereits eine Menge Funktionen hatten, die ich selbst implementieren musste. In meinem Fall lautete die Antwort "Nein, die Benutzeroberfläche bietet NICHT alle Funktionen, die ich benötige".

Es scheint für Sie nicht der Fall zu sein. Aber versuchen Sie es in Zukunft vielleicht mit Sprites, um zu sehen, ob es auf lange Sicht für Sie einfacher ist?

lilKriT
quelle