Google、Quake IIをJavaScript+HTML 5で実装 46
ストーリー by hylom
ブログ記事の公開は4/1だがエイプリルフールネタではない 部門より
ブログ記事の公開は4/1だがエイプリルフールネタではない 部門より
あるAnonymous Coward 曰く、
やや旧聞となるが、Googleが往年の名ゲーム「Quake II」をJavaScriptおよびHTML 5で実装したとのこと(Google Web Toolkitブログ)。
これは、Quake IIのJava移植版「Jake2」をベースに、Google Web Toolkit(GWT)を利用するよう修正し、GWTのクロスコンパイラを使ってJavaScriptに変換したもの。開発者らのノートPCで、30FPS以上で動作したという。
描画にはOpenGLアクセラレーションを利用する「WebGL」を利用しているとはいえ、ゲームのプレイ画面を見る限りはWebブラウザ上で動いているとは思えない出来映えである。ソースコードはGoogle Code上で公開されている。
一見の価値あり (スコア:3, 興味深い)
とりあえず公開当日にうちのMacbookで試してみました。
必要な物をmacportsなどでinstallして、あとは手順に沿ってbuild
問題なのはブラウザで最初はchromiumのnightlyを使いましたがサーバに繋ぐときに固まったので
webkitのnightlyを落としてきて
defaults write com.apple.Safari WebKitWebGLEnabled -bool YES
をターミナルから実行してローカルサーバに繋ぐと…おおお
まあマシンスペック依存なので、家の3年前macbookではテクスチャがちかちかしてオブジェクトが
よくわかりませんが、視点の移動はぬるぬる動きました。とてもHTML5+Javascriptとは思えない
ヘタなflashゲームよりぬるぬる動く感じをみてたら、確かにflash不要論も理解できる
「flash不要っていったって動画ぐらいでしょ」とか思ってたんですが完全に考えを改めましたよ
本当にFlash不要かね? (スコア:2)
確かにゲームも動いてすげーぜ!
というのはあるけど、Flashが流行ったのは単に動画とかゲームの表現力があがったというだけではなくて、オーサリングが簡単でプログラマではない、デザイナーが作りやすかったということが大きいと思うんだ。
もちろん、今ではAction Scriptもバリバリ使えないとデザイナーも仕事しづらいとかあるけど。
いや、HTML5+Javascript環境が必須になれば、らくちんオーサリングツールがでてくるのかもしれないが。誰でも手軽に作れますって環境でないと普及は難しいよねぇ。
Re: (スコア:0)
HTMLにJavascriptついでにCSSは
動作検証の鬼門です。
とてもつきあってらんねぇ
Re:一見の価値あり (スコア:1)
鯖をLinuxで作って、windows の chromium で試したけど動かなかった。
何の表示もないままだんまりだった。試したこと→( http://d.hatena.ne.jp/rti7743/20100402 [hatena.ne.jp] )
別の地球と火星くるくる回るWebGLのデモは動いているので、webGL自体は動作しているっぽいが。
windows で動いている方がいたら、どうやったか教えてください。
by rti.
Re: (スコア:0)
これはちょっと言い過ぎというかミスリードでしょう。
ぬるぬる動くのは(現状では存在しないも同然の)WebGLを前提としてるわけですから。
WebGLが普及する頃には、Flashはその上を行ってるはずです。そうでなければ生き残れませんし。
そもそもWebGLが普及するかどうかはまだ未知数です(というかIEの対応次第)
Re: (スコア:0)
いやもうWebKITとOperaが対応すれば十分じゃないか?
OperaやChromeはPC用主要OSに対応してるし、主要キャリアが全てWebKIT搭載端末出してるわけだから。
iPhone、Androidに続いてSymbianもWebKIT搭載するみたいだし。
IEが対応しなければIEが使われなくなるだけ。
Re:一見の価値あり (スコア:1, 参考になる)
IEはDirect2Dで新しい言語を使わなくても高速描画ができるようにするそうです。
ゲームのような高度な処理ではJavaScriptの微妙な互換性に頭を悩ませるよりもFlashの方が楽ではないでしょうか。
ユーザー視点でも慣れたブラウザを変えるよりプラグインを入れる方がずっと敷居が低いでしょう。
プラグインを使う事が悪いのではなく、プラグインを適切に管理するのが面倒なだけです。
Google自身はChromeにFlashを組み込む事でその問題を解決しようとしていますよね。
Mozillaもバージョンチェックツールを用意して管理を容易にしています。
最近のHTML5は手段の目的化が進んでいるように思えます。
しかもビデオコーデックの不統一によって当初の目的すら果たせない展開で。
互換性を確保できないHTML5に何の価値があるのでしょうか。
ユーザーにとっては特別な操作無しでコンテンツを楽しめればいいし、
開発者にとっては少ないコストでコンテンツをリリースできればいい。
ビデオゲームにHTML5を用いるのは不適では。
Re: (スコア:0)
>IEが対応しなければIEが使われなくなるだけ。
逆だろ、WebGLが使われなくなるだけ。
Re: (スコア:0)
んー、昔みたいにPCが全て!みたいな環境からモバイルへシフト+ローカルアプリからwebアプリへシフトという
流れが少なくともある以上、IEがってのはもう影響力ないですよ、たぶん
webkitの採用が広まってるのは性能もさることながら比較的軽量だし
デスクトップもモバイルへも都合がいいからですよね
IEがモバイルデバイス用エンジンなりブラウザを出すなら
まだわからないですけど、所詮PCのブラウザ止まりだとして
IEがwebglを採用しなかったら間違いなく使われなくなるのはIEですよ
この技術と実証そのものは凄い事だと思うが (スコア:1)
一つのことをするのにいくつも手段があることは、熾烈な戦いの始まりではなかろうか。
そのメリット・デメリットはいくつも存在するが…
きっとこのようなゲームを作るには、Java、HTML5 + JavaScriptは実現しているとして、FlashやSilverlightでも可能なのだろう。
しかしこの現象を例えるならば、薬局がドラッグストアと称してスーパーの真似をしている事象と同じだろう。
過去のJavaScriptは互換性が怪しく、またパフォーマンスも悪かったため、
限度を超えて多様すると重いサイト(≒ブラクラ)にしかならなかったわけだが、
HTML5の登場とJavaScriptエンジンの高速化でFlashやSilverlightと戦えるようになる。
競争の原理としてみれば、Java、Flash、Silverlightの更なる改良が進むのだろう。
消費者(?)から見れば選択肢が増える事となるが、コンテンツプロバイダーから見ればサポートすべき対象が増えるに過ぎない。
一つのことをするのにいくつも手段があることは、果たしてよい事なのだろうか?
Re:この技術と実証そのものは凄い事だと思うが (スコア:2)
なんかわくわくしてきました。
Re:この技術と実証そのものは凄い事だと思うが (スコア:1, おもしろおかしい)
STORY2 マスターマインドの記憶 (Safari)
STORY3 チェーンソーの試練 (Opera)
STORY4 インプの血流 (Navigator)
STORY5 バロンの杯 (Firefox)
STORY6 サイバーデーモンの玉座 (NetFront)
STORY7 BFG9000 の光輝 (Chrome)
Re:この技術と実証そのものは凄い事だと思うが (スコア:1, おもしろおかしい)
HTML5 = MSXですねわかります(どんなメーカーのパソコンでも同じBASICで…)。
# と書くとHTML5がとうてい成功するわけなさそうに思えてくるから困る
Re: (スコア:0)
jsMSXのことですか?
http://jsmsx.sourceforge.net/ [sourceforge.net]
Re: (スコア:0)
無理に対象増やす必要ないと思うなぁ。
サービスによるけど、iPhoneとかを無視できない状態だと
選択肢はそれほど多くない。
Re: (スコア:0)
> 消費者(?)から見れば選択肢が増える
消費者はどのみち生産者が提供したものしか選べないんだからやることが増えるだけ(ブラウザをアップデートしてFlashをインストールしてSilverlightをインストールしてJavaをインストールして…)。
ストレイフはきくのか? (スコア:1)
すげーな (スコア:0)
ある程度のレベルまではブラウザに集まっていくのかねぇ。
何となく違和感があるんだが、きっと俺の「ブラウザ」感が
古いんだろうな・・・。
Re: (スコア:0)
ガンガンガガン!
Browser Station
Re: (スコア:0)
そんなことないと思うぜ。
ブラウザで動かすためにネイティブの何十倍の性能が必要なんだよ。
といつも俺は思ってるぜ。
Re:すげーな (スコア:1)
たぶんそれでも、サーバーで生成させたものをインターネット経由で動作させるよりは軽いんだよ。
Re: (スコア:0)
Quakeをサーバーで?
なんで?
Re: (スコア:0)
でも、WebGLとか入っちゃうとあまり問題なさそうなんだよな。
本当にブラウザが一つのVMというかGUIの統合体というか
プラットフォームになる感じ。
Re: (スコア:0)
とっくの昔に本家がquake liveというブラウザゲームを出しているんですけど。
quake III がベースですからこれより綺麗です。
つうか、威張るのならせめてDX11とは言わないからDX9相当の物を出してからに
して欲しいです。
Re:すげーな (スコア:1, 参考になる)
あれはプラグイン式だからネイティブコードで動いてるんじゃないの?
ブラウザは表示枠と通信機能を提供してるだけのような。
Re: (スコア:0)
WebGLもGPUアクセラレーションを利用する技術だし、かなりハードウェアに近いレイヤでは。
Chromeに搭載されるNative ClientなんてFlashよりも低いレイヤだし。
Re: (スコア:0)
これはちょっと恥ずかしいコメントですねw
もうGeckoは開発中止しろ (スコア:0, フレームのもと)
HTML5 quakeの中の人のコメント:
> Comment by stefan.haustein, Apr 02 (3 days ago)
>
> @jeremycalvert93: We would love to support FireFox. I think we would not have
> WebGL today without Vladimir Vukićević's pioneering work on Canvas 3D and
> WebGL. Actually FireFox was the first browser to support Canvas 3D:
> http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/ [vlad1.com]
>
> The main problem with FireFox is JavaScript performance: While WebGL shifts a
> lot of the work to the graphics card, there is still a significant amount of
> JavaScript code that needs to be executed. The frame rates we saw when doing
> experiments with FireFox were just too low to make the game playable.
HTML5でちょっとでもマトモな何かを書こうとしたことがある人なら例外なく悩まされてるだろうね。
Operaとは競争になってるけどGeckoは圧倒的に出遅れて以来まったく競争についていけてない。IE9にすら相手にされてないんだぜ? いなくなっても何も困ることはない。もはやかつての(というにはまだ多少早いが)IE6と同様足を引っ張る存在でしかない。
Re: (スコア:0)
Re:もうGeckoは開発中止しろ (スコア:1, 参考になる)
Operaはどうなってるのか知りませんが、WebKitではある程度MathMLの実装ができていて、コンパイル時に指定すれば使えるみたいですよ(MathML - WebKit [webkit.org])。試してないですが。
あと数式画像を手軽に作りたければGoogleのChart Toolsというのがあります(Google Chart Tools - Mathematical (TeX) formulas [google.com])。URLにTeXの数式をエスケープして埋め込むだけです。
Re: (スコア:0)
そんな可哀想な彼も、Wikipediaが数式画像を作るのに作っている
texvcという超定番ツール [mediawiki.org]のことを知れば幾分かは幸せになれるでしょうか?
Re: (スコア:0)
IE6や7や8のような旧式ブラウザが残ってる現状では、全く問題ないのでは。
まずは現行のMS-WindowsとIEを廃止する方が差し迫った問題ですね。
#普通は「HTML5の普及にはまだ数年の時間がかかる」という結論になるんだよ。
Re: (スコア:0)
残念だねえ。
いつものようにfirefoxはもうダメなんだ!って論調で攻めないの?
Re: (スコア:0)
Firefoxとそれ以外ではJavascript高速化の手法が違い
Firefoxの最適化手法は高速だけど適用できるパターンが限られていて、現実的には役に立っていないというのが現状です。
そこで他のブラウザが用いている最適化手法も取り込む、という話が3月初めに出てます。
http://journal.mycom.co.jp/news/2010/03/10/038/index.html [mycom.co.jp]
https://wiki.mozilla.org/JaegerMonkey [mozilla.org]
予定では5月にnightlyにも入るらしいですが、Mozillaのスケジュールは当てにならないので話半分に聞いときましょう。
ちなみにARMではGoogle ChromeよりもFirefoxの方が早かったらしいです。
Re:もうGeckoは開発中止しろ (スコア:1)
実際、Firefor(というかGecko)はどうなんですかね。
正直ここしばらくwebkit or chromium使ってましたが、体感速度的にはもうFirefoxに戻れない
体になってしまいました。もちろんJavascript高速化の恩恵は十二分にあるんでしょうけど…
#うちはMac、Win、Linuxとあるので、全部Chromiumに統一ですが
#特に貧弱なマシン(Netbookなど)ほど、FirefoxはキツいというかChromiumの軽さは異常
どうもMozillaの動きが鈍重に見えて、IEを駆逐するはずが駆逐される側に回ってたみたいなことになりませんかね?
add-onまわりのごたごたやアプリ自体のメモリバカ食いとか、最近あまりいいイメージがないですね
Re: (スコア:0)
IE6の進歩が完全に停止してたから相対的にマシに思えただけで、これがGeckoエンジンの実力なのだと思いますよ。
Firefoxの前身であるPhoenixが登場したときにみんな軽い軽いと喜んでたらしいですけど、騙されてるとしか思えませんでしたね。あの糞重いMozilla SuiteからGeckoエンジンをそのまま引き継いでるのにガワを変えただけで軽くなるわけないじゃん。実際Mozilla Suiteのコンセプトをより忠実に引き継いだSeaMonkeyのほうがFirefoxより軽いというギャグのようなことが起きたらしいし。
なにげに (スコア:0)
ネイティブなバイナリにすればいいものを・・・ (スコア:0)
何でブラウザ上でインタプリタ言語で動かしてんの?
わざわざ重くしてどうすんだよ・・・
メリットあんのか?何も無いよな?
動的なグリグリ動くウェブサイトにすれば情報が理解されやすいかというと、
静的なサイトの方が余程読みやすく、使いやすいことに疑いは無いわけだが。
それともオンラインのゲームセンターをやりたいだけなのか・・・
ある日GoogleのウェブサービスがChromeでしか動かなくなるのか?
なら自分は今のうちにGoogleを諦めるが・・・
Re:ネイティブなバイナリにすればいいものを・・・ (スコア:3, すばらしい洞察)
>メリットあんのか?何も無いよな?
簡単です。
「アプリのインストールが不要だから」。これに尽きる。
単純だけど決定的なメリットです。
Re:ネイティブなバイナリにすればいいものを・・・ (スコア:2, すばらしい洞察)
それに加えて自動的にマルチプラットフォームになるという利点も。
Re: (スコア:0)
JavaScriptを使う必要があるんですか?
Flashじゃダメなんですか?
Re: (スコア:0)
別にどっちだっていいじゃん?
なんでそんなにFLASH好きなの?
でもiPhoneやiPadが無視できないと、FLASHというものは影が薄くなるね。
Re: (スコア:0)
JavaScriptなら各メーカが競争していることに加え、ブラウザの必須機能と化しているのでセキュリティに繋がるバグはどんどん潰されてゆくので比較的安全です。
しかし、Flashの場合一社独占で競争状態に無い、必須というほどではない(必然性の無いFlashへの依存は叩かれる傾向にある)、Adobe自体の実力、の問題もあって安全とは程遠い状態です。
JavaScriptもActionScriptもECMAScriptの一実装ですが、スクリプトそのものの実行速度最適化に関してもActionScriptは大きく出遅れている感が強いです。
マルチプラットフォームに
チートだチート (スコア:0)
ファミコンのグラ2がファミコンじゃないくらいチートだと思う、486時代に一人だけVoodoo見たいなずるさ
素のJakeを見たときの驚きの方が遙かにでかかったよ
馬鹿な俺に教えてくれ (スコア:0)
どこをクリッコしたらジャバうんたらのQuakeで遊べるんだ?
ひょっとして自分でビルドしたりしなきゃならんの?