# Werden "große Spiele" mal in Java programmiert?



## amlug (26. Dez 2004)

Hallo,
es würde mich interessieren, ob es die Möglichkeit gibt, "große Spiele" in Java zu programmieren.


----------



## pogo (26. Dez 2004)

ähnliches thema wurde hier schon diskutiert
http://www.java-forum.org/de/viewtopic.php?t=10012
schau erstmal da


----------



## amlug (27. Dez 2004)

Weiß ich. :wink: 
Ich wollte nur wissen, ob es die Möglichkeit gibt, dass man "große Spiel" in Java programmiert.


----------



## Roar (27. Dez 2004)

wat isn das schon wieder fürne frage :autsch: was verstehst du unter großen spielen? EA etc. werden sich wohl kaum auf java umstellen. was meinste was das für einen kostenaufwand sein müsste. alle programmierern java beibrigen? höhö... außerdem ist java dafür nicht gemacht. und zum letzten ist das doch eh sschissegal in welcher sprache die neuen spiele geschrieben sind. ich schätze mal so dass 80% der leute, die an spielen arbeiten eh nur grafiker sind. und ob du die paar zeilen code jetz is java, c++ oder assembler oder so implementierst is doch schnurz


----------



## raven (28. Dez 2004)

Ne das ist nicht egal!!!!
Ich nehme mal an er will etwas mit Spiele machen (z. B. Spieleentwickler).
Und da interessiert es ihn doch mal ob er mit der Programmiersprache ne Chance hat oder ob der doch noch auf C/C++ umsteigen muss.

Aber ich Roar hat recht das meiste sind ehe nur Grafiker und das Java ist auch nicht dafür geeignet.

Und ich denke auch nicht das eine Firma EA, Jowood und wie sie alle heißen sich mit Java abgeben. Die programmieren alles mit C/C++ u.s.w.


----------



## 0xdeadbeef (28. Dez 2004)

Naja. Praktisch alle Spiele heutzutage benutzen mehr oder weniger aufwendige 3D-Engines. Damit hat sich gegenüber der Spieleszene vor ein paar Jahren (als Renderfilmchen nach Nonplusultra waren) einiges geändert. Obwohl es natürlich möglich ist, 3D-Engines auch in Java zu implementieren, wird man an dieser Stelle üblicherweise nicht bereit sein, Performance für Plattformunabhängigkeit zu opfern. Viel der Entwicklungsarbeit geht heute in aufwendige Pixelshader- und Vertexshaderprogramme, die ohnehin in eigenen "Sprachen" programmiert werden (wobei es inzwischen woh C-ähnliche Compiler gibt).
Dazu kommt, das einige Aspekte von Java (etwa die GC, die jederzeit anspringen kann) einem flüssigen Spielablauf abträglich sind. Was nicht heißen soll, daß man keine netten Spiele in Java programmieren kann. Paradroid3D hier im Spieleforum zeigt ja, daß man - wenn auch mit nativem OpenGL-Support - durchaus auch kleine 3D-Spiele in ganz ordentlicher Geschwindigkeit hinbekommt.


----------



## amlug (28. Dez 2004)

Ich versuche auch ein 3D-Spiel zu programmieren. Es soll so ähnlich, wie GTA werden.
Bis jetzt läuft es ganz gut. Ich werde es auf jeden Fall auch hier im Forum vorstellen.

Ach übrigens, ich habe noch nichtmal gesagt, dass es Computerspiele sein sollen. Und Handyspiele werden 
hauptsächlich in Java programmiert.

Gruß,
Amlug.


----------



## 0xdeadbeef (28. Dez 2004)

Handyspiele != große Spiele


----------



## Beliar (28. Dez 2004)

ralph hat gesagt.:
			
		

> Ich versuche auch ein 3D-Spiel zu programmieren. Es soll so ähnlich, wie GTA werden.
> Bis jetzt läuft es ganz gut. Ich werde es auf jeden Fall auch hier im Forum vorstellen.



Ist das dein ernst? Na da bin ich aber gespannt. Meinst du 2D wie GTA1 und 2 oder 3D wie GTA3 etc?
Meinst du nicht dass du dich damit übernimmst? Hast du schon mal ein game geschrieben?



> Ach übrigens, ich habe noch nichtmal gesagt, dass es Computerspiele sein sollen. Und Handyspiele werden
> hauptsächlich in Java programmiert.



Ja lol, was sonst? Was meintest du denn jetzt? Das Handyspiele in Java geschrieben werden
dürfte jedem hier klar sein, aber danke für die info  :roll: 

