Pros und Cons Unity für Android.

IKäsebrot

Ensign
Registriert
Juni 2014
Beiträge
245
Hallo zusammen,

ich würde gern in Android Entwicklung einsteigen, insbesondere Spieleentwicklung. Da bieten sich offenbar zwei Möglichkeiten an. Das Android Studio läuft wohl unter Eclipse und co. und scheint pures Java zu sein. Dann gibt es natürlich auch noch Unity womit sich ebenfalls Android Games entwickeln lassen. Jetzt bin ich unschlüssig, bietet mir die Entwicklung unter Android Studio irgendwelche Vorteile gegenüber Unity? Wenn dem nicht so ist dann ist das doch eine sehr einfache Entscheidung weil sich Unity anbietet wenn es um Games geht.

Es ist einfach so, dass ich Ursprünglich aus der .NET/C#-Welt komme, was ja in Unity gebraucht werden kann. Aber ich könnte auch in Java drauf loscoden. Was sollte ich bei meiner Entscheidung beachten? Hat Jemand Erfahrung damit? Was sind Pros und Cons?

Ich würde euch bitten wirklich konstruktiv zu antworten und keinen "holy war" a la "Java gegen den Rest der Welt" zu starten :D

Gruß
 
Was soll das ganze denn werden. 2D oder 3D?

Unity beinhaltet eine komplette Engine die auf dem NDK ausgeführt wird. Dadurch ist sie performancetechnisch gut aufgestellt. Du entwickelst im Unity Editor für eben diese Unity Engine, importierst dort Texturen, hast ein WYSISYG Editor für die Spielwelt und weitere Assets. Du kannst Abläufe festlegen und schlussendlich an C# angelehnt Spiellogik schreiben. Dein Spiel läuft am Ende (quasi) auf allen Plattformen auf denen die Unity Engine läuft.

Ganz klares Pro für Spieleentwicklung.

Android Studio ist nicht nur pures Java, es ist sowohl Java, NDK (C) und Assets (XMLs). Der Punkt ist hier aber, dass man mit Android Studio nicht primär auf Spielentwicklung angelehnt ist. Ich würde es es höchstens für Puzzle o.Ä. empfehlen, die man also auch mit den Standardbausteinen aus den Android Oberflächen zusammenbauen kann. Für alles weitere (komplex,3D) musst du eigentlich schon so viel Wissen mitbringen, dass du de facto deine eigene Engine programmieren kannst.
 
Naja durchstarten würde ich mit 2D aber die 3D Option würde ich nie ausschließen. Das was du sagst macht Sinn und bestätigt meine Vermutung. Es ist nur so, dass ich bisher mit XNA gerabeitet habe, das hat mich geprägt. Jetzt kann ich nachts nicht schlafen weil ich Angst habe, dass alles womit ich seit Jahren arbeite morgen früh als obsolet abgetan wird :D
Das wird Java nicht so schnell passieren. Wie ist das entscheiden die Gerätehersteller ob ihre Hardware mit Unity kompatibel ist oder braucht es einfach eine bestimmte Komponente und dann kann Unity immer laufen? Ich hoffe man versteht den letzten Satz :rolleyes:
 
Hier mal eine Liste, in der Vor- und Nachteile verschiedener Engines aufgelistet sind. Ist hauptsächlich für 2D, aber Unity ist dabei.
 
Very self-centered engine

Unity3D uses very unique approach for doing things, most of knowledge acquired while using it, would completely non transferable to other engines. Advanced Unity3D programming is really dealing with Unity3D bugs, and finding loopholes around engine issues, nothing to do with graphics, etc - skills which would be valuable with other engines.

Diesen Punkt finde ich sehr negativ. Das wäre wohl ein Punkt pro Java pur.
 
Gerätehersteller müssen bezüglich Unity nichts direkt anpassen.
Die Firma hinter Unity entwickelt ihre Engine für alle Betriebssystemen. Mit den genauen Implementierungsdetails der Engine brauchst du dich als Entwickler für Spiele die auf der Engine laufen höchsten peripher befassen.

@Wissen
Natürlich ist Einiges hier "non-transferable", aber gerade Teile wie die Spiellogik (C#) schon. Als Alternative bietet sich natürlich auch noch die UnrealEngine an.
Aus persönlicher Erfahrungen (kleines und kurzes 4-Mann Projekt -> 4 Monate) kann ich sagen, dass Unity schnell zu erlernen ist (2-3 Monate). Für beide diese großen Engines gilt, dass auch VR Support vorhanden ist. Dadurch kannst du deine Anwendung ggf. aus der Masse der Spiele zur Zeit noch differenzieren.
 
Zurück
Oben