ブラウザベースのMMO(WebGL、WebSocket)[終了]


29

ブラウザJavaScript-グラフィックス用WebGL、ネットワーク用WebSocketを備えた本格的な3D MMOクライアントを書くことは技術的に可能だと思いますか?

  • 将来のMMO(およびゲーム全般)はWebGLで作成されると思いますか?
  • 今日のJavaScriptのパフォーマンスではこれが可能ですか?
  • 開発チームが開発者であり、別のモデル作成者(アーティスト)であったとしましょう。ゲームにSceneJSのようなライブラリを使用しますか、それともWebGLを直接作成しますか?SceneJSではなくライブラリを使用する場合は、どれを指定してください。

更新(2012年9月): RuneScapeは、これまでJavaアプレットを使用していた非常に人気のある3DブラウザーベースのMMORPGであり、クライアント(ソース)にHTML5を使用することを発表しています。

Runescape HTML5

Java(左)およびHTML5(右)

更新(2013年6月): WebGL / WebSocketベースのMMOのプロトタイプを作成しました:https : //github.com/alongubkin/xylose


3
Mozilla FirefoxとOperaは、セキュリティ上の理由でwebsocketサポートを削除しました:heise.de/security/meldung/…ネットワークのクロスブラウザ抽象化については、gamedev.stackexchange.com / q / 6524/450を ご覧ください。
ヘンドリックブルーマーマン

2
これらの3つの質問はすべて面白いと思いますが、3つの質問に分けたいと思います。私の考えでは、それらはほとんど関係ありません。

2
技術的には可能です、はい。現実的には別の問題です。
共産主義のダック

サイドノートとして:GoogleはWebGL上でかなりクールなJavaScriptライブラリを作成しました:code.google.com/p/o3d
Alex Beardsley

私の想定では、あなたの質問は3D MMOを意味するものです。3Dはこのジャンルの要件ではありません。実際、多くのMMOは、HTMLフォーム(urbandead.comを参照)だけでなく、Web上に何年も存在しています。GameforgeのすべてのPHPゲーム(en.gameforge.com)またはロードオブウルティマ(lordofultima.com)のようなよりエキゾチックなAJAX / Javascriptのもの
wkerslake

回答:


7

ブラウザJavaScript-グラフィックス用WebGL、ネットワーク用WebSocketを備えた本格的な3D MMOクライアントを書くことは技術的に可能だと思いますか?

そのとおり。WebGLまたはWebSocketテクノロジーが3D MMOGクライアント、またはその点でのゲームクライアントの作成を妨げる理由はありません。

将来のMMO(およびゲーム全般)がWebGLで作成されると思いますか?

はい。今後5年以内に、ほとんどの3DブラウザゲームはWebGLを使用して作成されると思います。理由は簡単です-WebGLは、すべての主要なWebブラウザー(Chrome 9、Firefox 4、Safari 6、Chrome Frame経由のInternet Explorer)で実装を使用できる唯一の標準化された3Dテクノロジーです。

今日のJavaScriptのパフォーマンスではこれが可能ですか?

はい。最新のブラウザでのJavaScriptのパフォーマンスは、3Dゲーム開発が実行可能なレベルまで向上しています。たとえば、Three.jsプロジェクトを参照してください。

開発チームが開発者であり、別のモデル作成者(アーティスト)であったとしましょう。ゲームにSceneJSのようなライブラリを使用しますか、それともWebGLを直接作成しますか?SceneJSではなくライブラリを使用する場合は、どれを指定してください。ありがとう!

ライブラリを使用して時間を節約します。既存のライブラリに必要な機能がない場合を除き、独自のWebGLグラフィックコードを記述する理由はありません。その場合でも、おそらく既存のライブラリを拡張する方が時間効率が高いでしょう。

私のプロジェクトでは、GLGEを使用しています。GLGEはさまざまなグラフィック効果をサポートしており、常に新しいもので更新されています。


2
「将来のMMO(およびゲーム全般)がWebGLで作成されると思いますか?」そして「はい。今後5年以内に、ほとんどの3DブラウザゲームはWebGLを使用して作成されると思います。」互いに
完全に

5

すでにいくつかのブラウザベースのMMOがあります。ただし、通常は3Dグラフィックスは使用しません。

WebGLに関しては少し懐疑的です。現在のブラウザ群は、通常のリリースビルドではWebGLをサポートしていません。特別なビルドまたは設定ファイルの混乱を取得する必要があります。これは、プラグインをダウンロードするよりも一般的なユーザーにとって複雑です。