Also Java ist mit sicherheit nicht das richtige für Spiele. Vielleicht kleinere Hobby Projekte, Handyspiele
und auch einige kleinere professionelle spiele bei denen nciht so viel Wert auf Echtzeit 3D gesetzt wird.
Aber wer sich mal den NOD Editor für "Vampire: The Masquerade - Redemption" runter lädt, der sieht
das dass Spiel entweder Java für die Scripts einsetzt oder aber ganz/teilweise in Java geschrieben wurde.
Genaueres weiss ich nciht, nur dass dort files mit .java endung liegen in denen Java code drin steht.

Aber für Professionelle 3D Spiele wird C++ benutzt. 
@Roar, also jetzt unterschätze mal nicht den programmieraufwand einer 3D engine!
Ein Computerspiel hat viel code. Die eigentlichen inhalte werden zwar mit Grafiken und
selbst geschriebenen Scriptsprachen realisiert, aber es ist trotzdem genug coding aufwand.

Ein paar Links zur Spieleentwicklung (sollten hier links auf andere boards etc nicht erwünscht sein 
entferne ich sie natürlich wieder):

www.zfx.info
http://www.softgames.de/index (--> www.softgames.de und www.developia.de)
www.gamedev.net
Und viel findet man hier: http://www.zfx.info/Links.php

MFG Painkiller


----------



## Thorsten (28. Dez 2004)

Das die großen 3D-Spiele nicht in Java geschrieben werden (im Moment), ist klar. Aber auch diese
Firmen werden ggf. umdenken müssen. Das nächste Windows basiert auf .NET. Und nach meinen
letzten Infos sollten oder müssten die meisten neuen Programme signiert werden. Das ist irgendwie
in .NET integriert. Nun kann man auch .NET mit C++ programmieren. Aber dann ist die GC trotzdem
im Hintergrund... Diesen "Nachteil" von Java kann man also streichen!

Mal sehen... wenn Java noch ein paar Fortschritte macht, bis zum nächsten Windows, dann könnte
es durchaus möglich sein... Man kann ja die Plattformunabhängigkeit von Java opfern, und Windows
Schnittstellen ansprechen.


Aber kommen wir nochmal zur aktuellen Situation:
Im Moment gibt es ja wirklich fast nur 3D-Games auf dem Markt. Da kann Java im Moment
nichts machen... Aber: Große Spiele kann man sicher in Java schreiben -- ohne 3D!!
Nur leider traut sich keiner mehr, so eine Sache zu machen. Der Massenmarkt verlangt
nunmal 3D. So Pseudo-3D wie Diablo ist sicher kein Problem in Java. Und solche RPGs
können sehr sehr groß werden -> siehe Icewind Dale 1 / 2 das auf 8 CDs oder so kommt...

Man muss sich "nur" eine entsprechende Engine schreiben... in Java. Das ist aber nicht
ganz einfach, und Anfänger sollten die Finger davon lassen ;-)


Ich finde es sehr schade, dass kein Hersteller sich mehr traut ein Spiel ohne 3D auf den
Markt zu bringen    Aber so ein Spiel würde ja auch Millionen Euro für die Entwicklung
verschlingen -- und wenn dann keiner das Spiel kauft, kann sich der Chef erschießen...

Daher, wegen dem Geld und dem Risiko, wird es keine Firma mehr versuchen -- leider.
Da sind die freiwilligen professionellen Programmierer gefragt, die ohne Geld arbeiten.
Die könnten so ein Projekt durchziehen...


----------



## 0xdeadbeef (28. Dez 2004)

Thorsten hat gesagt.:
			
		

> Das die großen 3D-Spiele nicht in Java geschrieben werden (im Moment), ist klar. Aber auch diese
> Firmen werden ggf. umdenken müssen. Das nächste Windows basiert auf .NET. Und nach meinen
> letzten Infos sollten oder müssten die meisten neuen Programme signiert werden. Das ist irgendwie
> in .NET integriert. Nun kann man auch .NET mit C++ programmieren. Aber dann ist die GC trotzdem
> im Hintergrund... Diesen "Nachteil" von Java kann man also streichen!


.Net ist bloß ein neuer Ansatz zur Erzeugung sprachunabhängiger Oberflächen und Schnittstellen. Mit Spielen hat das zunächst mal herzlich wenig zu tun. "Signieren" muß man da auch nix. C++ kann man auch nicht wirklich programmieren, sondern einen speziellen C++-Dialekt, der aber nicht C++ entspricht.



> Mal sehen... wenn Java noch ein paar Fortschritte macht, bis zum nächsten Windows, dann könnte
> es durchaus möglich sein... Man kann ja die Plattformunabhängigkeit von Java opfern, und Windows
> Schnittstellen ansprechen.


Die Lebensberechtigung von Java besteht mehr oder weniger aus der Plattformunabhängigkeit. Die wird Sun nie opfern und wenn doch, gibt es keinen Grund mehr Java statt C# zu programmieren. Außerdem ist die Langsamkeit von Java (in Vergleich zu C/C++) keinesfalls (nur) in der Plattformunabhängigkeit begründet.



