Page 1 of 1

CTD ohne Java?

PostPosted: 26.04.2013, 21:26
by manuel
Gibt es irgendeine Möglichkeit, CTD ohne Java zu betreiben? Ich spiele mit dem Gedanken, ein Chromebook zu kaufen, das bekanntlich aus Sicherheitsgründen kein Java zulässt.

Kannst du(dcode) CTD in anderer Form zur Verfügung stellen(zB Flash)? Wäre auch zukunftsorientierter, denn Java scheint keine rosige Zukunft auf PC-artigen Geräten zu haben.

Re: CTD ohne Java?

PostPosted: 26.04.2013, 22:09
by Lamer
Du kannst ein in Java programmiertes Programm nicht ohne Java laufen lassen.
Man muss das Spiel dazu wie du sagst in eine andere Programmiersprache übersetzen, was einen nicht unerheblichen Aufwand bedeutet.

Es war ja die Rede davon das CTD in HTML5 umgesetzt werden soll.
Dann hieß es, das HTML5 Projekt von Dcode ist ein Fußballspiel bzw. ein anderes als CTD.

Eine Portierung würde ich auch sehr begrüßen.
Aber wenn dann als PC-Umsetzung in einer nativen Programmiersprache.
Alles andere wäre nicht "zweckdienlich", wie man hier so schön sagt, da der Umfang von CTD und die Anforderungen doch schon deutlich über die von herkömlichen Singleplayer Mini-Browsergames hinaus gehen. Die Frage ist ob es für CTD überhaupt irgendwelche Ziele gibt, oder ob das eher ein kleines Rand und Spaßprojekt ist, an dem von Zeit zu Zeit mal gefrickelt wird.

Ich würde von letzterem ausgehen und mir da keine so großen Hoffnungen machen.
CTD wird wohl nie wirklich kommerziell werden. Deswegen sind andere Projekte einfach attraktiver.
Der Markt ist zwar da, aber bis man sich mit CTD einen netten Verdienst machen kann, müsste da noch einiges geändert und aufgemöbelt werden + Marketing und tralala. Kann mir aber vorstellen das er lukrativeres im Auge hat. Irgendwomit muss schließlich auch Dcode sein Geld verdienen ;)

Re: CTD ohne Java?

PostPosted: 30.04.2013, 18:41
by lFelck
Manuel ich bin mir nicht sicher obs funktioniert, aber du könntest versuchen den Javacode in nativen Maschinencode zu übersetzen. Mir fällt da jetz spontan GCJ ein.

Re: CTD ohne Java?

PostPosted: 30.04.2013, 18:47
by manuel
Geht nicht bei Google Translator.

Re: CTD ohne Java?

PostPosted: 30.04.2013, 18:53
by lFelck
Das is schlecht. :/

Re: CTD ohne Java?

PostPosted: 30.04.2013, 19:00
by Lamer
Sowas wie "Übersetzer" gibt es nicht.
Die können zwar Teile von Java in C++ und co bringen, aber das meiste muss man eben manuell nacharbeiten.
Manuel macht das manuell. Der kriegt das schon hin.

Re: CTD ohne Java?

PostPosted: 30.04.2013, 20:59
by lFelck
"Übersetzer" war hier ein mehr oder weniger gut gewähltes Synonym für Compiler.
Und ich rede nicht davon Java in C++ zu übersetzen. Das würde recht wenig bringen.
Ich rede davon das Javaprogramm zu kompilieren. Dabei wird die VM praktisch als DLL eingefügt. Dadurch muss die VM nicht installiert sein und das Programm läuft trotzdem. ;)

Re: CTD ohne Java?

PostPosted: 30.04.2013, 22:06
by Lamer
.Jar ist doch bereits das Kompilierungsformat?
Ohne Compiler lässt sich Java doch gar nicht ausführen ...

Re: CTD ohne Java?

PostPosted: 30.04.2013, 22:21
by lFelck
In der .jar ist der Bytecode. Der ist auch kompiliert, aber eben kein Maschinencode.
Bei Java wird der Quellcode zu Bytecode kompiliert. Der kann dann Platformunabhängig von der JavaVM interpretiert werden. Der Bytecode an sich ist ohne VM nicht ausführbar.
Der obengenannte GCJ ist ein Compiler, der nicht Byte- sonder Maschinencode erzeugt. Man bekommt also ne .exe, die dann ohne die VM ausgeführt werden kann. Ein Teil der VM wird dabei in einer .dll in das Programm eingefügt. Damit kann das Programm ohne eine installierte VM ausgeführt werden, is dafür aber nicht mehr platformunabhängig, sondern müsste für jedes Betriebssystem neu kompiliert werden (wie bei anderen nichtinterpretierten Sprachen auch).
Das ganze schweift jetzt allerdings bischen ins Offtopic ab.

