Ich möchte meinen Kindern das Programmieren beibringen, und es sieht so aus, als ob ich es auf zwei Optionen beschränkt hätte:
Ich konnte keine "aktuellen" Vergleiche finden und dachte, ich würde fragen:
Was ist besser jME3 + oder Unity4.3 + für Teaching Programming vs Engine Benefits?
Ich bin kein Spieleentwickler, aber als Unternehmen & amp; Leitsystementwickler Ich habe Erfahrung in C # und Java.
Ich stehe derzeit auf Unity4.3 +, weil:
Von einer Programmierperspektive halte ich C # ein wenig sauberer als Java, obwohl das wenig bedeutet, wenn die Engine Coding & amp; Objektmodell fördert schlechte Programmierung
Vorteile der Engine: Unity4.3 + wird "angeblich" kommende Unterstützung für beide XBox One & amp; PS4
Hinweis: In Fairness gegenüber jME werde ich diese "Pre-Alpha State" iOS-Option für jME notieren, die besser ist als ein Marketing "angenommen" vielleicht: ( Ссылка )
Wenn sie in allen anderen Punkten gleich sind, welche Service-Integration ist besser?
Schön, dass Sie in JME3 interessant sind.
Ich arbeite auch für ein Projekt, das darauf abzielt, Bildungsprogramme (Jugendliche und Erwachsene) in der Spielumgebung zu machen.
Wenn Sie Ihren Kindern erlauben wollen, über das Entwickeln von Spielen zu programmieren, ist das eine gute Idee. Aber sowohl JME3 als auch Unity sind viel komplizierter (ich gehe davon aus, dass Ihre Kinder noch jung sind) ... Es gibt auch wenige Projekte, die sich für Kinder eignen, um das Programmieren visuell zu erlernen.
Greenfoot ww.java.com/en/java_in_action/alice.jsp
Alice ww.greenfoot.org/door
Kojo ww.kogics.net/sf:kojo
Diese Dinge (Sprachen kommen mit IDEs) haben eine kurze Lernkurve und sind leicht zu bekommen, erfordern minimale Kenntnisse und sind für Kinder und Anfänger geeignet. Das ist die Bildungsseite.
Für die Motorseite. [Dies ist meine persönliche Meinung]
Ich habe JME bevorzugt. Ich bin auch Unity (machte etwa 4-5 kommerzielle Spiele in Einheit mein Selbst) zu JME gehen. Vor Unity arbeitete ich auch in Ogre, UDK, Torque und vielen anderen Motoren (10 weitere). Ich arbeitete auch mit Commercial Engine im Tagesjob in C ++, die zwar verdammt dreckig sind, aber extrem flüssig laufen und Millionen Dollar kosten.
Der Grund ist: Dieser Motor hat dich mit seiner Beschränkung und den vorgefertigten Lösungen gefesselt. Natürlich ist das auch die Hälfte der Gründe, warum Sie sich zuerst für Motor und Motor entscheiden. Aber wenn Sie diese Einschränkung treffen, zum Beispiel die Lizenzgebühr oder die geschlossenen Technologien. Du wirst sie genauso hassen wie ich.
Aus diesem Grund komme ich zu JME, um "komplette" Spielentwicklungs- und Unterhaltungstechnologie zu finden.
Wenn Sie ein erfahrener Java und C # in Verbindung mit JME und Unity Entwickler sind, werde ich Ihnen ein paar Dinge nennen, die * strong text * zwischen den beiden verglichen werden können:
Lizenz: frei Open Source vs frei / kommerziell
** Die Basistechnologie: **
Beachten Sie, dass ich immer noch Unity und JME3 zur gleichen Zeit verwende, für meine Arbeit und für mein Hobby. Ich nutze Unity 4 mit fantastischer Mekanim-Animation, Substance-Material ... am Tag und nutze JME3 für die Forschung und verbessere es nachts. IMO, JME3 ist die Spiel-Engine, die es wert ist zu lernen, und sie wird in Zukunft rocken und glänzen !!!
Hoffe diese Hilfe!
Es ist schwierig einen Vergleich zu machen, wenn ich Unity nie wirklich benutzt habe. Ich habe Demos und sein Interface gesehen. Aber nachdem ich die jMonkeyengine für ungefähr 2 1/2 Jahre benutzt habe, kann ich sagen, dass ich ein glücklicher Kunde bin:).
Unity hat wahrscheinlich ein bisschen mehr von allem: Entwickler, Benutzer, Schnickschnack, aber es sind damit verbundene Kosten verbunden.
Ähnlichkeiten zwischen den 2: - Große Gemeinschaften (Einheit ist größer) - Viele kostenlose Tutorials - Schnelle Entwicklung (hier ist ein Link zu einem Paar ludum wagt, dass ich mit der Verwendung von jME beteiligt gewesen bin) http://www.ludumdare.com/compo/ludum-dare-28/comment-page-3/? action = Vorschau & amp; uid = 16152 "> Ссылка , Ссылка ) - Einfach auf Windows / Mac / Linux / Android zu verteilen
Die jMonkeyEngine ist komplett kostenlos und alle Open Source (New BSD License). So können Sie alle internen Funktionen der Engine sehen und sie sogar ändern, wenn Sie etwas nicht mögen (natürlich können Sie die Änderungen gerne rückgängig machen :)). Sie werden also viel mehr lernen, wenn Sie in den jME Quellcode eintauchen.
C # und Java ist eine Debatte, die ewig dauern kann, aber ich denke nicht, dass sie ein definierender Faktor sein sollte, sie sind sehr ähnlich in der Natur. Es gibt keine brauchbare iOS-Version in jME, und ich glaube nicht, dass es unmittelbare Pläne für Xbox One und PS4 gibt, also wird Unity dort gewinnen.
JME ist ein bisschen mehr Hardcore-Engine als Unity.
JME: - starke Gemeinschaft (meistens in englischer Sprache) - OpenSource und frei zu verwenden. - hat viele coole Werkzeuge. Aber Unity hat viel mehr, denke ich. - Einfach zu kompilieren und mit allen Plattformen zu kodieren. - Unterstützt Linux. Sie können Spiele in Linux OS entwickeln.
Einheit: - Starke Gemeinschaft (mit vielen lokalen Gemeinschaften und Sprachen) - Nicht frei. Aber es hat professionelle Werkzeuge. - Hat Javascript-Unterstützung. Sie können Skripte innerhalb des Editors hinzufügen. - Hat wirklich coole Welt Editor. Aber Codierung ist besser in JME SDK.
Ich benutze JME. Aber es ist in vielen Fällen Hardcore.
Es hängt wirklich davon ab, was Sie anstreben.
Der Pro-on-Unity ist besonders ein Weg, um Assets in den Motor zu bekommen (über den Shop). Mit jme3 müssen Sie zumindest teilweise mit Blender / 3dsmax o.ä. arbeiten können. Oder verwende einen Grafikstil, wo es keine Rolle spielt (zB 2D oder Blockworld) Auch hat es bessere Stand der Technik in Bezug auf Beleuchtung und Beschattung. Aber Sie müssen früher oder später eine Lizenz erwerben, da selbst grundlegende Dinge wie LOD daran gebunden sind Ссылка und es ist nicht so billig.
Der Profi mit jme3 ist, dass es dich nicht einschränkt. Es ist nur eine Kernmaschine, aber auch nicht für einige Anwendungsfälle zugeschnitten.
Soweit ich verstehe, verwendet Unity ein System mit einer Entity-Komponente, aber ohne separate Systeme. (Die Komponenten enthalten die Logik)
In jme3 können Sie frei verwenden, was Sie wollen, und Sie werden ermutigt, eine saubere Trennung zwischen Logik und Grafik vorzunehmen. Es steht Ihnen frei, den von Ihnen bevorzugten Programmtyp zu verwenden (zB ES, OO). Da jme auf jvm basiert, haben Sie auch Zugriff auf andere jvm Sprachen, zB für die funktionale Programmierung über scala.
Es hängt also davon ab, was Ihr Ziel (und Budget) ist, mehr über die Entwicklung und ihre Besonderheiten oder mehr über das Erstellen eines eigenen Spiels.
Bezüglich der Versionskontrolle, JME3 funktioniert gut mit Git und Svn und Art alles andere. Da es keine speziellen Dateien oder Logik gibt, die mit irgendwelchen von ihnen verbunden sind.
Ich kann nicht sagen, dass ich jemals Unity benutzt habe, aber hier sind einige Dinge, die ich an JME3 liebe:
Ich muss fragen, wer gerade unterrichtet, ist eigentlich bereit für eine Game Engine zu programmieren?
Wenn das Erste, was gelehrt werden soll, ein Hallo-Welt-Skript ist, gefolgt von dem, was Variablen sind, dann machen beide Optionen nichts anderes, als zu kompliziert zu machen, was eine einfache Lernumgebung sein muss.
Selbst wenn sie die Grundlagen der Programmierung haben, sollten sie wissen, was die Grundlagen der Spieleprogrammierung sind. Sie sollten wissen, was ein Vektor ist und wie Matrixmathematik mit einem zugrunde liegenden Verständnis funktioniert, wie eine Maschine funktioniert.
Ich weiß nichts über jME, aber mit Unity wäre das der Punkt, wo sie Code schreiben könnten, der etwas tut, in dem sie ernsthaft sagen können, warum sie verstehen (was der wichtigste Teil sein sollte, jemanden zu unterrichten). . Ich beschreibe Unity als das einfachste, große Junge Spielzeug da draußen. Das bedeutet immer noch, dass sie für die großen Jungenspielzeug bereit sein müssen.
Oh, und bleiben Sie bei der kostenlosen Version von Unity. Die meisten Profi-Features sind grafische Elemente wie Blütenbeleuchtung, die die Fähigkeiten eines Programmierers nicht beeinflussen.
Tags und Links unity3d language-features jmonkeyengine