> Aber kommen wir nochmal zur aktuellen Situation:
> Im Moment gibt es ja wirklich fast nur 3D-Games auf dem Markt. Da kann Java im Moment
> nichts machen... Aber: Große Spiele kann man sicher in Java schreiben -- ohne 3D!!
> Nur leider traut sich keiner mehr, so eine Sache zu machen. Der Massenmarkt verlangt
> ...


Auch solche Spiele brauchen ausgefeilte KI und Objektverwaltungen und auch das geht in C++ schneller. Und sich gegen den Markt zu stellen, um eine Programmiertsprache durchzudrücken, ist aus marktwirtschaftlicher Sicht dumm.



> Daher, wegen dem Geld und dem Risiko, wird es keine Firma mehr versuchen -- leider.
> Da sind die freiwilligen professionellen Programmierer gefragt, die ohne Geld arbeiten.
> Die könnten so ein Projekt durchziehen...


Ah ja. Weil es ja auch soviele große professionell entwickelte Spiele gibt, an denen 20 Mann 2 Jahre ganztags für lau arbeiten.


----------



## 0xdeadbeef (28. Dez 2004)

Painkiller hat gesagt.:
			
		

> Aber wer sich mal den NOD Editor für "Vampire: The Masquerade - Redemption" runter lädt, der sieht
> das dass Spiel entweder Java für die Scripts einsetzt oder aber ganz/teilweise in Java geschrieben wurde.


Vampire - Redemption benutzt eine freie JVM-Inplementierung als Skript-Engine, genauso wie andere Spiele selbstgeschriebene Skriptsprachen benutzen. Das heißt aber nun wirklich nicht, daß das Spiel in Java geschrieben wäre.

Auf Gamasutra gibt's ausführliche Erläuterungen dazu. Leider muß man sich dazu aber anmelden:
http://www.gamasutra.com/features/20000802/huebner_02.htm


----------



## Thorsten (28. Dez 2004)

0xdeadbeef hat gesagt.:
			
		

> Thorsten hat gesagt.:
> 
> 
> 
> ...


Mit Spielen hat das wenig zu tun? Du hast mich nicht verstanden! Das nächste Windows führt nur noch .NET-Dateien
aus!!! Also kein Spiel ohne .NET... 

Und auch nur .NET-Dateien, die signiert wurden. Also solche, die als vertrauenswürdig gelten. Und alte Programme
(ohne .NET) werden nur im unsicheren Modus ausgeführt, der nicht ganz einfach zu nutzen sein wird.

Das sind so in etwa meine Infos dazu. Da Microsoft seine Vorstellung vom nächsten Windows aber auch immer
mal ändert, und ich nicht auf dem neusten Stand bin, kann das auch zum Teil wieder veraltet sein -- sorry.

Und wenn dann alle Spiele per .NET laufen müssen, müsse die Entwickler mit GC auskommen. Und dann würde
dieser "Nachteil" bei Java wegfallen... weil er ja eh bei allen dabei ist (C# und Java).



> > Mal sehen... wenn Java noch ein paar Fortschritte macht, bis zum nächsten Windows, dann könnte
> > es durchaus möglich sein... Man kann ja die Plattformunabhängigkeit von Java opfern, und Windows
> > Schnittstellen ansprechen.
> 
> ...



Auch hier hast du mich falsch verstanden... ;-) Ich meinte, die Entwickler von Spielen KÖNNTEN darauf
verzichten, um statt C# dann Java zu nutzen -- in der Zukunft beim nächsten Windows. Denn den GC hätte
man dann auch bei C#, also warum nicht Java nutzen? Richtig, weil der Zugriff auf z.B. DirectX fehlt. Aber
um diesen zu bekommen, könnte man DirectX aus Java heraus ansprechen -- und mit diesem Schritt auf
die Plattformunabhängigkeit verzichten.

Sun wird und soll bloß nicht darauf verzichten -- das ist klar.

Ob das nun technisch machbar wäre, DirectX aus Java.. keine Ahnung. Es gibt ja das Keyword "native"... ;-)
Hab noch nicht damit gearbeitet, daher keine Ahnung...



> > Aber kommen wir nochmal zur aktuellen Situation:
> > Im Moment gibt es ja wirklich fast nur 3D-Games auf dem Markt. Da kann Java im Moment
> > nichts machen... Aber: Große Spiele kann man sicher in Java schreiben -- ohne 3D!!
> > Nur leider traut sich keiner mehr, so eine Sache zu machen. Der Massenmarkt verlangt
> ...


So meinte ich das (auch) nicht... :roll:

