Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Spieleprogrammierung mit JAVA (https://www.delphipraxis.net/84337-spieleprogrammierung-mit-java.html)

g-hun 15. Jan 2007 16:12


Spieleprogrammierung mit JAVA
 
Hallo!

Ich habe eine Frage:

Ich weiß natürlich das C++ am besten für die Spieleprogrammierung geeignet ist.
Nun setzt auch C# einen großen wert auf die Spieleprogrammierung. Nämlich mit XNA.
Nun zu meiner Frage:
Die Programmiersprache JAVA läift genau wie C# auf einer Virtuellen Maschine.
Ich vermute mal, das beide Sprachen ungefähr gleich schnell sind.
Ich weiß auch das man mit JAVA immerhin noch Spieleprogrammieren kann.
Nun, ist die Programmiersprache wenigstens besser als Blitz Basic?
Kann man damit genau so gut Spiele proggen wie C#.
Man hat ja immerhin als JAVA Programmierer XNA und das sollte (finde ich) ausreichen.

Danke!

3_of_8 15. Jan 2007 16:16

Re: Spieleprogrammierung mit JAVA
 
Man kann soetwas nicht pauschal in "besser" oder "schlechter" einteilen. Mit Java hast du halt einen sehr hohen Abstraktionsgrad.

arbu man 15. Jan 2007 16:22

Re: Spieleprogrammierung mit JAVA
 
Ich denke es kommt nicht darauf an womit man ein Spiel o.ä. programmiert sondern wie man es angeht. Man muss sich ein gutes Konzept überlegen, wie man das von den Klassen her aufbaut etc. . Natürlich ist es von Vorteil wenn die Programmiersprache OOP unterstützt. Aber man sollte auch auf einen guten CodeStyle achten, da Spiele meist sehr umfangreich werden.

mfg, Björn

3_of_8 15. Jan 2007 16:24

Re: Spieleprogrammierung mit JAVA
 
Nun, ich habe schon einmal ein recht nettes RPG mit Java gesehen. Möglich ist es also tatsächlich. Auch 3D-Unterstützung bietet Java. Dazu die Plattformunabhängigkeit. Der Java-Code ist außerdem sehr klein. Viele effiziente Datenstrukturen sind ebenfalls vorhanden. Dafür kannst du aber auch keine speziellen Hardwaresachen machen.

g-hun 15. Jan 2007 16:27

Re: Spieleprogrammierung mit JAVA
 
Also wenn ich zb plane einen Spiel mit JAVA zu programmieren, also:

- Online Ego Shooter
- 3D Grafik
- Multiplayer

dann wäre das also theoretisch möglich.

Es wäre ja also nichts falsches oder?

Ich will mich ja nich stark auf die Spieleprogrammierung konzetrieren, sondern nur nebenbei.

Wäre das dann möglich?

Balu der Bär 15. Jan 2007 16:29

Re: Spieleprogrammierung mit JAVA
 
Möglich ist (fast) alles.

mkinzler 15. Jan 2007 16:41

Re: Spieleprogrammierung mit JAVA
 
http://www.devmaster.net/engines/list.php?fid=6&sid=1

arbu man 15. Jan 2007 16:42

Re: Spieleprogrammierung mit JAVA
 
Java unterstützt durch Java3D OpenGL, außerdem kann man mit Java einfach Spiele für Handys anfertigen. Die Möglichkeiten mit Java sind durchaus gegeben. Es kommt aber auch immer auf das Spiel an. Kleinen Spiele für Handys werden imho mit Java geschrieben, da auf Handys läuft, alternativ kann man das Compactframework benutzen. Bei einfachen 2D Spielen denke ich ist Flash am besten, da man in der IDE schon viel machen kann. Außerdem bietet AS gute Klassen wie den MovieClip. Bei großen 3D Spielen ist eine Native Sprache am besten da man hier viel Optimieren muss.
Sprachen die ManagedCode verwenden haben auch ihre Vorteile wie Plattformunabhängigkeiten, schlanken Code und ganz wichtig einfache Bedienung durch diverse Bibliotheken.
Am besten ist es wenn man von Projekt zu Projekt abwägt welche Sprache am besten ist, dabei sollte am natürlich auch die eigenen Fähigkeiten bedenken, da das erlernen einer Sprache auch Zeit in Anspruch nimmt. Die Frage welche Programmiersprache die beste ist kann man so nicht beantworten. Dafür ist die Breite an Sprachen und Anwendungsmöglichkeiten einfach zu groß

Nils_13 15. Jan 2007 16:50

Re: Spieleprogrammierung mit JAVA
 
Ich empfehle dir, dass du C++ dafür nehmen solltest, aber auch nur, weil ich mich in Irrlicht etwas eingearbeitet habe. Ich sage aber damit nicht, dass Java dafür nicht geignet wäre. Deshalb kann man hier eigentlich nur sagen, dass du alles sehr genau planen musst, also:
- Engines (welche und wie viele gibt es ?)
- Lernzeit der Engine
- Übersichtlichkeit der Engine
- Leistung der Engine (z.B. wie gut ist die Grafik ?)
- Codeoptimierbarkeit (Engine und Sprache)
- Lernzeit der Sprache
- Community-Anbindung (wenn du mal überhaupt nicht weiter weißt, musst du auch irgendjemanden fragen können)
Es gibt bestimmt noch mehr Punkte, aber diese Punkte sind mir sofort eingefallen.

OregonGhost 15. Jan 2007 17:11

Re: Spieleprogrammierung mit JAVA
 
Zitat:

Man hat ja immerhin als JAVA Programmierer XNA und das sollte (finde ich) ausreichen.
Wie kommst du darauf?

XNA ist eine sehr interessante Geschichte, und wenn du dich mit Spieleentwicklung beschäftigen willst, ist das kein schlechter Schritt. Java wird allerdings nicht unterstützt. Irrlicht ist eine interessante Engine, für die es auch ein .NET-Binding gibt. Persönlich würde ich mich nicht mit Java beschäftigen, wenn ich Spiele entwickeln wollte. C#, Delphi und C++ finde ich da angenehmer.

g-hun 20. Jan 2007 20:55

Re: Spieleprogrammierung mit JAVA
 
Oh sorry!!!!
ICh habe mich da vertippt.
Ich meine C# hat ja XNA und nicht Java :oops:

Wie gut ist denn C# für die Spieleentwicklung oder Visual Basic.NET.
Ist doch im endeffect das selbe, weil beide auf der virtuellen Maschine
laufen.

Als Visual Basic.NET programmierer hat man ja immer hin DirectX.

Marco Haffner 20. Jan 2007 23:56

Re: Spieleprogrammierung mit JAVA
 
Mir fällt da auf Anhieb Jake 2 ein.

Phoenix 21. Jan 2007 09:22

Re: Spieleprogrammierung mit JAVA
 
Zitat:

Zitat von g-hun
Ich meine C# hat ja XNA und nicht Java :oops:

Wie gut ist denn C# für die Spieleentwicklung oder Visual Basic.NET.
Ist doch im endeffect das selbe, weil beide auf der virtuellen Maschine
laufen.

Als Visual Basic.NET programmierer hat man ja immer hin DirectX.

Jain.

Das XNA-Framework selber gibt es nur für Visual C# Express. Und XNA ist an sich nicht anderes als eine weitere Abstraktionsschicht um DirectX herum, die u.A. die Fixed Function Pipelines nicht zur Verfügung stellt, weil diese nicht auf der XBox zur Verfügung stehen.

Denn: XNA ist eigentlich kein Framework für PC-Spiele sondern für Konsolenspiele auf der XBox 360.

Zur Spieleprogrammierung mit Java:
Sogar gestandene Java-Entwickler sagen, dass Java zur 3D-Entwicklung nur bedingt tauglich ist: siehe u.A. hier.

Wenn Du mit Java im Bereich 3D was machen willst schau Dir mal OpenGL an. Mit der Grafikapi dürftest Du am weitesten kommen.

Aso: 'Nur so mal nebenher' wirst Du im 3D-Sektor NICHTS reissen können. Sich da reinzuarbeiten ist mehr Aufwand als ein Fulltimejob.

mkinzler 21. Jan 2007 10:53

Re: Spieleprogrammierung mit JAVA
 
D
Zitat:

enn: XNA ist eigentlich kein Framework für PC-Spiele sondern für Konsolenspiele auf der XBox 360.
Für PC und Console (Die kostenlose Version unterstützt z.B. nur PC)

g-hun 22. Jan 2007 10:30

Re: Spieleprogrammierung mit JAVA
 
Also ich finde arbu man hat auch einerseits recht.

In der Programmierung kommt es doch eigentlich auf das Algorithmus an oder nicht?
Also, wie man an die Aufgabe oder das Problem löst.

Denn im Endeffekt ist ja nix Unmöglich.

Was meint ihr dazu?

Phoenix 22. Jan 2007 10:55

Re: Spieleprogrammierung mit JAVA
 
Zitat:

Zitat von g-hun
In der Programmierung kommt es doch eigentlich auf das Algorithmus an oder nicht?
Also, wie man an die Aufgabe oder das Problem löst.

Eigentlich schon. Aber Uneingentlich auch wieder nicht ;-)

Stell Dir Deine Entwicklungsumgebung/ Plattform (Sprache, Laufzeitumgebung) als eine Art Werkzeug vor.
Du würdest doch auch nicht versuchen, einen Nagel mit einer Wasserwaage oder einer Zange in die Wand zu hauen, oder?

Deine API's zur 3D-Spieleprogrammierung sind nunmal DirectX oder OpenGL. Nun kannst Du diese Werkzeuge direkt verwenden (C++) oder über ein alternatives Sprachbinding (Java) und darüber hinaus sogar noch Aufrufe aus einer weiteren Laufzeitumgebung (Java VM) hinaus auf die native Plattform (Windows / Linux) gehen.

Dass diese ganzen Umwege (Call auf Java-Code, umsetzung, Invoke aus der Java-VM heraus auf das Java-OpenGL Binding, Aufruf der OpenGL-Funktion) Performance kosten müssen ist unausweichlich.

Aber Ja, es funktioniert. Aber nein, es ist nicht elegant und erst recht nicht schnell.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz