JAVA und Pandora


Ich zocke am PC gerad "Edna bricht aus" ein geniales Adventure und es ist komplett in JAVA programmiert, läuft auch laut Wiki unter Linux obwohl das Game selber nicht dafür entwickelt wurde.
Währ schon super, wenn es so ein Game auch für die Pandora gäbe, leider ist das Spiel wohl nicht Open Source aber vielleicht braucht man das gar nicht wegen Java?
 
Fusion_Power said:
Ich zocke am PC gerad "Edna bricht aus" ein geniales Adventure und es ist komplett in JAVA programmiert, läuft auch laut Wiki unter Linux obwohl das Game selber nicht dafür entwickelt wurde.
Währ schon super, wenn es so ein Game auch für die Pandora gäbe, leider ist das Spiel wohl nicht Open Source aber vielleicht braucht man das gar nicht wegen Java?

Das ist ein spiel von wenigen... grafisch gesehen ist das Spiel auch veraltet.
Das Spiel hat ne Grafik auf Monkey Island 3 Niveau. Betrachte mal die Systemanforderungen beider Spiele:

Edna bricht aus:
Systemanforderungen:
PIV 1GHz CPU
512MB RAM
7 GB HD
3-D-Karte

Monkey Island 3
Systemanforderungen:
Pentium 90
16 MB RAM
2 MB Festplatte + Speicherplatz für Savegames
4x CD-Rom
1 MB Grafikkarte
Soundblaster

Empfohlen:
Pentium 166
32 MB RAM

Da siehst du mal, warum JAVA für Spiele eher ungeeignet ist.
 
Währ schon super, wenn es so ein Game auch für die Pandora gäbe, leider ist das Spiel wohl nicht Open Source aber vielleicht braucht man das gar nicht wegen Java?
Gibt es eine ausführbares Jar File? Wenn ja, bleibt noch die Frage nach der erforderlichen Java Version. Wenn nichts höheres als Java 1.4 (oder auch Java 4; ist das gleiche) erforderlich ist, wär es durchaus einen Versuch wert.
 
Thrake said:
Da siehst du mal, warum JAVA für Spiele eher ungeeignet ist.
Darum gehts doch gar nicht. ;) Aber wenn so ein Game nunmal in JAVA ist und es ist wirklich ein gutes game, dann stünden sie Chancen zumindest relativ gut, dass es mal seinen Weg auf die Pandora findet, WENn die denn gescheit mit Java umgehn kann.
Ja, das Game ist nicht das schnellste, die Ladezeiten sind elend lang, savegame anlegen auch aber wie du weiß auch ich, dass JAVA nun kein Speedy Gonzales ist. Wer games coden möchte, sollte wohl andere Optionen als JAVA suchen.
Guy Montag said:
Gibt es eine ausführbares Jar File? Wenn ja, bleibt noch die Frage nach der erforderlichen Java Version. Wenn nichts höheres als Java 1.4 (oder auch Java 4; ist das gleiche) erforderlich ist, wär es durchaus einen Versuch wert.
DA bin ich überfragt, viel mehr als aus der Wiki zu entnehmen ist, weiß ich auch nicht über den Status des Games.
http://de.wikipedia.org/wiki/Edna_bricht_aus

Ach, "Edna bricht aus" belegt übrigens flockige 6,7 GB auf der Platte, hat 27718 Dateien in 245 Ordnern und alle Sprachausgabe (14 Stunden insgesammt) ist im WAVE Format. :lol: Die Devs kannten wohl noch keine Containerformate oder ich schiebs einfach auch mal auf JAVA.
 
Je mehr ich nun über das Spiel gelesen habe, um so größer wird meine Vermutung, dass die Entwickler denkten Windows wäre das einzige Betriebssystem. Anscheinend funktioniert das Programm problemlos auf allen Plattformen auf denen eine Java VM installiert ist ABER ausgeliefert wird es mit einem Installer der nur unter Windows ausgeführt werden kann. D.h. wenn man es unter Linux starten will müsste man (laut hier) einfach nur die Installation unter Windows ausführen und dann die Daten auf seinen Linux Rechner kopieren. Warum man ein plattformunabhängiges Programm entwickelt, es dann aber durch den Installer auf Windows beschränkt ist mir schleierhaft.
Das gleiche mit dem wav Files. WTF!?, warum wav? Da es nicht Open Source ist kann man es leider nicht ändern.