Objectverwaltung usw. geht natürlich dort schneller. Aber auch in Java schnell genug... ;-) Und das genügt
doch! Man soll doch nicht eine Sprache durchdrücken -- die Frage in diesem Thread eingangs war doch,
ob es möglich wäre. Und: Ja, es ist möglich -- wenn man auf 3D verzichtet. Wenn man also etwas wie
Diablo machen wollte, und am Anfang steht ==> Warum dann nicht Java? Das es NOCH schneller gehen
würde, in C++ ist klar. Aber dafür könnte man das fertige Java-Projekt auf anderen Rechnern ohne Windows
ausführen ;-)



> > Daher, wegen dem Geld und dem Risiko, wird es keine Firma mehr versuchen -- leider.
> > Da sind die freiwilligen professionellen Programmierer gefragt, die ohne Geld arbeiten.
> > Die könnten so ein Projekt durchziehen...
> 
> ...


Hä? An den großen Spielen arbeiten zwei Jahre mehr als 100 Leute... nicht für lau ;-)

Ich wollte mit dem Absatz sagen:
Um ein "Nicht-3D-Spiel" z.B. in Java zu schreiben, müssten sich einige freiwillige professionelle Programmierer
finden. Um vielleicht zu zeigen, dass:

a) es in Java möglich ist
b) das es einen Markt für solche Spiele ohne 3D gibt
c) um viel Spaß beim programmieren zu haben ;-)

Weil es halt keine Firma mehr machen wird, ein Spiel ohne 3D. Und nur da könnte Java halt zum Einsatz kommen,
wie wir ja nun festgestellt haben...


----------



## 0xdeadbeef (29. Dez 2004)

Auf diesen Wortschwall aus wirren Vermutung und Halbwissen gehe ich nicht mehr ein, weil ich ja eigentlich schon alles zu diesem Thema gesagt habe.


----------



## amlug (29. Dez 2004)

Painkiller hat gesagt.:
			
		

> ralph hat gesagt.:
> 
> 
> 
> ...


GTA 3, aber du solltest jetzt nicht gleich GTA San Andreas erwarten, ich bin erst 13 Jahre, aber die Spielidee soll die 
selbe sein. Auch soll es ähnlich aufgebaut sein.

Gruß,
Amlug


----------



## Illuvatar (29. Dez 2004)

Thorsten hat gesagt.:
			
		

> Ob das nun technisch machbar wäre, DirectX aus Java.. keine Ahnung. Es gibt ja das Keyword "native"... ;-)
> Hab noch nicht damit gearbeitet, daher keine Ahnung...


Schonmal von Java3D gehört? 




			
				amlug hat gesagt.:
			
		

> Painkiller hat gesagt.:
> 
> 
> 
> ...



Hoffentlich wirds was, schreib mal, falls es klappt


----------



## Thorsten (29. Dez 2004)

0xdeadbeef hat gesagt.:
			
		

> Auf diesen Wortschwall aus wirren Vermutung und Halbwissen gehe ich nicht mehr ein, weil ich ja eigentlich schon alles zu diesem Thema gesagt habe.



Hab auch keine Zeit für jede meiner Aussagen eine Quelle anzuführen -- sorry.


----------



## 0xdeadbeef (29. Dez 2004)

Du kennst aber Dieter Nuhr, oder :roll: ?


----------



## Thorsten (29. Dez 2004)

Illuvatar hat gesagt.:
			
		

> Thorsten hat gesagt.:
> 
> 
> 
> ...



Klar, aber wie gesagt hab ich mit diesem Bereich von Java keine Erfahrung.  :wink:


----------



## Thorsten (29. Dez 2004)

0xdeadbeef hat gesagt.:
			
		

> Du kennst aber Dieter Nuhr, oder :roll: ?


Nein, kenne ich nicht. Sollte ich? Und was hat dies mit dem Thema zu tun? Für alles
andere gibt es das Offtopic-Forum (Plauderecke)  :meld:


----------



## 0xdeadbeef (29. Dez 2004)

Von Dieter Nuhr stammt der bekannte Satz:
"Wenn man keine Ahnung hat, einfach mal Fresse halten."
Zitiere ich jetzt mal einfach so.


----------



## Thorsten (29. Dez 2004)

0xdeadbeef hat gesagt.:
			
		

> Von Dieter Nuhr stammt der bekannte Satz:
> "Wenn man keine Ahnung hat, einfach mal Fresse halten."
> Zitiere ich jetzt mal einfach so.



Ach so, ja das Zitat hab ich schonmal gehört  :wink: 

*Machen wir es mal anders:*
Da ich keine *genauen* Infos zu dieser Windows-Geschichte habe (was da in Zukunft kommt), sage ich
dazu nichts (mehr).  :wink: Auch von Java3D hab ich keine Ahnung...

Vom Rest hab ich jedoch Ahnung. Wäre auch schlimm, wenn nicht, als angehender Diplom Ingenieur der Informatik,
Fachrichtung Medientechnik. 

