Ich möchte ein Spiel in Java erstellen und möchte, dass es unter Windows, Linux und Mac funktioniert. Ich bin mir ziemlich sicher, dass C # eine schlechte Wahl ist, und ich habe nicht genug Erfahrung in C oder C ++. Ich möchte mich von Flash fernhalten. Ist Java daher eine gute Wahl für mich? Meistens benutze ich C # und denke, dass Java ähnlich ist, daher gehe ich davon aus, dass es nicht so schwer zu erlernen ist. Aber ist es schnell genug? Gibt es eine Sprache, die besser zu mir passt als Java?
java
game-development
cross-platform
Kommunistischer Pfannkuchen
quelle
quelle
Antworten:
Java eignet sich hervorragend zum Schreiben von plattformübergreifenden Spielen. Hauptvorteile:
Die Hauptentscheidung, die Sie treffen müssen, ist, welches GUI-Framework Sie verwenden werden. Es gibt einige verschiedene Optionen, die bekanntesten sind jedoch:
Die Hauptnachteile von Java für Spiele liegen in den "Randfällen", die Sie wahrscheinlich nicht betreffen, aber für einige Spielklassen relevant sind:
Beachten Sie, dass Sie auch einige Bereitstellungsoptionen in Betracht ziehen müssen:
Schließlich sollten Sie auch einige der anderen JVM-Sprachen in Betracht ziehen - diese bieten alle Vorteile der oben aufgeführten Java-Plattform, aber einige betrachten sie als bessere Sprachen als Java selbst. Die bekanntesten sind Scala, Clojure und Groovy, die alle die oben aufgeführten Java-Tools und -Bibliotheken verwenden können.
quelle
Minecraft und Blocks that Matter sind beide in Java gebaut, also ist es gut genug, um Spiele zu machen. Das Hauptproblem bei der Verwendung von Java ist die Portierung auf mobile Plattformen, wenn Sie diese Route wählen und eine native App schreiben. Android ist eine Art frankensteined Java SE mit einer separaten Bibliothek. RIMs Blackberry verwendet Java ME. iOS kann theoretisch mit Java programmiert werden, obwohl Objective-C wahrscheinlich die bessere Wahl für diese Plattform wäre.
Java ist hinreichend ähnlich zu C #. Ich finde C # -Code oft verständlich, obwohl ich nur Java kenne. Sie haben eine andere Designphilosophie, aber soweit sie mit minimalem Aufwand weitestgehend einsetzbar sind, passen beide in die Rechnung. C # ist keine schlechte Wahl für Spiele, auch wenn Ihre mobile Bereitstellung schwieriger und die Bereitstellung auf Nicht-Windows-Plattformen zeitaufwendiger oder schwieriger sein wird, je nachdem, welche spezifischen externen Bibliotheken usw. Sie verwenden.
quelle
Die naheliegendste und am wenigsten widerstandsfähige Methode ist die Verwendung der HTML5 + Javascript-Kombination. Jede Anwendung oder jedes Spiel, das mit dieser Funktion erstellt wurde, kann auf fast allen Geräten und Browsern ausgeführt werden.
Vorteil : - Sie benötigen keine Konfiguration, um Ihr Spiel auf verschiedenen Plattformen und Geräten laufen zu lassen.
HINWEIS: - Ich habe nur wenige Spiele gesehen, die mit den oben genannten Technologien erstellt wurden, aber von geringerer Statur waren. Aber ich nehme an, wenn man aus Milch Butter machen kann, ist Käse nicht unmöglich
quelle
Sie können Scala und Scheme Bigloo in Eclipse verwenden, um JVM für gestressten Code oder parallele Aktionen in Ihrem Java-Spiel zu verwenden.
Mit Pattern Design und UML2 können Sie auch Code mit OCL sichern, alles in Topcased.org.
Das Beherrschen dieser Werkzeuge braucht Zeit, aber sie sind der Hintergrund von Java, die Basis, die Sie an die Spitze treibt.
quelle
Kurze Antwort: nein.
Java generiert keine ausführbare Binärdatei, sondern nur Bytecode wie C # (CLI), und dies ist aus zwei Hauptgründen nicht gut für ernsthafte Geschäfte in "geöffneten Umgebungen":
Natürlich hat jede Sprache ihre eigenen Bibliotheken, aber aufgrund der Vielzahl von Bibliotheken für jede Sprache ist dies kein wirkliches Problem, und ich denke nicht, dass dies der Zweck dieses Themas ist.
Vielleicht finden Sie auf professioneller Ebene etwas, das gegen die Regel verstößt, wie ein Entwickler-Kit, das alle C # -Anweisungen in Assembler-Code für eine reale Maschine übersetzt Berücksichtigen Sie für Ihre Entwicklung nur das C und das C ++, wenn Sie Ihr Produkt in einer offenen Umgebung verkaufen möchten.
Die Dinge sind ein bisschen anders für die mobilen Geräte, weil sie "geschlossene Umgebung" sind, auch wenn Android praktisch geschlossen ist, da die Quelle der realen ROMs normalerweise nicht für die Öffentlichkeit verfügbar ist % der ROMs auf aktuellen Geräten sind nicht. In diesen Fällen kann man nicht zu viel streiten, alles ist bereits für Sie eingestellt und jede Plattform hat ihre eigene Sprache, wie jeder weiß.
Wenn Sie dieses Produkt in einer offenen Umgebung verkaufen möchten, kann ich nur Sprachen vorschlagen, die kompilierten und Binär- / Assembler-Code erzeugen können. In einer geschlossenen Umgebung ist die Entscheidung aus verschiedenen Gründen normalerweise einfacher.
quelle