So, nach all den offenbar "OMG ein Spiel muss AAA Grafik haben COD 4 eva" geprägten Posts muss ich beitragen, dass ich mich schon auf das fertige Spiel freue.
Mit Minecraft haben Notch und Mojang nicht nur gezeigt, dass ein Spiel keine Top Grafik haben muss um ein top Spiel zu sein, sie haben auch die Vorteile von Java gegenüber anderer Programmiersprachen aufgezeigt.
Mit Java war es möglich, dass sich so tolle Projekte wie Bukkit (serverseitig) und etliche Clientmods in kürzester Zeit stabil, problemlos und erweiterbar entwickeln konnten.
Mach das mal mit einem C Programm und im selben Umfang nach ...
Gruß von einem Minecraft UND Battlefield 3 Spieler.
Benutzer wird von Ihnen ignoriert. Anzeigen
Naja schau dir mal z.B. die Modding Szene für Halflife und Source Server an. Dort gibt es auch ... alles, weil es ein sauberes SDK gibt.
Die Mods für Minecraft sind kein gutes Beispiel für Erweiterbarkeit, denn sie sind bisher nicht offiziell vorgesehen, was instabile APIs zu Folge hat.
Bukkit ist auch mehr Hack als Mod und es muss jedes mal recht viel gemacht werden um das an jeden Build von Minecraft anzupassen.
Benutzer wird von Ihnen ignoriert. Anzeigen
Jep und gleichzeitig erfüllt Minecraft noch alle Klischees die es über Java gibt. Es ist arsch langsam. verbuggt. Außerdem hat es keine feste Modding-API.
Zum Punkt performance möchte ich mich auch nicht groß herumstreiten, entweder ist es sowas von schlampig Programmiert, oder es liegt einfach an Java.
1 mal bearbeitet, zuletzt am 06.10.12 08:52 durch tupolew.
Benutzer wird von Ihnen ignoriert. Anzeigen
Soll das ein Java vs. Rest der Welt Thread sein?
Benutzer wird von Ihnen ignoriert. Anzeigen
nelret schrieb:
--------------------------------------------------------------------------------
> Naja schau dir mal z.B. die Modding Szene für Halflife und Source Server
> an. Dort gibt es auch ... alles, weil es ein sauberes SDK gibt.
>
> Die Mods für Minecraft sind kein gutes Beispiel für Erweiterbarkeit, denn
> sie sind bisher nicht offiziell vorgesehen, was instabile APIs zu Folge
> hat.
>
> Bukkit ist auch mehr Hack als Mod und es muss jedes mal recht viel gemacht
> werden um das an jeden Build von Minecraft anzupassen.
Aber es funktioniert, egal ob mit offizieller Genehmigung oder ohne.
Den Umfang von Bukkit hat bisher kein SDK Programm erreicht. Man hat hier und da ein paar "Scripte", aber das anbinden einer Programmiersprache im vollen Funktionsumfang existiert dort nicht.
Von welchen APIs sprichst du, und wie macht man APIs instabil?
Benutzer wird von Ihnen ignoriert. Anzeigen
Frankenwein schrieb:
--------------------------------------------------------------------------------
> Mit Java war es möglich, dass sich so tolle Projekte wie Bukkit
> (serverseitig) und etliche Clientmods in kürzester Zeit stabil, problemlos
> und erweiterbar entwickeln konnten.
>
> Mach das mal mit einem C Programm und im selben Umfang nach ...
Warum immer alles mit C vergleichen? Wozu gibt es C++?
Benutzer wird von Ihnen ignoriert. Anzeigen
Immer diese Ablehnung gegenüber Java.
Benutzer wird von Ihnen ignoriert. Anzeigen
Frankenwein schrieb:
> Aber es funktioniert, egal ob mit offizieller Genehmigung oder ohne.
> Den Umfang von Bukkit hat bisher kein SDK Programm erreicht. Man hat hier
> und da ein paar "Scripte", aber das anbinden einer Programmiersprache im
> vollen Funktionsumfang existiert dort nicht.
>
> Von welchen APIs sprichst du, und wie macht man APIs instabil?
Das liegt vielleicht zufälligerweiße auch am Spielgenre, welches sehr Ideenfreundlich ist? Oder was willst du bei Halflife auch groß modden? Minecraft ist nunmal ein Spiel welches komplett auf kreativität beruht.
Ich muss gerade für eine Firma übrigens auch in Java programmieren und ich habe immer noch nicht kapiert was der große Vorteil an Java sein soll. Etwa ein Garbagekollektor für faule und schlampige Programmierer?
Benutzer wird von Ihnen ignoriert. Anzeigen
http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B
So, wenn damit die Versuche hier nen Programmiersprachenflamewar vom Zaun zu brechen beendet sind...
Ich hoffe für 0x10c auf eine ähnliche Erweiterbarkeit wie Minecraft.
Benutzer wird von Ihnen ignoriert. Anzeigen
Letztendlich ist die Hotspot JVM auch nur in C++ geschrieben. Meiner Meinung nach ist der ganze Bytecode kram völlig unnötig und übertrieben.
Frankenwein schrieb:
--------------------------------------------------------------------------------
> Ich hoffe für 0x10c auf eine ähnliche Erweiterbarkeit wie Minecraft.
Ähm, die Erweiterung von Minecraft ist keine große Besonderheit. Die Fülle und Hülle an Mods sind eher darauf basierend, dass Minecraft eben ein Kreativspiel ist und sich von der Spielstruktur herrvoragend zum Modden eignet oder wie willst du eine komplexe Moddingapi in ein Kartracinggame einbauen. Du kannst vielleicht KI's in Scripte auslagern und irgendwelche Specials/Geschenke oder wie sich der Kram auch immer nennt. Wie willst du eine Umfangreiche Moddingapi mit so vielfältigen Mods in einen Shooter realisieren oder in einem Adventuregame? Außerdem vergleichst du eine Imperative Sprache (C) mit einer objektorientierten Sprache (Java). Aber mit C++ kann man schon wirklich tolle Sachen bauen. Mich würden jetzt aber die großen Vorteile von Java bezüglich einer Modding-API interessieren. Der einzige der mir einfällt ist die Portabilität von Java bezüglich den großen Plattformen wie OpenBSD, Windows, Linux, ... was aber bei einer Modifikationsapi mit C++ einfach dadurch lösen würde, dass man sich an den offiziellen Standard hält und den Quelltext freigibt oder die Mod für alle großen Plattformen kompiliert.
Benutzer wird von Ihnen ignoriert. Anzeigen
Frankenwein schrieb:
--------------------------------------------------------------------------------
> So, wenn damit die Versuche hier nen Programmiersprachenflamewar vom Zaun
> zu brechen beendet sind...
Du hast ihn begonnen, und willst ihn jetzt beenden.
Sehr löblich!
> Ich hoffe für 0x10c auf eine ähnliche Erweiterbarkeit wie Minecraft.
Die Möglichkeit, eine CPU-Simulation zu programmieren klingt jedenfalls höchst spannend.
Hoffentlich wird diese Idee nicht verworfen?
Benutzer wird von Ihnen ignoriert. Anzeigen
Frankenwein schrieb:
--------------------------------------------------------------------------------
> So, nach all den offenbar "OMG ein Spiel muss AAA Grafik haben COD 4 eva"
> geprägten Posts muss ich beitragen, dass ich mich schon auf das fertige
> Spiel freue.
>
> Mit Minecraft haben Notch und Mojang nicht nur gezeigt, dass ein Spiel
> keine Top Grafik haben muss um ein top Spiel zu sein, sie haben auch die
> Vorteile von Java gegenüber anderer Programmiersprachen aufgezeigt.
>
> Mit Java war es möglich, dass sich so tolle Projekte wie Bukkit
> (serverseitig) und etliche Clientmods in kürzester Zeit stabil, problemlos
> und erweiterbar entwickeln konnten.
>
> Mach das mal mit einem C Programm und im selben Umfang nach ...
>
> Gruß von einem Minecraft UND Battlefield 3 Spieler.
Ja genau, wir vergleichen C mit Java. Ja die ganzen großen Spiele sind ja heutzutage in C geschrieben. Ja eine funktionale Sprache eignet sich am besten für große Spiele. Ähmm, hump, humpf...
Schonmal was von C++ gehört, ist übrigens Objektorientiert und Kompiler gibt es für jede mir bekannte Plattform.
> Aber es funktioniert, egal ob mit offizieller Genehmigung oder ohne.
> Den Umfang von Bukkit hat bisher kein SDK Programm erreicht. Man hat hier
> und da ein paar "Scripte", aber das anbinden einer Programmiersprache im
> vollen Funktionsumfang existiert dort nicht.
>
Ja genau, wenn ich an einen Shooter denke fallen mir sofort tausend Verbesserungsvorschläge und Erweiterungen ein, nur die kann ich nicht verwirklichen denn der doofe Shooter ist nicht in Java geschrieben sondern im altbackenem C. Hmpf, hmpf, hmpf...
Und das Minecraft so langsam ist, also dass kann schon mal nicht an Java liegen überhaupt nicht, nein rein gar nicht.
Benutzer wird von Ihnen ignoriert. Anzeigen
>> Ja eine funktionale Sprache eignet sich am besten für große Spiele
http://de.wikipedia.org/wiki/Funktionale_Programmierung !=
http://de.wikipedia.org/wiki/Prozedurale_Programmierung
Ich nehme zumindest an, dass das ma ausnahmsweise keine Absicht war :/
Benutzer wird von Ihnen ignoriert. Anzeigen
Yep, mein Fehler
Benutzer wird von Ihnen ignoriert. Anzeigen
Ah, ein Flamewar, da will ich auch mal mitmischen. ^^
Also, um gleich mal das wichtigste Argument zu zerschlagen: Java-Programme sind nicht grundsätzlich erweiterbar geschrieben. Gerade Minecraft nicht!. Ich bin mal auf die tolle Idee gekommen, dass man eine kleine Clientmod schreiben könnte, die mir die Uhrzeit immer einblendet und wollte das ohne Modloader etc. machen. Also minecraft.jar geöffnet und dort angefangen etwas zu suchen, was iwas mit World, Time oder Environment im Namen hatte... <ironie>Da Java so super erweiterbar ist, hat mir die Methode der a(int i, int i1, int i2, int i3) der Klasse act, die übrigens mit einem long und einem Objekt der klasse adc erzeugt wird sehr weitergeholfen.</ironie>
Was ich eig. damit sagen wollte (außer, dass ich Java nicht mag :P) ist, dass es die Entscheidung des Programmierers ist, ob er eine Programm erweiterbar gestaltet, oder ob er das Programm von Außen unzugänglich macht und ist nicht von der Programmiersprache vorgegeben.
Das, was man in Bukkit durch das reinkopieren von .jar-Dateien erledigt, könnte genauso gut durch das reinkopieren von .dlls getan werden. Die Prozedur wäre die gleiche.
Und zum Spiel selbst: Ich finde das klingt ein bisschen nach Artemis. Dort wird die Brücke auf mehrere PC's verteilt und man steuert das Schiff nicht nur per Joystick, sondern hat die volle Kontrolle über alle Funktionalitäten(wie eben auch Energieverteilung und Systemkühlung) des Schiffs. Das Game macht echt süchtig ^^. Mal sehen, wie 0x10^c wird.
Benutzer wird von Ihnen ignoriert. Anzeigen
irata schrieb:
--------------------------------------------------------------------------------
> Die Möglichkeit, eine CPU-Simulation zu programmieren klingt jedenfalls
> höchst spannend.
> Hoffentlich wird diese Idee nicht verworfen?
Wird bestimmt nicht verworfen! Das wäre so, als würdest du aus Call of Duty die Waffen entfernen! ;)
Benutzer wird von Ihnen ignoriert. Anzeigen
tupolew schrieb:
--------------------------------------------------------------------------------
> Warum immer alles mit C vergleichen? Wozu gibt es C++?
Weil die meisten C sagen und C++ meinen.
Benutzer wird von Ihnen ignoriert. Anzeigen
><ironie>Da Java so super erweiterbar ist, hat mir die Methode der a(int i, int i1, int i2, int i3) der Klasse act, die übrigens mit einem long und einem Objekt der klasse adc erzeugt wird sehr weitergeholfen.</ironie>
Das liegt AFAIK am obfuskierten Code. Beim Code, welcher compiliert vorliegt und welchen du decompiled hast sind die Methodennamen nicht mit enthalten. Das ist so, weil Java das wegoptimiert. Hättest du den Sourcecode, würdest du sprechende Methodennamen vorfinden.
Ansonsten hast du mit deinem Post schon nicht unrecht.
Was DLLs angeht, muss man Java da zumindest zugestehen, dass der Bytecode der Jar-Datei zumindest bei jedem Betriebssystem einfach zu dekompilieren ist, selbst wenn er obfuskiert ist. Bei einem C oder C++ Programm oder Dll ist das anders. Bei der Dll ist das durch den Bytecode schon ziemlich erschwert, da alles in Assembler vorliegt.
Benutzer wird von Ihnen ignoriert. Anzeigen
Nunja, Sinn einer API sollte aber nicht sein, die Kompilate zu dekompilieren, um deren Bedeutung und Funktionsweise zu verstehen. Wenn man auf Erweiterkeit Wert legt, dann gibt man von Anfang an eine vernünftige API-Dokumentation nach außen und dann spiel die Programmiersprache einfach keine Rolle.
Und das Obfuscaten muss man meines Wissens nach mit Spezialtools selbst machen(ist in Minecraft also gewollt so), und wird nicht von Java gemacht, da ansonsten .jars inkompatibel zueinander werden könnten, weil eine Klasse auf einmal abc und nicht, wie erwartet Auto heißt.
Benutzer wird von Ihnen ignoriert. Anzeigen
Frankenwein schrieb:
--------------------------------------------------------------------------------
> en.wikipedia.org
Du liest die Disclaimer auch, bevor du den Artikel liest, oder?
Benutzer wird von Ihnen ignoriert. Anzeigen
Kommentare: 350 | letzter Beitrag 13:44 Uhr
Kommentare: 176 | letzter Beitrag 12:01 Uhr
Kommentare: 127 | letzter Beitrag 11:26 Uhr
Kommentare: 112 | letzter Beitrag 14:08 Uhr
Kommentare: 107 | letzter Beitrag 13:52 Uhr
E-Mail an news@golem.de