Dann zurück zur eingehenden Frage:


> es würde mich interessieren, ob es die Möglichkeit gibt, "große Spiele" in Java zu programmieren.



Antwort: Ja, ohne 3D auf jeden Fall. Eine Pseudo-3D-Engine (siehe Zelda-Spiele, Diablo oder so) wäre mit C++
sicher noch schneller, und es wären tolle Effekte mit 3D-Unterstützung möglich. Aber auch in Java wäre so eine
Engine sicher möglich... Auch mit genug Speed, um gut damit zu spielen...

Ich würde ja gerne den Beweis antreten, und meine 66 DIN A4-Seiten-Dokumentation veröffentlichen, mit samt
Java-Quellcode. Nur leider hab ich versprochen das Projekt nicht zu veröffentlichen, bis es fertig ist. Weiterhin
wäre mit einer frühen Veröffentlichung mir die Chance genommen, es als Diplomarbeit zu verwenden  :wink:


----------



## Beliar (29. Dez 2004)

> _Original von Thorsten_
> a) es in Java möglich ist
> b) das es einen Markt für solche Spiele ohne 3D gibt
> c) um viel Spaß beim programmieren zu haben icon_wink.gif



a) Das wissen wir
b) Böse, böse formulierung! Ohne 3d? Ohne 3 Dimensionen? Schreib einfach 2D spiele oder spiele mit Iso perspektive...
c)    Hallo EA, würden sie mir bitte 5 Millionen Euro für ein projekt geben dass ich realisieren möchte? Unser Ziel ist es, spass bei der Programmierung zu haben 

1) Es gibt _SEHR WOHL_ spiele in 2D!!! Das RPG Restricted Area ist 2 Dimensional und ist erst vor einigen wochen erschienen (Angeblich wurde das teil in (!)einem Basic dialekt geschrieben 0_o Power Basic oder so...)

2) Man kann die DirectX libs mit Java nicht benutzen, auch nicht mit native calls. Soweit ich weiss! Denn es gibt bibliotheken für bestimmte sprachen, ich denke nciht das die mit Java funzen.
So ist im neuesten SDK nur die C++ library für den Visual C++ .net compiler von microsoft dabei.
Man muss sich die lib für VC++ 6 extra ziehen, also wirds mit java wohl auch nicht funktionieren

3) Wie schon gesagt gibt es Java 3D, ausserdem noch JoGL usw usw

4) Also ob die Spiele in Zukunft zwangsweise das .Net Framenetwork nutzen müssen möcht ich mal sehen...
Selbst wenn sind soclhe proggs noch schneller als in Java. Schliesslich kann man das ja mit C++ programmieren.
Und nein, nicht in einem "dialekt". Man kann in C++ das .Net Framework dazulinken oder includieren, kA wie das genau 
funzt. Noch nie benutzt. Aber ich hab eine Artikel in der iX darüber gelsen und auch wo anders schon gehört
dass man mit normalem standard C++ auf die funktionen des .Net Frameworks zugreifen kann.

Java wird in der Spielebranche nciht benutzt, da 1) Das Know How fast nur für C++ vorhanden ist und leute die
jetzt mit der Spieleprogrammierung anfangen auch C++ lernen. programmierern angewohnheiten austreiben ist sehr schwer 
2) Ist Java zu langsam. Die Virtuelle Maschine ist eine tolle Sache in punkto Plattformunabhängigkeit, aber wenn du mich fragst ist das trotzdem langsamer als wenn du mit C++ direkt auf die Hardware und das OS zugreifen kannst.

@ 0xdeadbeef, thx, aber ich hab eh geschrieben:


> der sieht
> das dass Spiel entweder Java für die Scripts einsetzt oder aber ganz/teilweise in Java geschrieben wurde.


Ich war mir nur nicht sicher ob es nur als Scriptsprache eingesetzt wird oder auch ncoh wo anders.

By the Way, hunderte programmierer für ein spiel? Das ist stimmt nicht! Bei Neverwinter Nights waren es glaub ich fast 80, das war aber laut eigener aussage sehr viel.

Zum Beispiel wurde Gothic 2 von 13 Leuten in 11 monaten entwickelt. 

@ deadbeef + thorsten
Bitte startet hier keinen Flamewar 
Seid nett, gebt euch die Hand und gut is 

MFG Painkiller


----------



## Thorsten (29. Dez 2004)

Painkiller hat gesagt.:
			
		

> > _Original von Thorsten_
> > a) es in Java möglich ist
> > b) das es einen Markt für solche Spiele ohne 3D gibt
> > c) um viel Spaß beim programmieren zu haben icon_wink.gif
> ...



Hast Recht -- blöd formuliert...



> c)    Hallo EA, würden sie mir bitte 5 Millionen Euro für ein projekt geben dass ich realisieren möchte? Unser Ziel
> ist es, spass bei der Programmierung zu haben



