Passende Programmiersprache für 2d 3d?

4 Antworten

Schau dir BabylonJS oder ThreeJS an. Dies läuft dann aber immer noch webbasiert, du bräuchtest also noch einen Wrapper wie Electron oder NW.js, um daraus eine Desktop-Applikation zu generieren. Alternativen zu den beiden oben genannten Rendering-Tools bietet dir bspw. PlayCanvas oder p5.js.

Wenn du nicht mit JavaScript arbeiten möchtest, wären auch Sprachen wie C++ oder C# nicht verkehrt. Diese bieten auch eine Menge unterstützender Tools.

Welches Format brauchen 3D Objekte, um sie in Programmiersprachen verwenden zu können.

Üblicherweise werden 3D-Objekte im fbx/obj-Format gespeichert, wenn man sie denn mit Modellierungssoftware (wie Blender, Autodesk Maya, Cinema4D, ...) herstellt. Nach Möglichkeit wäre hier glTF aber passender.

Um diese Modelle bspw. mit BabylonJS nutzen zu können, sollte man entweder den Object Loader verwenden oder einen der Exporter. Auch ThreeJS hält entsprechende Loader parat.

Gibt es links zu Tutorials?

Ja. Google bietet da eine ganze Menge.

Minecraft ist mit Java erstellt worden. Also könntest du auch damit starten.

Woher ich das weiß:Studium / Ausbildung – Masterstudium Elektrotechnik - Schwerpunkt Embedded Systems
ivannko34m 
Fragesteller
 26.05.2019, 19:33

Hast du links

0
Gehilfling  26.05.2019, 19:35
@ivannko34m

Zu Java allgemein? Schau dir das Online-Buch "Java ist auch eine Insel" an. Für Spielentwicklung kenn ich persönlich nichts, hab ich noch nicht gemacht.

0

Also, wenn du das wirklich alles von Hand machen willst, dann musst du wahrscheinlich OpenGL oder DirectX lernen. Ich persönlich hab OpenGL gemacht, aber das kann jeder für sich entscheiden. Gibt endlos viele Tutorials im Internet dazu, wie z.B. http://www.opengl-tutorial.org/.

Für 2D kannst du erstmal bei JavaScript bleiben, 3D geht mit WebGL damit auch. Für mehr Performance würd ich dir C++ empfehlen. Das kann aber bisschen haarig sein, deswegen tut es für den Anfang auch Java. Executables kannst du mit run4j oder sowas da auch erstellen. Java hat den Vorteil, dass du einfach so etwas wie LWJGL (Lightweight Java Game Library, wenn du nicht weißt was das ist, google) runterladen musst, und du hast OpenGL in deinem programm. C++ macht die Sache da etwas komplizierter. DirectX, musst du halt wissen, läuft erstmal nur unter Windows, OpenGL dagegen überall.

Wenn du aber schnell zu einem Spiel kommen willst, würde ich dir empfehlen, Unity, Unreal oder sonst was zu benutzen. Die haarigen Sachen sind da schon für dich gemacht worden, deine Spielelogik kannst du aber immer noch selbst programmieren.

Alternativ kannst du auch eine andere Engine benutzen, die wie ein Abstraktionslayer auf OpenGL/DirectX aufsitzt, und mit der du dann trotzdem alles selbst Programmieren kannst, aber weniger Aufwand hast. Ist aber meistens nur ein kleiner Unterschied. Was für ein Spiel aber außer der Grafik noch fehlt, sind die ganzen Management-Sachen außenherum, wie z.B. ein Texture-Loader, ein Model-Loader, oder ein Game State Management System.

Zu deiner Frage mit den 3D-Objekten: Das kommt ganz drauf an. Einfach zu benutzen ist z.B. das Wavefront .obj-Format. Da kannst du dir ganz einfach einen eigenen Parser für schreiben (wenn du alles selbst machen willst), und es gibt viele Programme, wie z.B. Blender, die dir das exportieren können.

ivannko34m 
Fragesteller
 26.05.2019, 19:36

Großen Dank merke ich mir

1
ivannko34m 
Fragesteller
 26.05.2019, 19:43

Wie lässt sich da zu .exe konvertieren

0
0xdeadcxde  26.05.2019, 19:47
@ivannko34m

Wenn du C++ programmierst, kommt beim kompillieren automatisch eine .exe heraus

0
0xdeadcxde  26.05.2019, 19:49
@ivannko34m

Im Gegensatz zu JavaScript ist C++ keine interpretierte Sprache. Das heißt, dass der C++-Code, den du schreibst, erstmal in "Maschinensprache" umgewandelt werden musst. Diesen Vorgang nennt man kompilieren. Heraus kommt dabei (über ein paar Zwischenschritte) eine .exe-Datei

0

Ich würde C++ mit SFML2 (für 2D) empfehlen. Bei 3D kann ich dir leider nichts sagen:/