@Fusion_Power
Wenn du wissen willst ob es auf der Pandora läuft schmeiß deine Java VM runter, installier Cacao und versuch es auszuführen. Wenn es läuft, dann läuft es auch auf der Pandora. Dann musst du nur noch hoffen dass die Systemanforderungen nicht zu hoch sind.
 
Fusion_Power said:
Thrake said:
Da siehst du mal, warum JAVA für Spiele eher ungeeignet ist.
Darum gehts doch gar nicht. ;) Aber wenn so ein Game nunmal in JAVA ist und es ist wirklich ein gutes game, dann stünden sie Chancen zumindest relativ gut, dass es mal seinen Weg auf die Pandora findet, WENn die denn gescheit mit Java umgehn kann.
Ja, das Game ist nicht das schnellste, die Ladezeiten sind elend lang, savegame anlegen auch aber wie du weiß auch ich, dass JAVA nun kein Speedy Gonzales ist. Wer games coden möchte, sollte wohl andere Optionen als JAVA suchen.

Bei den horenden Systemanforderung für ein Spiel mit einer popelgrafik sehe ich ehr schwarz, dass es auf der Pandora läuft. Java ist, wie du ja eingestehst, kein Programiersprache, inder man Spiele programmieren sollte... selbst Handyspiele laufen langsam bei mir zum Teil, z.b. Gianas Sisters für Handy, dass damals auf einem Commodore 64 gut lief, der nur ung. 1MHZ und 64kb RAM hatte.
 
edit: Inhalt gelöscht, da es sinnlos ist Leute, die sich einem fast schon religiösen Wahn hingeben, von der Wahrheit zu überzeugen zu versuchen.
 
Naja, ich muss mich seitens des Studiums jetzt zwangsweise intensiver mit Java beschäftigen; ich komm ja als E-Techniker eher aus der hardwarenahen Ecke, also Assembly und C/C++; C# war für mich schon grausig, aber ich wollte umbedingt XNA nutzen^^

Ich glaube, man muss jetzt bei "Java auf Pandora nutzen" auch unterscheiden, was genau man nutzen will; JavaSE, JavaFX, etc.
 
Guy Montag said:
edit: Inhalt gelöscht, da es sinnlos ist Leute, die sich einem fast schon religiösen Wahn hingeben, von der Wahrheit zu überzeugen zu versuchen.

was ist denn das für eine Aussage? Java hat andere Einsatzgebiete als C++ und Spielprogrammierung gehört nunmal nicht zu Javas Stärken, sorry. Ich schwaffel ja auch nicht, das C++ perfekt für Webanwendungen seien. Ich denke eher, du bist derjenige, der sich fast schon einen religösen Wahn hingibt, nicht ich.
 
Guy Montag said:
edit: Inhalt gelöscht, da es sinnlos ist Leute, die sich einem fast schon religiösen Wahn hingeben, von der Wahrheit zu überzeugen zu versuchen.

Worauf sich das bezieht, würde mich auch interessieren^^
 
ElectronicPirate said:
Guy Montag said:
edit: Inhalt gelöscht, da es sinnlos ist Leute, die sich einem fast schon religiösen Wahn hingeben, von der Wahrheit zu überzeugen zu versuchen.

Worauf sich das bezieht, würde mich auch interessieren^^
Wilkommen im Club ;-)

Und dann noch meine bescheidene Meihnung:
Ich habe jede der bisher genannten Sprachen schon das ein oder andere Mal genutzt. Und ich muss zustimmten besonders für den Einstieg wäre Java doch sehr zu empfehlen (auch wenn ich auch Basic, egal welche Variante, als sehr guten Einstieg sehe!). Und wenn Java kann ich dir nur Eclipse ans Herz legen die IDE wird dir sehr viel Tipparbeit abnehmen und kann dir beim Einstieg helfen ;-)