Ahhhh... keiner versteht mich. Hilfe...

Ich meinte, dass sich halt einige Leute in ihrer FREIZEIT (== bekommen kein Geld!) hinsetzen müssten, um
so eine Sache zu machen. Aber eben Leute, die davon Ahnung haben. Nicht die 13jährigen Java-Anfänger,
die gleich anfangen zu programmieren (sorry).

Sondern Leute, die wissen das man so ein Projekt erst planen muss... Und das man erst ganz am Ende anfängt
zu programmieren, nach Monaten der Planung. Weil so eine Engine eben aus mehr als nur 3 Klassen besteht ;-)



> 1) Es gibt _SEHR WOHL_ spiele in 2D!!! Das RPG Restricted Area ist 2 Dimensional und ist erst vor einigen wochen
> erschienen (Angeblich wurde das teil in (!)einem Basic dialekt geschrieben 0_o Power Basic oder so...)



Ich weiß -- ich kenne die Entwickler etwas. Hatte mal Kontakt dahin. Die Sprache heißt PureBasic, ist noch sehr
jung und kommt von einem Herrn aus Frankreich mit dem Namen Fred. Und PureBasic ist nicht OO. Hab die
Vollversion hier irgendwo auf meiner Festplatte ;-) . 

Und: Das Spiel wurde nicht angeblich in PureBasic geschrieben, sondern ganz sicher sogar!


----------



## Beliar (29. Dez 2004)

Ok ok, ich war mir aber nicht 100 Prozent sicher ob es in PureBasic geschrieben ist.

Naja also wie gesagt es gibt noch 2D spiele, aber die Konkurenz am Markt ist so gross und die Spieler
wünschen sich auch eine optisch ansprechende präsentation, dass die meisten entwickler eine 3D engine verwenden.
In der aktuellen Gamestar zum Beispiel sind fast alle Spiele 3 Dimensional, ausser dem Programm "Zirkus Roncalli", das aber eine miserable wertung bekommen hat.

Hobby Programme in 2D gibts aber zur genüge.
ZB Tyrant, ein kleines Nethack artiges Rollenspiel in Java: http://tyrant.sourceforge.net/
(Ist auf der Seite zwar als applet, aber [zu mindest wenn man sich den Source vom CVS holt] das gibts auch als Application)


----------



## Beni (29. Dez 2004)

Wurmonline ist zwar erst in der Alpha-Phase, aber ich finde es ziemlich beeindruckend. Ich wüsste also nicht was da gegen "richtig grosse" Spiele sprechen sollte.


----------



## Beliar (29. Dez 2004)

:shock:   :shock:  
Das schaut ja _genial_ aus! Wow, das man aus Java so viel raus holen kann  
Sag mal, ist das kostenlos?? Find ich interessant, das würd ich gern mal zocken


----------



## Thorsten (29. Dez 2004)

Painkiller hat gesagt.:
			
		

> die Spieler wünschen sich auch eine optisch ansprechende präsentation, dass die meisten entwickler
> eine 3D engine verwenden.


Die Spieler, die schon mit 3D angefangen haben, wollen natürlich kein 2D. Zu meiner
Zeit gab es gerade den C64 ;-) Die besten Spiele waren so 2D-Klassiker wie Zelda 3,
Secret of Mana oder so...

Leute wie ich, die diese Spiele noch kennen, würden gerne mal so etwas wieder spielen.
Aber die "Neuen" Spieler, natürlich nicht.



> In der aktuellen Gamestar zum Beispiel sind fast alle Spiele 3 Dimensional,
> ausser dem Programm "Zirkus Roncalli", das aber eine miserable wertung bekommen hat.



Das ist ja wieder das nächste Problem. 2D-Spiele bekommen keine Chance. Okay,
man muss natürlich sagen, dass viele 2D-Spiele wirklich Mist sind 



> Hobby Programme in 2D gibts aber zur genüge. ZB Tyrant, ein kleines Nethack artiges Rollenspiel
> in Java: http://tyrant.sourceforge.net/



Aha... nun gut, da ist die Grafik wirklich etwas heftig. 

Ich sag mal, etwas wie Zelda3 sollte schon möglich sein in Java:


----------



## Beni (29. Dez 2004)

@Painkiller
Im zugehörigen Forum steht irgendwo, dass das später mal kosten soll, wenns denn irgendwenn mal fertig wird...
Aber die Alpha ist gratis :wink:


----------



## EagleEye (29. Dez 2004)

es gibt auch Quake 2 in java heißt irgenwie Jake oder so ähnlich 
nur ist etwas harware hungriger als das normale


----------



## Beliar (29. Dez 2004)

thx, dann zieh ich mir die alpha mal ;D