Re: CTD ohne Java?

PostPosted: 30.04.2013, 22:34
by Lamer
Dann reden wir aneinander vorbei.
Siehe 4 Posts über diesem.

Der TE will CTD ja ohne Java ausführen.
Mit GCJ kannst du aus Java nativen Maschinencode (Zum Beispiel C++ und co ...) erzeugen, aber auch das passiert nicht auf Knopfdruck und Teilweise müsste das Programm nach meinem Verständnis neu geschrieben werden. Zumal der Sourcecode auch nicht vorliegt. Die Idee gefällt mir und es würde mich auch allgemein interessieren wieviel Aufwand das für ein Spiel wie CTD bedeuten würde. Wenn das mit einer überschaubaren Spanne an Mannstunden zu schaffen ist, frage ich mich allerdings warum Minecraft immer noch nicht in Nativ Maschinencode umgesetzt wurde. Warum programmiert überhaupt irgendjemand in Java?? Macht für mein Verständnis höchstens bei Spielen und Apps für Handys Sinn...

Wäre aber alles ein Job für Dcode und naja ... siehe Post Nr2 :D

Re: CTD ohne Java?

PostPosted: 01.05.2013, 08:13
by manuel
.exe geht auch nicht, denn auf einem Chromebook laufen nur Chormeapps und alles was im Browser ist(ausser Java).

Re: CTD ohne Java?

PostPosted: 01.05.2013, 09:54
by Lamer
Warum kaufst du dir sowas??

Re: CTD ohne Java?

PostPosted: 01.05.2013, 10:16
by manuel
Es ist schnell, sehr günstig und praktisch für die Uni. Das Einzige, was da fehlen würde wäre CTD, aber alles andere kann ich auch mit den Chorme Apps und ggf. den MS Office Webapps.
http://www.amazon.de/Samsung-303C12-Chr ... chromebook

Re: CTD ohne Java?

PostPosted: 01.05.2013, 11:02
by lFelck
@manuel
Hab mich mal informiert. Du kannst dir doch nen ChrUbuntu auf z.B. ne SD installieren. Da läuft dann auch Java und das Problem wäre geklärt. ;)

@Lamer
Entweder bin ich zu blöd zum Lesen oder du hast da was falsch verstanden. C++ ist kein Maschinencode, genauso wenig wie Java welcher ist. Und mit dem GCJ kann man nicht Java in C++ übersetzen. Aus dem Javaquellcode wird Maschinencode erzeugt. Man erhält also eine .exe oder ne ausführbare Datei für Linux oder was auch immer man halt will. Der Punkt ist, dass man ein ohne die installierte VM ausführbares Programm erhält. Per Hand muss man da nix nachbessern (was wäre das denn fürn Compiler, wenn man per Hand noch paar Einsen und Nullen dazu schreiben müsste).

Re: CTD ohne Java?

PostPosted: 01.05.2013, 12:28
by Lamer
Erm ...

Sorry mein Fehler.
Bei Maschinencode dachte ich an Native Programmierung.
Im Fall von Windows also C, C++ und nicht an Binär.

Re: CTD ohne Java?

PostPosted: 05.05.2013, 17:04
by dcode
Um Chromebooks im Werkszustand unterstützung zu können, müsste es imho entweder Flash oder HTML5 sein. Flash ist zur Zeit noch am performantesten, was Spiele anbelangt, aber das dürfte sich in Zukunft ändern. Ob und wann ich allerdings Zeit für eine HTML5-Portierung finde, steht in den Sternen :)

http://www.creeptd.com/html5/

Was GCJ anbelangt bin ich skeptisch. Die letzte Aktualisierung scheint in 2009 erfolgt zu sein und sich auf Java 4 mit einigen Teilen von 5 zu beschränken. CreepTD verwendet teils Funktionen, die erst in Java 7 eingeführt wurden und erfordert für alles andere Java 6. Die Kompilierung für Chromebooks dürfte darüber hinaus eine nicht-triviale Angelegenheit sein.