webgl für gamedev

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Antworten
condor
Beiträge: 14
Registriert: 31.07.2011, 14:52

webgl für gamedev

Beitrag von condor »

Hallo,

habt ihr schon versucht mit webgl irgendwas zu machen?
Mich würde interessieren, wie ihr den Einsatz von webgl für größere games einschätzen würdet.
Was wären die größten Hindernisse etc.
Specialist
Establishment
Beiträge: 135
Registriert: 29.08.2003, 14:22
Kontaktdaten:

Re: webgl für gamedev

Beitrag von Specialist »

Vorab, ich kenne mich mit OpenGL überhaupt nicht aus.
Bei WebGL bin ich über ein simples Clear des Backbuffers noch nicht drüber weggekommen, aber bis dahin kann ich sagen, dass WebGL recht schnell initialisiert ist und die Entwicklungszeit an sich wohl kürzer ist als bei anderen Sprachen mit OpenGL oder vergleichbarer API. Ich kann mir vorstellen, dass es bei größeren Projekten mit WebGL recht lange Ladezeiten geben könnte (Texturen etc. werden nun mal erst runtergeladen).
Die Performace dürfte auch wesentlich geringer ausfallen, da WebGL mit Javascript läuft.
Weiterhin weiß ich nicht wie es bei Javascript mit Objektorientierung aussieht. Es gibt zwar so etwas, aber das was ich bisher davon gesehen habe, war für mich mehr verwirrend als dass es mir geholfen hätte.
Außerdem weiß ich nicht in wie weit man auf mehrere Cores zurückgreifen kann um verschiedene Rechenanteile (Rendering, KI, etc.) zu kapseln. Vermutlich wird dies gar nicht funktionieren, da die Skripte vom Browser interpretiert werden.

Ich denke für Jump&Runs und kleinere Shooter sollte es reichen, aber ein Crysis oder dergleichen damit nachzuprogrammieren dürfte wohl nicht funktionieren.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4263
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: webgl für gamedev

Beitrag von Chromanoid »

Mit GWT kann man wahrscheinlich einige Schwächen von Javascript ausgleichen, allerdings ist Java ja auch nicht jedermanns Sache. Ein größeres Problem sehe ich darin, dass der Internet Explorer kein WebGL unterstützen wird und sicher auch noch viele ältere Browser unterwegs sind, die kein WebGL unterstützen. Gerade für den Fall, dass der IE irgendwann ein WebGL Äquivalent anbietet ist GWT sicher die beste Möglichkeit für alle Browser zu entwickeln. Ich bin mir sicher, dass es dann nicht mehr lange dauert bis eine Cross-Browser Bibliothek für GWT entstanden ist. Ansonsten ist dazu auch Google PlayN (ehem. forplay) interessant, da man damit vielleicht auch irgendwann 3D für Java, WebGL und Flash gleichzeitig entwickeln kann - allerdings liegt das wohl noch mindestens bis zum Flash Player 11 Release in der Zukunft. Ich habe nur am Rande mitbekommen, dass HTML5 Audio wohl recht problematisch ist, was ja für Spiele auch nervig sein kann. Möchte man Netzwerkspiele machen ist außerdem die fehlende Möglichkeit von Javascript Byte-Daten zu verarbeiten evt. besonders hinderlich.
Ich persönlich sehe in dem hoffentlich baldigem Release vom neuen Flash mit 3D Unterstützung wesentlich mehr Zukunft.
pUnkOuter
Establishment
Beiträge: 303
Registriert: 15.04.2002, 15:59

Re: webgl für gamedev

Beitrag von pUnkOuter »

Ich habe ein grösseres Projekt mit WebGL umgesetzt, wobei WebGL nur einen kleineren Teil des Projektes ausmachte. Die Tutorials auf learningwebgl.com sind sehr gut, und man kann damit in ein paar Tagen recht gut abschätzen, was so alles drin liegt (sehr viel). Ich habe zuerst mit einer recht guten Library gearbeitet (c3dl), die aber leider nur langsam weiterentwickelt wird. Später habe ich dann doch alles selbst von Hand gemacht. Die Problematik mit dem Laden der Daten ist durchaus vorhanden, besonders hochaufgelöste Texturen dauern natürlich eine Weile zum übertragen. Mit HTML5 Local Storage kann man da aber sicher zumindest das ständige Reloaden bei erneutem Seitenaufruf verhindern.

Javascript ist sicher sehr gewöhnungsbedürftig, kommt aber in letzter Zeit wieder sehr in Mode, und wird auch von vielen ernstzunehmenden Entwicklern als absolut unterschätzte Sprache bezeichnet. Ich hatte mit meinem C++/Java Hintergrund allerdings auch so meine Mühe damit. Die dynamischen Aspekte, die schwache Typisierung und so Zeug wie Closures waren erst mal was Ungewohntes. Javascript ist übrigens sehr wohl Objekt-orientiert, und zwar nach dem Prototype-Prinzip (man klont bereits existierende Objekte), es gibt aber also tatsächlich keine Klassen. Der englische Wikipedia-Artikel ist recht gut.

Die Zukunft von WebGL wird sehr kontrovers diskutiert. Es ist halt nun mal so, dass kein IE in absehbarer Zeit das unterstützen wird. Es gibt zwar Projekte, die da irgendwie auf das DirectX API ummappen, aber ob das je stabil funktionieren wird, weiss keiner. Es gibt auch starke Konkurrenz (Flash kann auch HW-beschleunigte 3d). Dann gibt es da noch die ganzen Sicherheitsbedenken...

Für die Entwicklung ist natürlich Firebug sehr nützlich (JS Debugger vor allem), und dieses Skript hat mir auch sehr geholfen: https://github.com/jackpal/webgltrace
Ein Zeiger ins Blaue ist wie ein Wegweiser nach <SEGFAULT>. Wenn du denkst, mein Name hat was mit abgefuckter Kleidung und bunten Haaren zu tun, dann kehr besser um.
Antworten