Viele Nutzer betrachten Adblocker als legitime Notwehr gegen die aggressive Werbung im Netz. Für Websites wie Golem.de ist das ein großes Problem. Am Ende verlieren alle. Suche nach Auswegen aus dem Dilemma.

Zwei Hersteller von Windows-RT-Tablets haben die Preise ihrer Geräte gesenkt, für einige deutlich. Dell senkt die Preise direkt um ein Drittel und Microsoft gibt das ziemlich teure Type oder Touch Cover dazu. Die nächste RT-Generation soll sogar noch billiger werden.

Mozilla hat Firefox 22 in einer Betaversion veröffentlicht, die einige große Neuerungen enthält. So wird WebRTC mit allen Bestandteilen in der Standardeinstellung unterstützt und mit Odinmonkey wird Javascript fast so schnell wie nativer Code. Damit aber nicht genug.

Wer heute Soldat ist, ist mit dem Netz aufgewachsen und füllt es mit eigenem Erleben. Armeen ist das nicht recht, dabei nutzen sie das Netz für sich.

Die Zahl der Whatsapp-Nutzer in Deutschland ist laut einem Medienbericht innerhalb von sechs Monaten um 4,4 Millionen gestiegen. Der Dienst kommt dem Konkurrenten Facebook gefährlich nahe.

Der Aufsichtsrat von Yahoo hat einem Medienbericht zufolge dem Kauf der Blogging-Plattform Tumblr für 1,1 Milliarden US-Dollar zugestimmt. Die Übernahme soll heute bekanntgegeben werden.