プラグインといえば、数人がUnityについて言及しましたが、Flashを忘れないでください。Flashプレーヤー(コード名molehill)の今後のリリースでは、GPUで高速化された3Dが使用されます。私の推測では、FlashはWebGLが離陸する前に、ブラウザでハードウェアアクセラレーション3Dグラフィックスを提供します。


1
webglをサポートする安定したブラウザーの問題は、2010年1月頃以降は発生しません。Firefox 4とChrome 9は、その頃にリリースされる予定です。Chrome 9ベータ版はインストールが非常に簡単で、webglを有効にするために何かをいじる必要はありません。ベータ版へのリンクは、Chromeの通常のダウンロードリンクです。
ニコラスK.

@Nicolas K.- 2011年 1 ですか?
DMan

1
@Nicolas K-ブラウザーの可用性とブラウザーのインストールベースは非常に異なります。インターネットトラフィックの13%はまだIE6です。出典:marketshare.hitslink.com/browser-market-share.aspx?qprid=2
wkerslake

@DMan:たぶん、今は出ているから。私は誰かのブルースクリーンにする方法については数値(またはカーネルパニック、または何でもそれはMacが行うある)のWebGLを使って安っぽいのOpenGLドライバ...まで待つことができない

1
@wkerslake:これらの統計はとんでもないです。私は、1日あたり50万のユニークアクセスを持つ平均的なインターネット消費者向けのサイトを維持しており、そのうち1%未満がInternet Explorer 6を使用しています(約1/3がInternet Explorer 7/8/9を使用)。FirefoxとChromeはトラフィックの50%を占めており、自己更新ブラウザであるため、ほとんどの人は数か月以内にWebGLサポートをインストールすることになります。ゲームの開発には簡単に6か月かかるため、今日のWebGLの使用をやめさせる理由はないと思います。
-Blixt

3

技術的に可能ですか?はい。しかし、なぜUnityのようなWebソリューションが利用できるのに悩むのですか?

WebGLで書かれた将来のMMO?いいえ。たぶん、UnityのようなWebベースのプラグインがあります。

今日のJavaScriptのパフォーマンスはこれを可能にしますか?いいえ。ゲームをシンプルに保つなら、はいはい。

SceneJS [...]のようなライブラリを使用しますか、それともWebGLを直接作成しますか?どちらでもない。Unityなどのサードパーティアプリケーションを使用します。


4
あなたの答えは間違っており、矛盾しており、形式が正しくありません。とても過酷で申し訳ありません。もしopが彼の質問へのコメントでそのように団結を使うべきだと思うなら。
-oberhamsi

皮肉なことに、私の元の答えは「ユニティを使う」と言っていましたが、より直接質問に答える必要があると言われました。
ティム・ホルト

1
わかりました 私は団結はブラウザでネイティブにそれをしようとする非常に異なる獣だと思います。確かに、あなたはプラグインで何でもできますが、質問は私には思えます:ネイティブブラウザ技術の限界はですか。
-oberhamsi

2

これは現時点では実行できません(2011年初頭)。ネイティブのブラウザテクノロジでリアルタイムの3D MMOを作成することはできません(プラグインがないことを意味します)。

将来については推測しません。これが今の様子です。最新のブラウザ(IE9、FF4など)のみを対象とすると仮定します。IE7のサポートを計画しているなら、あなたは夢中になります。それは決して機能しません。

不足しているもの:

  • キーボードとマウスを完全に制御(マウスの位置を設定する機能、キーの傍受)
  • 全画面表示
  • 3D

深刻な問題がある分野/ソリューション:

  • WebSocketは、それをサポートするいくつかのブラウザーで非アクティブ化されました
    • それなし:低遅延、双方向のクライアントサーバー通信
  • オーディオの問題
    • コーデックの混乱、あなたはoggとmp3が必要です
    • 一般的な周波数はサポートされていません
    • 並行性
    • ディレイ
  • キャンバスのパフォーマンス(場合によっては、divおよびcss変換の方が高速です)

1

はい、ただし大きな警告があります。

あなたは完全なキーボードコントロールを持っていないでしょう、そして多くのコントロールフリークにとって、これは契約を破る可能性があります。たとえば、Fキーはかなりの期間、手の届かないところにとどまるでしょう。

また、ほとんどのブラウザをヒットすることはできません。WebGLはまだ十分にサポートされておらず、最近ではWebsocketのサポートが行き当たりばったりであり、一部のブラウザベンダーは1つのバージョンで有効にし、次のバージョンでは無効にします。