Was Performance angeht gibt es natürlich keinen Zweifel das Java auch mit JIT etc. nicht annähernt an andere Sprachen rankommt welche direkt in Maschienencode übersetzt werden (gcj lass ich mal außen vor damit habe ich mich bisher nicht beschäftigt).

Und was Portabilität angeht, hat Java naturlich den Vorteil eine Datei läuft auf jedem System mit passender VM (zumindest meistens gibt natürlich gewisse außnahmen!!!) was man z.B. bei Handy's auch wieder einschränken muss da man dort meißt nur mit JavaME Programmieren darf damit es funktioniert! Aber man darf nicht vergessen das es mehr Systeme gibt für die ein C-Compiler existiert als Systeme welche eine JavaVM haben.

Aber wie gesagt gerade für den Anfang und um schnell mal ein kleines Programm zu schreiben ist Java eine Ausgezeichnete Sprache und kann auch für Größere Projekte sehr gut eingesetzt werden. Ist für Zeitkritische Prozesse allerdings eher ungeeignet(gibt aber sehr seltene Ausnahmen bei dennen Java sogar in Embedded Systems eingesetzt werden. Welche ja meißtens eher sehr zeitkritische Vorgänge steuern!).

Und was C/C++ und Web angeht die Begriffe CGI und FastCGI sind ja schon gefallen und diese Techniken in verbindung mit C/C++ erreichen auch eine sehr hohe Performance welche die von z.B. PHP bei weitem übersteigen sollte (je nach implementation vom Web-Server) da PHP eine Interpretersprache ist und (Außer durch spezielle Beschleuniger wie eAccelerator) jedes mal neu während der Laufzeit in Maschienencode übersetzt werden muss (um es einfach auszudrücken). Und natürlich kann man CGI und FastCGI als alternative zu Serverpages auch im zusammenhang mit regulären Java-Anwendungen benutzen (habe mir z.B. selbst mal ein Java-Framework für FastCGI programmiert).
a.tom said:
Ich weiß, es wird mittlerweile auch in den meisten Schulen mit einer objektorientierten Sprache (großteils vermutlich Java) angefangen, aber ich für meinen Teil bin sehr froh, noch ordentlich mit C gequält worden zu sein ;) Man hat dann einfach eine solide Basis und jede neue/andere Programmiersprache ist relativ schnell gelernt.
Schonmal in Scheme, Esterel, Haskell oder ähnlichem Programmiert? Da nützt dir C recht wenig ;-)
Aber an sich hast du schon recht :-D Aber Assembler würde zumindest beim Verständnis über die Vorgänge noch mehr helfen :p lol
 
SebuSoft said:
Schonmal in Scheme, Esterel, Haskell oder ähnlichem Programmiert? Da nützt dir C recht wenig ;-)
Aber an sich hast du schon recht :-D Aber Assembler würde zumindest beim Verständnis über die Vorgänge noch mehr helfen :p lol

Jaja, kaum will man vernünftig über eine objektorientierte Sprache reden, kommen schon die funktionalen und logischen Sprachen beleidigt aus ihrem Schattendasein gekrochen!!
:p :p
 
Also ich finde Java und C++ nur bedingt für Einsteiger geeignet, die noch nie was programmiert haben.

C eignet sich IMHO eher für Lowlevel-Geschichten, der C++ code ist z.T auch sehr undurchschaubar. Bei Java ist es immer schwer, den Einstieg zu finden, mit den ganzen OOP-/Klassen-Geschichten. Das Konzept der Sprache geht einem erst auf wenn man sich länger irgendwelche Tutorilas durchgeschafft hat. Ich würde die Meinung teilen, dass es nicht unbedingt für Echtzeitspiele geeignet ist.

IMHO ist immer noch Pascal/Delphi das beste aus allen Welten. Leicht verständlicher strukturierter Code, man wird zu sauberem Programmieren gezwungen, Pointer kommen kaum vor bzw. nur im sehr fortgeschrittenen Stadium. Mit Freepascal und Lazarus gibts inzwischen einen Multi-Plattform-Crosscompiler, der den Borland-Produkten eigentlich ebenbürtig ist. Spieleprogrammierung ist natürlich möglich, z.B. auch mit OpenGl oder JEDI-SDL.
Für Pascal gibt es immer noch sehr viele Ressourcen und Beispiele im Netz. AFAIK wurden "Haegemonia" und "Schiene und Strasse" mit Delphi programmiert.

