Die Analogie mit Blitz ist ganz richtig, aber ich verstehe Ihre Analogie mit Puppen nicht wirklich.
Die guten Dinge an der Einheit sind:
- cross-platform: Das ist ein sehr großes Plus, ich würde sagen der größere Grund.
- Hochwertige Engine und Implementierung, ich meine die Verwendung von Unity-Spielobjekten usw.
- Es ist sehr einfach, ein einfaches Spiel von Grund auf neu zu erstellen.
Die schlechten Dinge:
- Kann keine Verbindung zu C ++ oder C herstellen, sodass Ihr Projekt möglicherweise nur unter Unity funktioniert. Mit C # könnte man argumentieren, dass es auf XNA funktionieren wird, aber C ++ wäre schön gewesen. Mit dieser Bemerkung meine ich, dass es kein Werkzeug ist, das erfahrene Profis oder Autodidakten verwenden würden, da Sie keine vollständige Kontrolle über Ihre Anwendung haben, aber dies bedeutet nicht, dass es Dinge gibt, die Sie mit Unity nicht tun können. Andererseits kann ein Team mit einer großartigen Idee und talentierten Künstlern großartige Dinge tun, ohne erfahrene Programmierer zu benötigen.
- Es ist ziemlich neu, so dass offensichtlich niemand weiß, wohin dieses Tool führen wird.
Das, was ich an Unity nicht mag, ist, dass es sich so anfühlt, als wäre die ganze harte Arbeit erledigt, also sind Programmierer viel weniger wertvoll. Auf der anderen Seite ist es großartig, um Leuten schnell beizubringen, wie man Dinge schnell baut.
Fazit: Unity (oder ein Tool wie Unity) ist eher für Künstler gedacht, die keine großen Programmierer erreichen können, aber dennoch wissen, wie man ein wenig Spieleskripting erstellt. Natürlich können Sie ein Spiel mit vollem Funktionsumfang erstellen, eine realistische IA hinzufügen, einen MMO-Netzcode erstellen und was nicht, aber große Unternehmen würden Unity nicht verwenden.
Das Programmieren von Modellen ermöglicht es einem, eine Lösung vorzuschlagen, die für 3/4 der Entwicklungswerkzeuge geeignet ist, so dass sie für diese "unabhängigen" Spielehersteller geeignet ist. Es schätzt ein bestimmtes Werkzeug und es schätzt auch Künstler, aber nicht Programmierer (mit Ausnahme derer aus dem Unity-Team natürlich).
Unity ist eine gute Abkürzung für Nicht-Programmierer, aber sie müssen verstehen, dass Videospiele aus Codezeilen stammen und dass man nicht alles nur mit einem großartigen Tool machen kann. Irgendwann muss man etwas über Low-Level-Programmierung wissen.
Wenn ich ein persönliches Projekt vor Augen habe, würde ich Unity nicht verwenden, weil ich C # oder Boo nicht mag (Panda ist gut mit Python, warum also mit einer kommerziellen Software?), Und weil ich mein Projekt zeige und es fertig ist Einheit, es wird viel weniger beeindruckend sein.