Ein paar Richtigstellungen:
1.) RAM aufrüsten.
Wer merkt, dass der RAM ein Flaschenhals am Computer darstellt (zum Release! Nicht(!) jetzt im Moment theoretisch) sollte aufrüsten, auf 4GB oder mehr falls erforderlich.
-> 2014 kommen die neuen DDR4 Arbeitsspeicher heraus. Wer jetzt noch DDR3 (oder gar DDR2) groß nachrüstet, wirft eventuell viel Geld für eine veraltete Technologie heraus.
- Wann DDR4 sich auf dem Markt durchsetzt, ist noch unbekannt. Manche Prognosen schätzen Anfang 2014, manche Ende 2014.
- Wie sich DDR4 auf die Preise der DDR3-Riegel auswirken wird, steht auch in den Sternen. Wir schätzen basierend auf vorherigen ähnlichen Marktsituationen mit einem kurzzeitigen intensiven Preisfall gefolgt von einem langjährigen starken Preisanstieg, da die Produktion zum Stillstand kommen wird.
Allgemein kann natürlich jeder für sich selbst entscheiden. Sollte jedoch bedenken, wann er ca. plant einen neuen PC zu kaufen. Sollte dies z.B. nächstes Jahr sein, könnten die Riegel im neuen Computer wiederum einen Flaschenhals darstellen, wenn sie denn überhaupt funktionieren.
2.) Optimiert wird jetzt erst recht!
Das letzte Stadium in der Programmierung stellt die Optimierung dar. Dazu gibt es auch ein Informatikersprichwort, mir fällt es im Moment aber nicht ein.
Der Grund ist einfach kurzgefasst: Entwicklungszeit
Den Code zu optimieren während man das eigentliche Programm coded ist suboptimal.
Häufig werden Teil-Systeme im Nachhinein aus dem Endprodukt herausgeworfen oder passen nicht mehr hinein oder müssen nochmals komplett neu programmiert werden - Der Vorteil von
OOP.
Problem: Wenn man viel Zeit in diese Projekte mit Optimieren hineinsteckt, geht diese Zeit (=Geld) verloren.
Außerdem gibt es viele Situationen, in denen nicht von vornherein entschieden werden kann, welche Codeschnipsel wegoptimiert werden können. Denn optimieren bedeutet, bestehenden funktionierenden Code gegen anderen funktionierenden Code auszutauschen -> Es gibt viele Wege nach Rom, der Eine mag vielleicht kürzer sein als der Andere, dafür kommt man aber auch an weniger interessanten Orten vorbei. Und nicht immer ist klar, ob man vielleicht später diese Orte (=(Zusatz-)Funktionen) eventuell auch benötigt.
Zur Optimierung gibt es verschiedene Tools die man als Programmierer zur Verfügung hat um zu sehen welche Klassen/Methoden/Codelines viel Speicher-/CPU-/GPU-Auslastung erzeugen und dann kann man gezielt am Ende das Programm an diesen Stellen optimieren und Fehler beheben.
Diese Analysetools sind echt genial und übersichtlich nebenbei.
> Engines sind meist nicht alleine lauffähig und müssen sich mit den ersten darauf basierenden Entwicklungen beweisen.
Das ganze ist leider ein sehr undankbarer Abgang, vor dem Sektanstoßen zum Projektende. Denn optimieren ist der (meiner Meinung nach) langweiligste und langwierigste Entwicklungsprozess.
3.) @FritzHugo3 Wenn ich schon dabei bin, obwohl ich es eigentlich vor Jahrzehnten aufgegeben habe.
Das lag nicht an Java. Java basiert auf C und hat dementsprechend auch im Endeffekt viel damit und Konsorten gemein.
Das betrifft im Falle von Java sowohl die Sprachstruktur als auch die Performance.
Am besten erkennbar an C#, der Microsoft-Kopie von Java. Die Beiden gleichen sich wie Geschwister.
Es ist gerade anderst herum: Von allen Sprachen die es derzeit auf dem Markt gibt und sich für die Programmierung von Spielen anbieten würden ist Java (und mittlerweile auch C#) am ehesten für Postoptimierungen geeignet.
Da ich mich auf einschlägigen Seiten und Foren herumtreibe, kann ich dir sagen:
Minecraft und Notch sind in der Java-Welt verhasst. Und in der Informatikerwelt allgemein wird Notch eigentlich nur müde belächelt, manchmal wird sein Code auch knallhart ausgelacht. (Auch ich habe schon so einige amüsante Minecraftcodeschnipsel gelesen und zugesendet bekommen (Es gibt diverse 9gag ähnliche Seiten für Informatiker).
Fakt ist: Notch kann (mittlerweile vielleicht: konnte) nicht programmieren, er hatte halt eine geniale Idee und unabhängig vom Können kann man damit wohl mehrere Millionen machen.
Minecraft gibt einen falschen Blick auf die Sprache, denn wir Menschen geben gerne dem Computer (oder Dingen allgemein) die Schuld die sich nicht wehren können. Aber der ist nur so intelligent wie sein Nutzer.
Der Grund warum sich Java trotz dem optimierten (damals revolutionären) Codeaufbau, der guten Performance und der Platformunabhängigkeit nicht unter den Spielentwicklern durchsetzt, ist dass die Entwickler alle nunmal auf C++ geschult sind. Die Studios müssten alle ihre Entwickler feuern oder umschulen lassen auf eine neue Sprache. Das ist mit Risiken verbunden und rentiert sich eventuell nicht.
Und die meisten profi Java-Entwickler sind auf JavaEE weitergeschult, mit dem sich meist weitaus mehr Geld machen lässt, als mit JavaSE bzw der Entwicklung von Spielen.
Aber es gibt auch einige/viele in Java geschriebene Spiele, auch über Steam erhältlich. Noch nicht aufgefallen? - tja

(Die werden auf Windows nebenbei mit .exe-Dateien gewrapped)
Gruß
Spami
- Informatik & Maschinenbau