@ Thorsten,
Naja keine chance, so stimmt das nicht. Wenn das spiel gut ist. Beispiel: Tropico 2 ist in 2D, die Grafik ist zwar recht süss, aber extrem pixelig, wenn man ran zoomt sieht man die pixel riesen gross.
Gamestar hat zwar geschrieben das die Grafik ähem, scheiss ist ^^ aber das Spiel machte soviel spass dass es trotzdem eine wertung über 80% bekommen hat. Ich hab das spiel. Die grafik mag nciht 3D sein, aber das game ist genial.

Dasselbe gillt für port Royale, nur das es keine so hohe wertung bekommen hat, weil es total verbuggt war. Und die grafik war etwas besser, sprich hochauflösender.
und auch wenn ich mit 3D spielen aufgewachsen bin, so kenn ich Zelda zumindest vom Gameboy und ich hab auch oft mit meinen kumpels auf dem SNES 2D spiele gespielt (hmm, Mortal Kombat war damals so geil ^^).


----------



## Beliar (29. Dez 2004)

EagleEye hat gesagt.:
			
		

> es gibt auch Quake 2 in java heißt irgenwie Jake oder so ähnlich
> nur ist etwas harware hungriger als das normale



Meinst du das hier? 
http://www.bytonic.de

Naja, klar das es hw hungriger ist. Quake2 wurde in C geschrieben. 
Aber ich finde ausserdem, dass Jake2 besser aussieht als Quake2 
Ich hab letztens mal wieder Quake2 gespielt weil ich ein preview zu Quake4 gelesen
habe und es mal testen wollte.


----------



## Thorsten (29. Dez 2004)

Painkiller hat gesagt.:
			
		

> @ Thorsten,
> Naja keine chance, so stimmt das nicht. Wenn das spiel gut ist. Beispiel: Tropico 2 ist in 2D, die Grafik ist zwar recht süss, aber extrem pixelig, wenn man ran zoomt sieht man die pixel riesen gross.
> Gamestar hat zwar geschrieben das die Grafik ähem, scheiss ist ^^ aber das Spiel machte soviel spass dass es trotzdem eine wertung über 80% bekommen hat.



Echt? In der Gamestar?  :shock: Ich hatte früher immer den Eindruck, dass solche Spiele schon fast
systematisch als schlecht eingestuft wurden. Aber ich lese das Magazin schon lange nicht mehr,
vielleicht hat sich einiges geändert...


----------



## Guest (29. Dez 2004)

http://www.bytonic.de/html/jake2_webstart.html


----------



## Thorsten (29. Dez 2004)

@Gast:
Das ist ja unglaublich   Geil...

Na also ... 3D Spiele sind ohne Probleme möglich. Wenn auch nicht
in HL2 / Doom3 - Optik  :wink: 

Irgendwie kann man sich kaum vorstellen, dass das mit
Java läuft... ist schon Fett  8)


----------



## 0xdeadbeef (29. Dez 2004)

Es hat nie jemand behauptet, daß 3D-Spiele unmöglich sind (siehe auch www.jpct.net, auf das ich im vorherigen Spiele-Thread bereits verweisen hatte). Und auch wenn die Performance von Jake wirklich sehr gut ist, bitte ich zu beachten, daß Quake 2 im Dezember 1997 erschienen ist, also vor nunmehr 7 Jahren! Damals lief das Teil auf einem Pentium 90 im Softwaremodus flüssig, man konnte es sogar noch auf 486ern einigermaßen spielen.
Da liegen nun ja inzwischen Welten dazwischen und auf einem Rechner mit der 30fachen Taktfrequenz (nicht zu reden von verbesserter Architektur, größerem Cache, mehr Speicher usw.) und einer im Vergleich zu damals extrem performanten OpenGL-Karte hat man heutzutage eine um mehrere Größenordungen höhere Performance. 

Die bei heutigen 3D-Spiele üblichen Anforderungen (wesentlich höhere Anzahl von Polygonen, aufwendigere Lichtberechnungen, Echtzeitschatten, viel bessere Gegner-KI usw.) dürften eine in Java geschriebene Engine wohl auch auf "dicken" Rechnern in die Knie zwingen. Und eine Engine auf dem Niveau von Quake2 ist heute einfach nicht mehr marktfähig.


----------



## zd (1. Jan 2005)

über kurz oder lang ist hardware doch eh so weit, dass spielwelten in fotorealistischer grafik "perfekt" dargestellt werden können und performance keine rolle mehr spielt.
dann wird die plattvormunabhängigkeit plötzlich viel interessanter.


----------



## 0xdeadbeef (2. Jan 2005)

