Jup neuli, da haben wir aneinander vorbei geredet. Ich bezog mich darauf, dass es eben damit langsamer ist und man dann wohl bei D3D bleibt und es damit eben nicht möglich ist.
WebGL basiert übrigens unter anderem auch auf JavaScript, müsste also auch erst vom Browser übersetzt werden, hinzu kommen dann noch gewisse Sandboxing Mechanismen, usw.
Aufgrund der Zielgruppe ist das auch nachvollziehbar, finde ich. Was nützt es mir, wenn ich zwar alle Plattformen anspreche, ich mir aber auch gleichzeitig die Zielgruppe wieder stark verkleinere, weil ich anstatt eines Dualcores einen neueren Quadcore benötige, um das Spiel flüssig zu spielen oder eben starke Einbußen bei der Grafik/Physik habe, nur damit es überall annehmbar läuft.
Auch beachten muss man, dass man eventuell schon Entwicklerteams hat, die in D3D voll drin stecken und diese eben auch erst auf WebGL "umlernen" müsste, was mit Zeitverlust und Kosten verbunden ist.
neuli schrieb:
Macht Valve das nicht so?
Jupp, Valve macht das so. Allerdings sind bei ToGL auch noch nicht alle D3D-Funktionstransitionen implementiert. Außerdem ist ToGL sehr auf die Source Engine zugeschnitten, damit man dort keinen großen Overhead erzeugt. Für andere Engines müsste man auch hier wieder viel anpassen. ToGL schlägt übrigens in eine ähnliche Richtung wie winelib.
neuli schrieb:
Kann mir keiner sagen, dass das mit großem Mehraufwand verbunden sein soll. Was mich aber wirklich aufregt sind Spiele, die mit einer Engine laufen, die Linux unterstützen und der Publisher gibt sie dennoch nur für Windows raus.
Erstens kommt hier noch das debuggen unter Linux hinzu. Wie war das noch mit den 3 Fehlern auf 1000 Zeilen Code?
Die Engine ist eben auch nur von Menschen gemacht, aber wenn ich sie als Spieleentwickler weiterverkaufe, muss ich auch dafür sorgen, dass das, was ich damit mache, beim Endkunden läuft.
Keiner garantiert, dass die Engine unter Windows genauso einwandfrei läuft wie unter Linux. Kann gut sein, dass dsound wunderbar funktioniert, die Engine bei gleichem Output und ALSA aber abstürzt. Unter pulseaudio gibt sie gar keinen Sound aus und unter JACK lässt sie sich nicht einmal starten.
Dann sollte es am besten noch unter nouveau laufen, genauso wie es unter nvida läuft. Hinzu kommt noch radeon vs fglrx und dann natürlich noch intel. Also muss ich das Spiel noch unter diesen 5 Treiber testen.
Was ist denn dieses Linux? Nein ernsthaft, wie würdest du so ein Spiel auf die DVD packen? Als Installer.sh? Die ihr Zeug dann irgendwo unter /opt ablegt? Oder als .deb, .rpm, .pkg.tar.xz, ...?
Dann will es aber jemand unter Gentoo installieren, der entpackt einfach das .deb und wundert sich, dass danach sein System kaputt ist. Dann ruft er den Support des Spieleentwicklers an, das Spiel hat sein System geschrottet, die sollen das wieder richten. Dann wird eine lib benötigt in der Version x.y, wird dann aber in einer Distri geupdatet, ok, lösen wir, in dem wir alles statisch linken, endet es eben wie unter Windows, aber da wäre manchen das Linux ja auch am liebsten. Nun kann ich den Kernel aber nicht dynamisch linken, das Spiel soll aber bei allen laufen, die mit dem 3.14er und bei denjenigen mit einer LTS Distri, die noch 2.6.32 fahren.
Wenn ich ein Spiel _verkaufe_, muss ich auch garantieren, dass es bei den meisten auch läuft. Unter Linux ist das eben nicht so prall. Hinzu kommt, dass sich bei den 1% der Linux Nutzern eventuell auch nur 5% das Spiel kaufen würden. 4% würden sich das eh kaufen, da sie ein Dualboot haben oder eine zweite Kiste. Habe ich also 0.01% der Kunden gewonnen für einen immensen zusätzlichen Testaufwand.