Spieleprogrammierung in Zukunft mit C#?
-
dreaddy schrieb:
Glaubich nicht... Abgesehen von so Kleinkram wie Handyspielen reizen Spiele den PC fast immer voll aus.
Ich kenne kein Spiel, das aktuelle Hardware voll ausnutzt. Ich habe eher das Gefühl, dass die Hardware momentan schneller besser wird, als Spiele mehr Performance benötigen. Eine Konsequenz daraus ist offensichtlich, dass das letzte bischen Performance-Optimierung bei Spielen auf Dauer nicht mehr nötig ist. Stattdessen werden Dinge wie Produktivität in den Vordergrund rücken und da sind Sprachen wie C# oder Java ja angeblich besser als C++. Zumindest hört man das immer wieder.
-
Also zu dem Zeitpunkt wo die Spiele entwickelt werden reizen die den PC schon aus denkich.
Nun wenn sie dann nach einem Jahr rauskommen sieht das schonwieder anders aus.
Ausserdem ist "Rechner voll ausnutzen" immer relativ... wenn ein Spiel auf meinem etwas schwachbrüstigen Rechner nicht laufen würde weil es in Java programmiert ist na super.
Ausserdem gibt es genug Leute die 2 Tage optimieren um von 110 fps auf 120 fps zu kommen, die sollen freiwillig was langsameres nehmen?
-
dreaddy schrieb:
Also zu dem Zeitpunkt wo die Spiele entwickelt werden reizen die den PC schon aus denkich.
Nun wenn sie dann nach einem Jahr rauskommen sieht das schonwieder anders aus.
Nun, früher hat das die Spiele nicht davon abgehalten, bei Erscheinen nur auf der besten Hardware gut nutzbar zu sein. Ich habe eben mal in eine aktuelle Spielezeitschrift geguckt: Das Spiel mit den höchsten Anforderungen (von den getesteten Spielen) läuft auf einem 2-GHz-Rechner optimal. Die Mindestanforderungen liegen natürlich weit darunter. Tomshardware hat den P4-2000 übrigens am 27. August 2001 getestet. Mit 2 Jahre alter Hardware läuft ein aktuelles Spiel also optimal.
Ausserdem gibt es genug Leute die 2 Tage optimieren um von 110 fps auf 120 fps zu kommen, die sollen freiwillig was langsameres nehmen?
Nein, nicht freiwillig. Die Entwicklung wird kommen, so dass sie einfach keine andere Wahl haben. 110 vs 120 fps interessiert vielleicht ein paar Freaks, für Spielefirmen ist das aber vollkommen uninteressant.
-
Hm.. mal hingestellt das Geschwindigkeit bei der Wahl der Programmiersprache keine Wahlentscheidung (mehr) ist.
So wie Linux die letzten Jahre im kommen ist fragich mich ob eine Sprache die absichtlich Betriebssystemabhängig ist sich durchsetzen wird.
Ich bin wirklich kein Linux Freak, aber in 5-6 Jahren oder so denkich schon das jeder 2te Normaluser Linux auf seinem PC hat wenn das so weiter geht.
Und wer dann Spiele für Win only macht hat 50% weniger Einnahmen theoretisch.
Oder sagen wir mal er braucht 15% mehr Zeit wenn er für beide BS entwickeln will... lohnt sich heute nochnicht, aber dann vor der Wahl stehen100% Arbeit -> 50% der Zielgruppe erreicht
115% Arbeit -> 99% der Zielgruppe erreichtist schon was andres.
Stellt sich nur wieder die Frage obs dann C# nicht auch für Linux gibt was ja theoretisch möglich ist.
-
Naja, stimmt schon. Linux ist im Kommen, was ein Nachteil für C# ist. Dann bleibt diesbezüglich also noch Java.
C# hat aber einen anderen Vorteil, nämlich die XBox. Ich bin überzeugt davon, dass das .NET-Framework darauf portiert werden wird, wenn es das nicht schon ist.
...und noch ein Vorteil: MS besitzt viele Spielefirmen und hat entsprechenden Einfluss. Die werden sicherlich versuchen, Windows als DIE Spieleplattform zu halten. Ein Spieler wird sich kein Linux-System zulegen, wenn es dafür fast keine Spiele gibt.
-
Hat einer von Euch schon mal C# verwendet?
Vielleicht auch noch gemeinsam mit DirectX?Wenn ja dann wüsstet Ihr dass C# zwar vielleicht für RAD von Windows-only GUI-Apps ganz brauchbar ist aber bei performance-kritischen Multimedia-Anwendungen wie DirectX so schlimm abstinkt dass niemand sich freiwillig sowas antun würde.
Es werden übrigens auch bei Weitem nicht so viele C#-Anwendungen geschrieben wie Microsoft sich das ursprünglich gewünscht hat da größtenteils die Nachteile überwiegen.(Und auf der XBox gibt es doch sowieso DirectX, da bringt die Verwendung von C# keinerlei Vorteil.)
Warum sollte die Spiele-Szene Eurer Ansicht nach also auf C# oder Java umsteigen wollen? (Selbst wenn das Vorteile brächte: Die meisten Spiele sind noch nichtmal vernünftiges C++ sondern eher C mit Klassen und new, das hat schon so seine Gründe: Viele Spieleprogrammierer sind extrem konservativ was das Erlernen neuer Programmier-Techniken angeht.)
-
Gregor schrieb:
...und noch ein Vorteil: MS besitzt viele Spielefirmen und hat entsprechenden Einfluss. Die werden sicherlich versuchen, Windows als DIE Spieleplattform zu halten.
Das ist Fakt aber kein Vorteil.
Viele DirectX-Spiele kann ich übrigens auch unter Linux spielen, trotz proprietärer Technologien von MS. (Hoch lebe WinE(X)!)
Google mal nach Mono oder dotGNU, in Verbindung mit WinE kann man (falls es dann C#-Spiele gibt) in ein paar Jahren auch C#-Spiele unter Linux spielen.Dennoch glaube ich nicht dass C# sich im Spielebereich durchsetzen wird, gibt es dafür irgendwelche Anzeichen?
-
Ich glaube, wenn dann werden die Leute auf Java umsteigen (btw. man kann mit Java auch DX nutzen). Warum? Weil Java einfach nen Heimvorteil hat. Ich kann nicht erkennen, was an C# besser sein soll wie Java, für mich ist das wirklich fast die selbe Sprache.
Java war halt einfach früher da und ist mehr etabliert. Und Plattformunabhängig, falls man das mit Linux jetzt mal für bare Münze nimmt.
-
Es ist doch aber so, dass das Programm nur beim ersten mal(!) durch den Compiler geht und dabei an den eigenen Computer angepasst wird, dadurch ist es meistens so dass das Programm in c# bis zu 20% schneller ist!
-
BillyBlue schrieb:
Es ist doch aber so, dass das Programm nur beim ersten mal(!) durch den Compiler geht und dabei an den eigenen Computer angepasst wird, dadurch ist es meistens so dass das Programm in c# bis zu 20% schneller ist!
Das ist reine MS-Propaganda, glaub mir, ich habe schon mal mein Geld mit C#-Programmierung verdient und ich wünsche mir diese Zeit nicht zurück!
Anderslautende Ergebniss dürfen teilweise einfach aufgrund diverser NDAs die eben auch Benchmarks von MS-Programmen betreffen gar nicht veröffentlicht werden.
-
nman schrieb:
Anderslautende Ergebniss dürfen teilweise einfach aufgrund diverser NDAs die eben auch Benchmarks von MS-Programmen betreffen gar nicht veröffentlicht werden.
Du brauchst ja nicht gleich nen Benchmark veröffentlichen, aber wirf doch einfach mal einen Faktor in den Raum!
-
Naja, bei richtig kleinen Spielchen ohne allzu komplexe Szenen (ein paar herumspringende Bälle mit Curved Surfaces und teilweise auch einfaches Environment Mapping) kam ich damals schon auf den Faktor 1.8 aufwärts, vielleicht wäre die Situation mit mehr RAM besser gewesen aber vor einem Jahr waren 256MB RAM nicht mal soo wenig...
-
Also ich werd`s trotzdem ein bisschen damit spielen.
Lade mir gerade das DX9 SDK runter, und bin in voraussichtlich 16 Std. Online-Zeit fertigNaja und bis dorthin kann ich auch ordentlich C# Proggen.