ただし、簡単なものをまとめることができます。説得力のあるゲームプレイを投入すれば、グラフィックが少し控えめであっても問題ありません。Runescapeは非常にシンプルなものから始まり、ブラウザプラグインで作成されたMMOは夢のようなものだとみんなが言ったとき、複雑で楽しく、信じられないほど人気のあるMMOに成長しました。

ブラウザーの現在の制限に合わせて構築されたMMOは、状況の変化に応じて適応するため、ブラウザーが「AAA」MMOをサポートするのに十分な時間までに確実に立ち上がるでしょう。


1
ほぼすべての最新のブラウザーは、ファンクションキー(quirksmode.org/js/keys.html#link6)をサポートしています。実際、そのページは少なくとも数年前のものであり、現代のブラウザでのサポートはおそらくさらに優れています。
リケット

1

はいぜったいに。

WebGLは、WebKit(Chrome / Safari)とGecko(Firefox)の両方のナイトリービルドに含まれています。WebSocketsは現在、セキュリティ上の問題により無効になっていますが、問題が解決された後に再度有効にしない理由はありません。それまでの間は常にHTTPがあります。

すべてのゲームはこのように書かれますか?いいえ、しかしかなりの数になるでしょう。WebGLがChromeとFirefoxの最終バージョンになったら、Unityのようなネイティブプラグインよりも浸透率はすでに高くなります。

JavaScriptのパフォーマンスは、ゲームを書くことによって決まります。しばらくの間、Crysisレベルのグラフィックは表示されないでしょうが、WebGLでは、数値演算がGPUにオフロードされていることを覚えておいてください。

小規模な2人のチームの場合、使用するエンジンにかかわらず多くのコーディングを行う準備をする必要があります。現在、ゲームコードの多くを実際にカバーするWebGL / JavaScriptエンジンはありません。SceneJS、three.jsなどはグラフィックスレイヤーのラッパーですが、Unreal EngineやUnityなどの製品の大部分を構成する衝突、物理学、オーディオ、リソース読み込み、ネットワーク、またはツールには何も提供しません。

現時点ではまだ初期段階であり、来年にはさらに多くのミドルウェアが登場することを期待しています。


0

ほとんどのMMO開発者はクライアントとサーバーで同じ言語を使用することを望み、ほとんどのゲーム開発者はC ++のような非Web言語に堪能だからです。とにかくJavascriptで非常に実用的にするには、非常に単純なシミュレーションを除いて、クライアントコードが多すぎます。また、ブラウザで実行することによって課せられる他の制限もありますが、これは一般的なゲーム開発者にとっては好ましくありません。

しかし、このようなゲームがいくつかあると確信しています。彼らはしばらくWoWや同様のゲームを引き継ぐつもりはありません。それらはおそらく、ゲーム開発者がWebに参入するのではなく、Web開発者がゲームに参入することによってより多く作られるでしょう。


downvoterは、私の回答にどのように同意しないかを説明するコメントを追加したいですか?ただ疑問に思う。:)
カイロタン

0

あなた自身に問うべき質問は、なぜゲーム開発者は彼らがマスターせず、コントロールできないウェブ技術に依存したがるのか、現在の言語ではウェブブラウザでも素晴らしいゲームを作ることができるのですか?


0

はい。ただし、テクノロジを安定させる必要があり、ネイティブアプリケーションとパフォーマンスのトレードオフが残る可能性があります。


-3

団結は良いです。ShivaおよびPrime Engineも参照してください。


1
ただし、UnityとPrime Engineは、前述のテクノロジーとは関係ありません。これらはネイティブコードプラグインです。
キロタン

1
これらは、「いいえ、これを行うのは良い考えではありませんが、ここに代替案があります」と言っているという意味での答えです。言う回答、「いいえしかし、ここで代替があるが、」ただ「いいえ」より多くのより好ましい
ティム・ホルト

3
同意することもありますが、まれです。実際に元の質問がそれ自体で完全に合法であった場合、誰かの心を読んで、彼らが「本当に」したいことを推測しようとする危険があります。誰かがXの適合性について質問した場合、「Yを使用するだけ」と常に返信すべきではありません。我々はX.についてもっと知って離れて来るように、非常に少なくとも二つの適合性の比較があるはず
Kylotan

次に、答えを言い換えて、どのライブラリを使用するかについての彼の質問に答えます。私は自分自身をユニティ「ライブラリ」を使用したい:P
ティム・ホルト

トップクラスの答えは...基本的に同じことを言う
エラー454
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.