Ich finde Pascal für Einsteiger auch besser geeignet als Basic. Basic ist relativ simpel und ist die typische Homecomputer-Einsteigersprache, sie stammt aus der Zeit begrenzter Systemressourcen und bietet tendenziell Möglichkeiten zu Quick n Dirty-Abkürzungen. Es gibt eine Unzahl an mehr oder weniger kompatiblen Dialekten. Ich halte Basic (damit mein ich vor allem alte Basic-Dialekte wie Power-basic oder Turbo-basic) als Einsteigersprache dank Pascal für überholt. GL-Basic ist ein Spezialfall, ein Dialekt, der auf einfaches Spieleerstellen getrimmt wurde. Für Einsteiger durchaus geeignet... Aber Mächtigkeit?? ich weiss jetzt auch nicht, ob man jetzt z.B. dank GL-basic leichter auf Visual Basic umsteigen kann... Wobei ich VB-Code irgendwie häßlich finde - wieso VB für Programme verwenden, wenn man Delphi haben kann??
:D

Eine neueres Konzept, was ich auch für Einsteiger-Geeignet halte ist Python. Da gibts halt nur noch nicht soviel zeug dazu wie z.B. für Pascal, und auch weniger leute die es können und bei Problemem helfen.

C und C++ sind heute die mit Abstand am meisten verbreiteten Sprachen. Das liegt daran, dass es gelungen ist, C in den 70er Jahren in den US-Informatiker- und Etechnikerausbildungen einzuführen. Somit wurde UNIX in C geschrieben, und auch MS und Apple bekamen Programmierer, die C konnten. So wurde auch Dos und Windows in C geschrieben. Pascal steht hingegen in einer Reihe europäischer Universitätslehrsprachen, von denen es als einzigste nenneswerte Verbreitung und Bedeutung für die Praxis erlangen konnte.
Dennoch dominieren heute C und C++. Auch bei den für die Spieleindustrie immer wichtigeren Konsolen sind die Developer-Kits meist irgendwie C++-basiert. Gerade im Fall der XBox wird eine Portierung von Titeln in C++ auf Windows relativ leicht.
Dennoch heißt das nicht, dass C++ jetzt objektiv die "bessere" Sprache ist als Delphi. Ähnlich wie Word nicht unbedingt besser sein muß als Wordperfect. Word ist nur verbreiteter, es benutzt jeder, und die Sekretärinnen/ Bürokauffrau-Azubis lernen heutzutage Word.
Und jeder Programmierer, der C++ gelernt und sich jahrelang mit desen Tücken rumgeschlagen hat, verteidigt natürlich die Sprache. Genau wie jede Sekretärin in den Streik treten wird, wenn man ihr plötzlich Wordperfect vorsetzt. :lol:
 
Kleine Anmerkung: Dass bei Edna die Sprachausgabe als Wave vorliegt stimmt so nicht ganz. Die Dateien haben zwar die Endung "wav" sind aber in Wirklichkeit - wenn ich mich richtig erinnere - mit Vorbis komprimiert.
Ob das Spiel dann auch auf der Pandora laeuft, wird sich zeigen. Bisher spricht aber eher alles dagegen, dass es dann auch spielbar sein wird. Trotzdem hoffe ich darauf :)
Und nachdem ja auch eine Version fuer den DS erschienen ist, koennte man ja mal mit dem Hersteller sprechen, ob es nicht moeglich waere auch fuer die Pandora eine (leicht) angepasste Version zu veroeffentlichen.
(Edit: Rechtschreibung)
 
