Glauben Sie, dass es technisch möglich ist, einen vollwertigen 3D-MMO-Client mit Browser-JavaScript - WebGL für Grafiken und WebSocket für Netzwerke - zu schreiben?
- Denken Sie, dass zukünftige MMOs (und Spiele im Allgemeinen) mit WebGL geschrieben werden?
- Ermöglicht dies die heutige JavaScript-Leistung?
- Angenommen, Ihr Entwicklungsteam war Sie als Entwickler und ein anderer Modellbauer (Künstler). Möchten Sie eine Bibliothek wie verwenden SceneJS für das Spiel, oder gerade WebGL schreiben? Wenn Sie eine Bibliothek, aber kein SceneJS verwenden möchten, geben Sie bitte an, welche.
UPDATE (September 2012): RuneScape, ein sehr beliebtes 3D-Browser-basiertes MMORPG, das bisher Java-Applets verwendete, hat angekündigt, HTML5 für seinen Client ( Quelle ) zu verwenden.
Java (links) und HTML5 (rechts)
UPDATE (Juni 2013): Ich habe einen Prototyp eines WebGL / WebSocket-basierten MMO geschrieben: https://github.com/alongubkin/xylose
Antworten:
Ja absolut. Es gibt keinen Grund, warum WebGL- oder WebSocket-Technologie Sie daran hindern würde, einen 3D-MMOG-Client oder einen anderen Spiele-Client zu erstellen.
Ja. Ich glaube, dass in den nächsten fünf Jahren die meisten 3D-Browsergames mit WebGL geschrieben werden. Der Grund ist einfach: WebGL ist die einzige standardisierte 3D-Technologie, die in allen gängigen Webbrowsern (Chrome 9, Firefox 4, Safari 6 und Internet Explorer über Chrome Frame) implementiert werden kann.
Ja. Die JavaScript-Leistung in modernen Browsern ist so weit gestiegen, dass die Entwicklung von 3D-Spielen möglich ist. Ein Beispiel finden Sie im Three.js-Projekt .
Nutzen Sie eine Bibliothek, um Zeit zu sparen. Es gibt keinen Grund, Ihren eigenen WebGL-Grafikcode zu schreiben, es sei denn, in einer vorhandenen Bibliothek fehlen die von Ihnen benötigten Funktionen. Selbst in diesem Fall wäre es wahrscheinlich zeitsparender, die vorhandene Bibliothek zu erweitern.
Für mein Projekt verwende ich GLGE, da es viele verschiedene Grafikeffekte unterstützt und ständig mit neuen aktualisiert wird.
quelle
Es gibt bereits mehrere browserbasierte MMOs. In der Regel werden jedoch keine 3D-Grafiken verwendet.
Ich bin ein bisschen skeptisch, wenn es um WebGL geht. Die aktuelle Anzahl von Browsern unterstützt WebGL in ihren normalen Release-Builds nicht. Sie müssen spezielle Builds erstellen oder mit Konfigurationsdateien herumspielen, was für den durchschnittlichen Benutzer komplizierter ist als das Herunterladen eines Plugins.
Apropos Plugins: Mehrere Leute erwähnten Unity, aber vergessen Sie Flash nicht. Eine kommende Version des Flash Players (Codename Maulwurfshügel ) wird GPU-beschleunigtes 3D haben. Ich vermute, dass Flash hardwarebeschleunigte 3D-Grafiken im Browser bereitstellt, bevor WebGL startet.
quelle
Technisch möglich Ja. Aber warum sollte man sich die Mühe machen, wenn Weblösungen wie Unity verfügbar sind?
Zukünftige MMOs in WebGL geschrieben? Ok, vielleicht, aber es gibt webbasierte Plugins wie Unity, die im Moment gut funktionieren.
Die heutige JavaScript-Leistung ermöglicht dies? Ok ja, wenn Sie Ihr Spiel einfach halten.
Würden Sie eine Bibliothek wie SceneJS [...] verwenden oder direkt WebGL schreiben? Weder. Ich würde eine Drittanbieteranwendung wie Unity verwenden.
quelle
Dies ist derzeit nicht möglich (Anfang 2011). Sie können in nativen Browsertechnologien (dh ohne Plugins) kein 3D-MMO in Echtzeit erstellen.
Ich werde nicht über die Zukunft spekulieren. So sieht es jetzt aus. Vorausgesetzt, Sie richten sich nur an moderne Browser (IE9, FF4 usw.). Wenn Sie vorhaben, IE7 zu unterstützen, sind Sie verrückt. Das wird niemals funktionieren.
Dinge fehlen:
Bereiche / Lösungen mit schwerwiegenden Problemen:
quelle
Ja, aber mit großen Einschränkungen.
Sie werden nicht die volle Tastatursteuerung haben, und für viele Kontrollfreaks könnte dies ein Deal-Breaker sein. Die F-Tasten zum Beispiel werden wahrscheinlich für einige Zeit außer Reichweite bleiben.
Sie werden auch die meisten Browser nicht erreichen können. WebGL wird noch nicht wirklich gut unterstützt, und die Websocket-Unterstützung ist heutzutage ein Muss. Einige Browser-Anbieter aktivieren es für eine Version und deaktivieren es dann für die nächste.
Aber Sie können sicher etwas Einfaches zusammenstellen. Spielen Sie ein spannendes Gameplay, und es spielt keine Rolle, dass die Grafiken etwas zurückhaltend sind. Runescape begann ziemlich einfach und entwickelte sich zu einem komplexen, unterhaltsamen und unglaublich beliebten MMO, als alle sagten, dass ein in einem Browser-Plug-In erstelltes MMO ein Wunschtraum sei.
Ein MMO, das mit den aktuellen Beschränkungen für Browser erstellt wurde, die sich an veränderte Gegebenheiten anpassen, wäre mit Sicherheit in dem Moment einen Schritt weiter, in dem Browser weit genug sind, um ein "AAA" MMO zu unterstützen.
quelle
Absolut ja.
WebGL ist in nächtlichen Versionen von WebKit (Chrome / Safari) und Gecko (Firefox) enthalten. WebSockets ist derzeit aufgrund von Sicherheitsproblemen deaktiviert, es gibt jedoch keinen Grund, warum es nicht erneut aktiviert werden sollte, sobald die Probleme behoben sind. In der Zwischenzeit gibt es immer HTTP.
Werden alle Spiele so geschrieben? Nein, aber es wird eine signifikante Zahl sein. Sobald WebGL in den endgültigen Versionen von Chrome und Firefox verfügbar ist, ist die Penetration bereits höher als bei nativen Plug-Ins wie Unity.
Die Leistung von JavaScript hängt absolut vom Schreiben von Spielen ab. Sie werden wahrscheinlich für eine Weile keinen Crysis-Grafiklevel sehen, aber denken Sie daran, dass mit WebGL die Zahlenverarbeitung auf die GPU verlagert wird.
Für ein kleines 2-Mann-Team müssen Sie darauf vorbereitet sein, eine Menge Code zu schreiben, egal welche Engine Sie verwenden. Derzeit gibt es keine WebGL / JavaScript-Engines, die einen Großteil des Spielcodes abdecken. SceneJS, three.js und ähnliches sind Wrapper auf der Grafikebene, bieten jedoch nichts für Kollision, Physik, Audio, Laden von Ressourcen, Netzwerk oder Tools, die den Großteil eines Produkts wie Unreal Engine oder Unity ausmachen.
Im Moment ist es noch früh, ich würde erwarten, dass im nächsten Jahr mehr Middleware auf den Markt kommt.
quelle
Ich glaube nicht, dass viele zukünftige MMOs mit clientseitiger Browsertechnologie geschrieben werden, da die meisten MMO-Entwickler auf dem Client und dem Server dieselbe Sprache verwenden möchten und die meisten Spieleentwickler nicht-webbasierte Sprachen wie C ++ beherrschen. Es ist viel zu viel Client-Code involviert, um es auf jeden Fall sehr praktisch in Javascript zu machen, abgesehen von ziemlich trivialen Simulationen. Es gibt auch andere Einschränkungen beim Ausführen im Browser, die für einen typischen Spieleentwickler unangenehm sind.
Ich bin sicher , es wird einige Spiele wie dies jedoch. Sie werden für eine Weile nicht mehr WoW oder ähnliche Spiele ersetzen. Sie werden wahrscheinlich eher von Webentwicklern gemacht, die sich mit Spielen befassen, als von Spieleentwicklern, die sich mit dem Web befassen.
quelle
Die Frage, die Sie sich stellen sollten, ist, warum Spieleentwickler von der Web-Technologie abhängen wollen, die sie nicht beherrschen und über die sie keine Kontrolle haben. Die aktuellen Sprachen ermöglichen es Ihnen, auch in einem Web-Browser großartige Spiele zu erstellen.
quelle
Ja, aber die Technologie muss sich noch stabilisieren, und es wird wahrscheinlich noch Leistungskompromisse gegenüber nativen Anwendungen geben.
quelle
Die Einheit ist gut. Siehe auch Shiva und die Prime Engine.
quelle