Java Code mit Engine verbinden?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Frage klingt so, als hättest Du noch nie (wissentlich) ein anderes Framework als die Java class library verwendet. Du solltest dich lieber mit den Java-Grundlagen beschäftigen und mehr Erfahrung sammeln, Spieleentwicklung ist keine einfache Sache.

Aber um die Frage zu beantworten:

Man "verbindet" den Code nicht mit der Engine, man nutzt sie.
Die Engine bietet eine API mit Funktionen, Klassen, etc., die Du verwendest, um Funktionen der Engine aufzurufen, oder das Verhalten der Engine zu beeinflussen.
Der Code *ist* sozusagen also die "Verbindung" zur Engine.

Und mit Java und der Unreal Engine wirst Du keine Freude haben, die gibt's nur für C++ oder (inoffiziell) für C# - so zumindest mein letzter Stand, ich verfolge das nicht aktiv. Du könntest natürlich auch eine Bridge für Java zur Unreal Engine entwickeln, aber ganz ehrlich - das willst Du nicht ;)
Also schau dich nach einer Engine für Java (nein, ich kenne keine) um, oder lerne C++ für die Unreal Engine, oder C# für Unity, Letzteres soll recht einfach sein und wird recht häufig für kleinere Spiele benutzt. Und bevor Du mit dem Spiel beginnst, solltest Du wenigstens den QuickStart, besser aber ausführliche Tutorials dazu durcharbeiten, einfach drauf los arbeiten funktioniert meist nicht.

Aber wenn Du eine neue Sprache lernst, dann fang damit nicht direkt mit dem Spiel an, auch C++ oder C# (klingt nur ähnlich) haben ihre Eigenarten, die man nicht unterschätzen darf.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler

Das soll ein 3D-Spiel werden, nehme ich dann?

Dann schau dir mal jMonkeyEngine an, die soll sehr gut und einfach sein.

Da gibt es auch einige Tutorials, z.B. https://wiki.jmonkeyengine.org/docs/3.4/tutorials/beginner/beginner.html

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

Im normalfall macht das die Engine schon selbst allerdings muss man dafür natürlich die Klassen der Engine verwenden.

Solltest du wirklich vorhaben Java mit UE zu verbinden (wovon ich stark abrate) müsstest du ein Interface bauen mit dem du dann die C++ Klassen von Unreal aufrufst. Möglich ist das bestimmt irgendwie aber das wäre ein extremer Aufwandt (es sei denn jemand hat sich die Arbeit schon mal gemacht aber das bezweifel ich)

Worauf basiert deine Frage? Was genau willst du machen evtl. kann ich dir weiter helfen wenn ich mehr Details bekomme

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler, B. Sc. Informatik
Underlord84 
Fragesteller
 05.03.2023, 11:12

Also ich wollte ein First Person Game in einem alten verlassenen Haus programmieren. Ich will jetzt wissen wie man den Javacode mit den eigenen Texturen für das Haus verbindet. Dazu würden noch die Bäume und anderen Objekte kommen die automatisch mit einer Engine generiert werden sollen wenn man das Haus verlässt. Ist es so besser formuliert? Danke für deine Antwort.

PS.: Kennst du eine gute Engine für Java?

1
Tyldu  06.03.2023, 16:46
@Underlord84

Wenn du ganz mit den Basics anfange willst: es gibt Libraries für Java die dir die Interaktion mit den Grafik APIs ermöglichen (also im Endeffekt die Kommunikation mit der Grafikkarte ermöglichen). Die bekannteste ist an der Stelle wohl LWJGL (wird z.B. für Minecraft verwendet). Allerdings braucht es dafür schon etwas Wissen über die ganze Thematik.

Eine Engine mit Java kenn ich nicht aber es gibt z.B libGDX. Das ist ein Framework für Spieleprogrammierung mit Java und nimmt dir schon deutlich mehr Arbeit ab als LWJGL.

Wenn du wirklich eine richtige Engine nutzen willst, dann wäre Unity wohl die beste Wahl für den Anfang. Für Unity verwendet man allerdings C# aber wenn du schon Java kannst wird dir der Umstieg nicht schwer fallen. Beide Sprachen haben sehr viele Ähnlichkeiten (und meiner Meinung nach macht C# auch einiges besser als Java).

Hiflt dir das weiter? :)

1