Dann sollte EDNA aber generell schneller gemacht und optimiert werden, die Lade und Speicherzeiten isnd auf meinem Quadcore wie gesagt absolut unterirdisch. Ich phantasiere mir auch zusammen, dass dieses Piel auf FLASH Basis viel schneller laufen und weniger Speicherplatz benötigen würde. Auch könnte ein Containerformat die Quadzillionen Dateien beherbergen, so dass das installieren/kopieren auf SD nicht Ewigkeiten dauert.
Ein guter Pandora Port währe schön, auf einen schlechten Port kann ich aber verzichten. Aber da EDNA eh quasi als eine Art "Hobbyprojekt" begann, entwickelt sich eventuell noch was draus.
Dass es eine DS Version gab, wußte ich gar nicht. Interessant, wie läuft die so? ^_^
 
Die Diskussion erinnert mich irgendwie an die Zeit, in der viele Leute der festen Meinung waren, dass C++ viel zu High-Level und vor allem zu langsam ist um damit sowas wie Spiele gescheit schreiben zu können. Schon schlimm der Fortschritt :oops:

Fakt ist doch, dass man mit Java Spiele schreiben kann und die auch sehr gut laufen, wenn man nicht völlig unfähig ist. Und von den Anforderungen von einzelnen Spielen auf die Spieletauglichkeit einer Sprache zu schließen ist auch nicht wirklich die goldene Argumentation. Nach wie vor ist das Hauptproblem von Java der Speicherbedarf (bei Desktops mittlerweile egal, aber wie schon angesprochen bei Handys fatal), aber die Geschwindigkeit ist schon lange nicht mehr das Problem (zumindest bei 98% aller Anwendungen).

Und das C++ jetzt so ne tolle Sprache für Spiele sein soll ist doch auch ein bisschen weit hergeholt, zumindest im Windows-Sektor satteln viele schon auf C# um. Nur noch ne Frage der Zeit bis C++ da aus dem Rennen ist. Wird heutzutage sowieso nur deswegen noch genutzt, weil es dafür viele Engines und Bibliotheken gibt (und weil auf Konsolen momentan nichts anderes geht, mal von der Xbox abgesehen).
 
Fauk said:
Fakt ist doch, dass man mit Java Spiele schreiben kann und die auch sehr gut laufen, wenn man nicht völlig unfähig ist. Und von den Anforderungen von einzelnen Spielen auf die Spieletauglichkeit einer Sprache zu schließen ist auch nicht wirklich die goldene Argumentation. Nach wie vor ist das Hauptproblem von Java der Speicherbedarf (bei Desktops mittlerweile egal, aber wie schon angesprochen bei Handys fatal), aber die Geschwindigkeit ist schon lange nicht mehr das Problem (zumindest bei 98% aller Anwendungen).

Wie kommt es dann eigentlich, das Edna eine solch horrende Anforderung hat, obwohl das Spiel im gegensatz zu anderen heutigen Spielen so "billig" ist?
Und das C++ jetzt so ne tolle Sprache für Spiele sein soll ist doch auch ein bisschen weit hergeholt, zumindest im Windows-Sektor satteln viele schon auf C# um. Nur noch ne Frage der Zeit bis C++ da aus dem Rennen ist. Wird heutzutage sowieso nur deswegen noch genutzt, weil es dafür viele Engines und Bibliotheken gibt (und weil auf Konsolen momentan nichts anderes geht, mal von der Xbox abgesehen).

Würde ich nicht umbedingt sagen. Ein Großteil der Spiele wird noch in C++ entwickelt, grund dafür ist natürlich die vielen Engines und Bibliotheken. Die meisten entwickeln ja kaum noch engines, sondern entwickeln ihre weiter. Und nicht zu vergessen ist C++ für Realzeitanwendungen eine wirklich gute Sprache, was ich von Java nicht behaupten kann. Mir fällt auf Anhieb kein Spiel ein, dass in Java programmiert wurde und eine spektakuläre Grafik besitzt, die ihre Systemanforderungen gerecht wird.
 
Man kann durchaus performante Spiele in Java schreiben. Eine hübsche Engine ist z.B. jMonkeyEngine.
Wenn man jetzt die CryEngine erwartet, liegt man natürlich falsch. Bleeding Edge wird wohl auf lange Zeit lowlevel bleiben, aber gerade im Casual-/Homebrew-Bereich liegt viel Potential in Sprachen wie Java/C#, da sie eine schnelle Entwicklung begünstigen.
 
Back
Top