Sollte ich jMonkeyEngine 3 (jME 3) oder Unity 4.3 verwenden, um meinen Kindern die Programmierung von Spielen beizubringen? [geschlossen]

7

Ich möchte meinen Kindern das Programmieren beibringen, und es sieht so aus, als ob ich es auf zwei Optionen beschränkt hätte:

  • jMonkeyEngine 3 (jME 3)
  • Einheit 4.3

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:

  1. 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

  2. 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?

    
George 2.0 Hope 07.02.2014, 00:27
quelle

6 Antworten

22

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

    • IDEs: Netbean - eine offene und erweiterbare Plattform (führende Qualität) gegen MonoEdit (die buggy IDE, die man auf der Welt finden kann)

    ** Die Basistechnologie: **

    • Grafik: OpenGL v2 + vs Modifizierter Renderer (openGL compatible v3 +) Unity-Gewinn in diesem hier :(. Es ist traurig für einen langfristigen Java-Entwickler, wie ich das sehe. Aber wir können die Grafiken von Zeit zu Zeit verbessern, hoffe ich .
    • Datenverwaltung: Sie wählen (H2, HyperTable, Neo4j ... aus der Java-Welt 100+ dieser) VS Unity-Datenbank
    • Datenorganisation: Sie wählen (ES, OO, COD, datengesteuert ...) VS ES und nur datengesteuert.
    • Netzwerke: Sie wählen (Java rockt in diesem) VS Unity-Netzwerk (hohe Leistung, aber niemals ... Java jemals besiegen)
    • Cloud und verteilt: Sie wählen (Storm, Hadoop ..) VS hausgewachsene "Cloud-Tech"

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!

    
atomix 07.02.2014 14:17
quelle
6

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.

    
Wesley Shillingford 07.02.2014 12:07
quelle
3

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.

    
mifth 07.02.2014 13:06
quelle
2

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.

    
Empire Phoenix 07.02.2014 13:38
quelle
2

Ich kann nicht sagen, dass ich jemals Unity benutzt habe, aber hier sind einige Dinge, die ich an JME3 liebe:

  • Völlig kostenlos & amp; Open-Source unter BSD-Lizenz
  • Awesome SDK basiert auf genialen NetBeans
  • Bereitstellung auf Linux, Mac & amp; Android (sowie Windows) mit 1 Klick, ich habe keine Ahnung, ob Unity das tun kann
  • Unglaublich aktive Community, die ständig neue Plugins und Features (IOS-Deployment bald verfügbar, möglicherweise) erstellt, sie werden Ihnen auch bei Problemen helfen, auf die Sie stoßen
  • Networking ist genial
  • Kann andere Java-Bibliotheken oder -Funktionen neben der


    verwenden Soweit Merkmale des Motors gehen, hat Unity wahrscheinlich mehr. Allerdings empfehle ich JME, es ist ein großartiger Motor. Jemand anders sagte, dass du Kenntnisse über den Mixer benötigst, während sie bei Unity einen Vermögensladen haben. Während Blender Wissen (sehr) nützlich ist, gibt es Hunderte von Websites online, die für freie Vermögenswerte verkaufen oder verschenken (zum Beispiel www.turbosquid.com ).
Dan 07.02.2014 16:47
quelle
1

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.

    
von 07.02.2014 18:24
quelle