Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

09.09.2011, 16:00

Wer programmiert hier Spiele in Java?

Da ich mich dieses Jahr auf Java konzentrieren muss, hätte ich gerne ein paar Tipps von Java-Proggern, welche Bibliotheken ihr zur Spieleprogrammierung verwendet. Habt ihr ausserdem gute Tutorials zur Spieleprogrammierung in Java, die ihr empfehlen könnt und die auf einem neueren Java-Stand sind?

Wie ist eigentlich die Meinung dazu, ob man mit Java AAA-Titel entwickeln kann/sollte? Oder allgemein Games, die nichts mit Browser und Internet zu tun haben?
„lean over the bowl and then take a dive all of you are dead. i am alive“

2

09.09.2011, 16:07

Ich hab' vor ein paar Jahren mit Slick schulisch ein sehr kleines 2D-Spiel entwickelt. Die Library hat mir ziemlich gut gefallen, hat kaum Einarbeitung benötigt, kann ich nur empfehlen.

3

09.09.2011, 16:19

Die muss man sich aber laden und ist nicht in Java dabei, oder? Gibt es auch etwas in der Java API, das man verwenden könnte und gut ist?
„lean over the bowl and then take a dive all of you are dead. i am alive“

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

4

09.09.2011, 16:22

Wie ist eigentlich die Meinung dazu, ob man mit Java AAA-Titel entwickeln kann/sollte? Oder allgemein Games, die nichts mit Browser und Internet zu tun haben?

Mir ist nicht bekannt, dass bisher AAA Titel vollständig in Java entwickelt wurden. Ich habe jedoch mal gelesen, dass es Spiele gibt die eine Java VM quasi als "Skriptsprache" für Spiellogik verwenden.

Java selbst bietet keinen direkten Zugriff auf OpenGL o.Ä., da wirst du ohne 3rd party Komponenten nicht weit kommen.

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

5

09.09.2011, 16:24

Minecraft ist afaik in Java geschrieben worden.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

09.09.2011, 16:24

Minecraft ist aber jetzt nicht grad ein AAA Titel. Das einzige mir bekannte Beispiel, das etwas in diese Richtung gehen würde, wäre ArenaWars. Das basiert aber auf .NET und ist da auch nur eine sehr sehr rare Ausnahme. Der Kern praktisch eines jeden sog. AAA Spiel wird heutzutage in C++ entwickelt. Dazu kommen dann eben noch Skriptsprachen und die ganzen Tools (für die bietet sich Java oder .NET natürlich an). Warum man C++ verwendet, hat viele Gründe. Zum einen weil man, um konkurrenzfähig zu sein, die verfügbare Hardware möglichst effizient nutzen will. Zum anderen natürlich weil die vorhandene Codebase C++ ist und jeder Entwickler in dieser Branche C++ spricht.

Eigentlich ist die Frage nebensächlich. Denn du wirst nicht einfach so ein AAA Spiel schreiben, egal in welcher Sprache. Wenn es dir nur darum geht, hobbymäßig Spiele zu machen, dann ist praktisch jede General-Purpose-Programmiersprache ausreichend gut dafür geeignet ;)

Was Bibliotheken betrifft, solltest du vielleicht etwas spezifischer sein. Was für Arten von Bibliotheken suchst du denn? Eine komplette Gameengine? Ein Framework? Grafik? Sound? Netzwerk? Was soll die Bibliothek bieten?

Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von »dot« (09.09.2011, 16:45)


Fireball

Alter Hase

Beiträge: 415

Wohnort: Werne

Beruf: Dipl. Inf.

  • Private Nachricht senden

7

09.09.2011, 16:35

Java Coder sind faul ;-)

Kann vielleicht noch sein, dass man in maven ein neues repo einbinden muss, aber ansonsten sollte es hiermit schon losgehen ...

Im Pom.xml sagt man ...

<dependency>
<groupId>slick</groupId>
<artifactId>slick</artifactId>
<version>273</version>
</dependency>

ansonsten gibts noch Java3D, dass muss man aber glaube ich auch extra nachträglich installieren.

Oder für die ganz Harten ...

C-/C++-Quelltext

1
public void paint(Graphics g);


Gruß

Fb

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

8

09.09.2011, 16:48

http://lwjgl.org/

Für (modernes) OpenGL, alles andere ist irgendwie nicht auffindbar oder veraltet (das wird auch von Minecraft verwendet).

Für 2D bietet sich auch einfach das AWT/Swing an, damit kann man dann schonmal ein wenig rumspielen (z.B. so 2D Shooter aus Sicht von oben, hab ich selbst schon gemacht).
Wenn du darauf aufbaust musst du dich nicht extra in andere Bibliotheken einarbeiten und lernst auch etwas um wirtschaftliche Anwendungen zu schreiben.

MfG

9

09.09.2011, 16:51

Die muss man sich aber laden und ist nicht in Java dabei, oder? Gibt es auch etwas in der Java API, das man verwenden könnte und gut ist?

Zumindest nicht ohne viel Aufwand. Slick basiert übrigens auf der LWJGL.

@dot
Wenn's hier einen "Gefällt mir" Button für Posts gäbe, dann würd ich ihn jetzt drücken. ;)

10

09.09.2011, 19:06

Ich bastle für einen Test momentan mit der jMonkeyEngine3 rum. Das klappt ziemlich gut. Das SDK macht mir einen etwas aufgeblähten Eindruck und man findet die Engine Jars leider noch nicht bei Maven, aber die Engine tut was sie soll und man hat alle Grundfunktionen, die man so braucht. Ich benutze die Engine ohne SDK und bin sehr zufrieden. So einige Grafikeffekte sind schon eingebaut, so dass man sich um nicht viel kümmern muss. SSAO, Schatten usw. hat man mit ein paar Zeilen aktiviert. Auch angenehm ist, dass man Blender-Modelle direkt laden kann - leider afaik noch ohne Unterstützung von den Custom Properties... Android Spiele kann man mit der jme3 wohl auch entwickeln.
Ansonsten gibt es z.B. noch libGDX oder das noch wesentlich unreifere PlayN von Google.
GWT (PlayN nutzt auch GWT) ist natürlich auch einen Blick wert. Schließlich entwickelt man da auch mit Java, kann aber direkt für den Browser entwickeln, da ja nach javascript kompiliert wird.

Wenn du ohne zusätzliche DLLs Spiele mit Java machen willst könnte für dich http://www.java4k.com bzw. http://wiki.games4j.com/wiki/en/Java_4K_competition & Co. einen Blick wert.

Ansonsten ist zu sagen, dass Java bei nicht wenigen AAA Spielen im Backend/Server Bereich eine wichtige Rolle spielt.

Ich persönlich bin großer Java Fan und davon überzeugt, dass viele Entwickler, die Java nicht schätzen, das Potential der JavaVM, die dazugehörigen Sprachen und die Fülle an leicht benutzbaren Bibliotheken mit sehr verständlichem Quellcode unterschätzen.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Chromanoid« (09.09.2011, 19:25)


Werbeanzeige