Das dauert aber noch ein bisserl. Wenn man mal in Echtzeit Raytracing betreiben kann, ohne dabei groß auf Anzahl der Poylgone, Strahltiefe usw. achten zu müssen, dann wird die Enwticklung seitens der Grafik mal zu einem Stillstand kommen. Man sollte sich von der teils schon recht guten Echtzeitgrafik nicht täuschen lassen: viele Dinge (Reflektionen/Spiegelungen/Schlaglichter/Brechungen/Radiosity) sind lediglich ganz geschickt simuliert. 
Solange es noch Stunden dauert, eine hochauflösende Sequenz mit allen (derzeit verfügbarer) Features zu rendern, sehe ich wenig Hoffnung, daß Echtzeitraytrracing in greifbarer Nähe wäre.


----------



## Beliar (3. Jan 2005)

Ah, hab noch was zu dem Thema gefunden:

http://jirr.sourceforge.net/

sihe -> irrlicht.sourceforge.net

jIrr ist eine Java portierung der Irrlicht Open Source 3D Engine.


----------



## EgonOlsen (3. Jan 2005)

Painkiller hat gesagt.:
			
		

> jIrr ist eine Java portierung der Irrlicht Open Source 3D Engine.


Nein, es ist eine Schnittstelle zwischen Java und Irrlicht. Die eigentlich Engine ist immer noch C++ und somit nativ. Ehrlich gesagt sehe ich recht wenig Sinn in sowas...


----------



## Beliar (4. Jan 2005)

Echt? ^^ Ich hätts mir besser durchlesen sollen


----------



## 0xdeadbeef (4. Jan 2005)

Ich hatte die Projektseite so verstanden, daß es im Augenblick ein "Binding" (ich hätte das als Wrapper bezeichnet) ist. Allerdings steht da auch, daß es mal eine plattformunabhängige freie 3D-Engine sein/werden soll. Ich hoffe/denke mal, die jetzige Implementierung ist nur ein erster Schritt.
Wobei: für den Benutzer einer Engine (setzt man mal voraus, daß er kein Interesse daran hat, die Engine selber zu ändern) kann es ja fast egal sein, ob er eine Engine benutzt, die durch ihren OpenGL/DirectX-Support plattformabhängig ist oder ob die gesamte Engine nativ implementiert ist.


----------



## EgonOlsen (4. Jan 2005)

0xdeadbeef hat gesagt.:
			
		

> Ich hatte die Projektseite so verstanden, daß es im Augenblick ein "Binding" (ich hätte das als Wrapper bezeichnet) ist. Allerdings steht da auch, daß es mal eine plattformunabhängige freie 3D-Engine sein/werden soll. Ich hoffe/denke mal, die jetzige Implementierung ist nur ein erster Schritt.
> Wobei: für den Benutzer einer Engine (setzt man mal voraus, daß er kein Interesse daran hat, die Engine selber zu ändern) kann es ja fast egal sein, ob er eine Engine benutzt, die durch ihren OpenGL/DirectX-Support plattformabhängig ist oder ob die gesamte Engine nativ implementiert ist.


Angesichts der Tatsache, dass sich da seit einem halben Jahr nichts getan hat an dem Projekt (und nicht einmal Fragen im Forum beantwortet werden), halte ich das ehrlich gesagt für sehr unwahrscheinlich.
Ich denke nicht, dass es einem egal sein kann. Wenn die ganze Engine nativ implementiert ist und über einen "Wrapper" angekabelt ist, habe ich zusätzlich Abhängigkeiten zu einem vom Status des Wrappers und von der Engine an sich. Wenn sich dort was ändert, muss man immer den Wrapper nachziehen usw. Sowas macht IMHO nur Sinn, wenn Java alleine es nicht leisten könnte, aber dem ist nicht so.


----------



## 0xdeadbeef (4. Jan 2005)

Deshalb habe ich ja gesagt, es sei aus Sicht des Benutzers egal. Ich hätte hinzufügen sollen: und wenn die Engine (+ Wrapper) einen Entwicklungsstatus hat, in dem sich kaum noch was ändert.
Und natürlich kann man das in Java machen, wie man ja sehr schön an Deiner Engine (jpct ist doch von Dir, oder?) sieht. Ich habe sogar mal den Software-Renderer dekompiliert, nur um meinen Kollegen zu beweisen, daß dort tatsächlich jeder Pixel (über DrawXXXLine usw.) gezeichnet wird. BTW: Respekt!
Nur kommt man ja heutzutage ohne (nativen) Hardwaresupport auch nicht aus und dann stellt sich halt schon die Frage, ob man dann nicht auch gleich noch ein paar extrem geschwindigkeitsrelevante Teile in den (dann ohnehin notwendigen)  nativen Teil packt. Denn bwohl Java bei den Basistypen recht performant ist, bin ich mir sicher, daß sich das (aus Sicht der Perfomanz) lohnen würde. Zumal man nativ ja u.U. noch Zugriff auf prozessorspezifische SIMD-Anweisungen und dergleichen hat.


----------

