パスワードを忘れた? アカウント作成
8092516 story
ゲーム

asm.js で Unreal Engine 3 がたった 5 日で移植される 40

ストーリー by reo
お昼からはいつも通りです 部門より

ある Anonymous Coward 曰く、

Mozilla が asm.js と Emscripton を使用し Unreal Engine 3 をたった 5 日で移植したと発表した (4Gamer.net の記事より) 。

5 日といってもほとんどが 1 日で完了し、OpenAL を WebAudio へ変換するラッパーなどを書いたりするのに 4 日かかったとのこと。まだ asm.js が不安定だが、Mozilla と連携して安定化させていくとのこと。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • https://twitter.com/makoto_kato/status/317448568845774848 [twitter.com]

    VladはWebGL作った張本人 (WGのチェアもやってた)し、Alonはemscripten作った張本人だから、だれでも簡単にポートできるって話ではないけどね

    ということのようです。

    • セッションでは、移植の実作業はEpic Gamesの方という感じでしたが。
      無論、お二人の全面バックアップ体制はあるかもしれませんけど。

      Epic Gamesの方が、いろいろ問題をリポートすると激速でgitに反映してくれて
      ありがたい的なことも言ってましたし。
      あとIE&MSを揶揄するような発言も何度か出ました。IEどうすんでしょうね?

      親コメント
      • by Anonymous Coward

        IEのJavaScriptエンジンは想像ですけどCOMズブズブでasm.js搭載は無理なんじゃないですか?

        • いやIEにはWebGLがそもそも載ってないという話で。asm.jsも含めて、Firefoxオンリー的な
          話ではありますからねえ。
          FirefoxのOS載せたスマフォがいろいろ出て、そっちでもバリバリ動くとなれば変わってくるかも
          しれないけど、現状、Firefoxオンリーではちょいと難しいかな的なところはあります。
          GDCで見た時にはインパクトあって感心したんだけど、色々考えるとどうなのかな~という。
          技術デモとしては面白いですけど。

          親コメント
          • by Anonymous Coward

            多少なりともIEへの圧力にはなるんではないでしょうか。少なくとも、ユーザーにIE以外を選択させる圧力には。
            普通のWebサービスだとIEで動かないものはちょっと採用しにくいですが、ゲームなら「動かしたいならFirefox使ってね」と言いやすいですしね。

        • by Anonymous Coward

          IE9以降のJavascriptエンジンはCOMから切り離して一から作り直されているはず。
          http://en.wikipedia.org/wiki/Chakra_(JScript_engine) [wikipedia.org]

          • by Anonymous Coward

            一から書きなおしたとは書いてあるけど、COMから切り離したって書いてないよ? #下位互換性を保ってCOM切り離せるのか疑問

    • by Anonymous Coward

      実際につかってみたらわかるけど、OpenGLES2.0で書いてればそのままコンパイル出来るからWebGLの知識なんて殆どいらないよ。

  • 忘れ去られかけたセリフを思い出しました。
    ところでreo氏、働き過ぎですよ?

  • by Anonymous Coward on 2013年04月01日 13時59分 (#2354546)

    ・・・ん?

  • by hahahash (41409) on 2013年04月01日 13時59分 (#2354547) 日記

    OpenGL対応なら、ブラウザ(WebGL)で動かすのはわりと簡単だよ、
    みたいに読めたわけなんですが、どうなんでしょうかね。

    ValveがLinuxに注力する話とか、
    あちこちでOpenGLがキーワードになってる気がする。

    • by Anonymous Coward

      時代はっつーか、一部環境以外では昔からOpenGLだった気がしますが。
      その割には書籍とか少ないけどね!

      • by Anonymous Coward

        その「一部環境」ってDirectX?
        業界的にはほとんど全てと言ってさしつかえなかったような…?

        • by Anonymous Coward

          DirectXはゲームだけじゃないの。OpenGLの方が登場がはやいし、ゲーム以外なら移行する理由もないでしょ。

          • by Anonymous Coward on 2013年04月01日 14時35分 (#2354566)

            でも、パイからいけばゲームがその大多数だったわけだし。Windows VistaがOpenGLを潰しにかかっていた(ように見えた)時は、このVladimir Vukicevic氏は怒り狂っていたよ。少なくとも、Windowsでは「DirectXの代わりにOpenGLを使うと損をする」っていう時代があったわけだ。
            http://lists.cairographics.org/archives/cairo/2006-January/006059.html [cairographics.org]

            でも、まあ、長期的に考えるとOpenGLの方が筋がいいのは当たり前だよね。移植性を考えると特に。

            親コメント
            • by epgrec (43527) on 2013年04月01日 15時55分 (#2354607)

              なるほど、こういうことがあったんですねえ。

              GDCでValveが「Source EngineのLinuxへの移植で僕らが学んだこと」的なセッションをやってて
              その中で、DirectX 10以降のフィーチャーは新しいWindowsがいるけどOpenGLを使えば
              そういう壁はないからWindows XPが多いアジア方面を狙うときはいいよ、といったことを
              言っていて、話の流れ的にWindows上の話かなふんふん、と思っていたのですが、
              いまはOpenGLを使ったほうがいい局面もあるってことなんですかね

              # Windows XP言われてももう手元にねーからなあ

              親コメント
              • by Anonymous Coward

                最近じゃガッツリDirectXは成長を止めてしまったなんてゲーム業界側からも批判を浴びてるみたいですよ。
                最新のOpenGLの方がDirectXよりも高性能なのだとか。

                このままゲームでもOpenGLの速度が重要になる時代が来て、グラボメーカーもOpenGLのためにチューニングしたグラボを安く出す時代が来ないかなー。高いんですよQuartoやFireGL…。

              • by Anonymous Coward

                DirectXはプログラマブルシェーダを普及させただけでも貢献したと思うので、もう休んでもいいかと。
                ゲーム機と違って年単位で新しい実験を出来たWindowsのゲーム市場が存在し、そこでお金を稼げたからこそグラフィックチップの開発に投資できたと言えるわけで。

                モバイル環境なんかを考慮するとこれからはOpenGLの時代だとは思いますが、DirectXが果たした役目のうち評価すべきところは正当に評価すべきかと。

          • by Anonymous Coward

            ゲーム(unreal engine)のトピックでゲーム以外の話をするなら先にそう言ってくれ。
            # 一応OpenGLのほうが歴史が長いことぐらい知ってるよ。

        • by Anonymous Coward

          Playstation3がOpenGLライクなライブラリを提供するなど、ゲーム業界とのつながりも意外と長いわけですが、iOS/Android端末が出たことで、OpenGL/ESが勢いづいたのは確かでしょうねぇ。

    • by Anonymous Coward

      OpenGL ES2.0対応ならその部分はそのままコンパイル通って動くよって話
      ひとえにOpenGLと言ってもバージョン色々あるからバージョンによっては同じ世代のDirect3Dからポートするより面倒な事もあるよ

  • by Anonymous Coward on 2013年04月01日 14時03分 (#2354548)

    元記事見たら3/29の日付だから、マジってことでOKっすかね。

    そんな魔法のようなトランスレータがあるのか!?

  • by Anonymous Coward on 2013年04月01日 14時36分 (#2354567)

    現行のゲームエンジン移植にも耐えうる実用性がある事が実証された。
    OS非依存でゲームが提供される日も近い・・・かどうかは知らない。

    • by Anonymous Coward

      FirefoxOSに搭載されると面白いね。

    • by Anonymous Coward

      一種のVM扱いってことかしら。
      しかしバージョン依存性が厳しそうですね。用途限定であればfirefoxの特定versionとのbundleってのも今時ありかもしれませんが(SSDのみな環境だとちょっとイヤだが)

      • by Anonymous Coward

        asm.jsはJavaScriptなんだから、不具合はパフォーマンスにしか現れない。つまり、動くことは動く、はず。そういう意味でのバージョン依存性はない。

        いってみれば、JavaScriptが中間言語みたいなもんだけど、JavaScriptエンジン(ブラウザ側)はそのJavaScriptを読み込んだ後に速度を上げる工夫をいろいろやっているわけで、最適化されたJavaScriptを実行する能力がバージョン依存なだけだから。

        もちろん、webGLの実装には依存するだろうけれど、こっちは言い出してから長いし、わりと枯れてるんでしょ。

        • by Anonymous Coward

          まぁ、ゲームにもよるとは思いますが、ひとりのゲーマーとしては「動くには動く」は動いたうちには入らん! と叫んでおきます :-(

        • by Anonymous Coward

          IE6に対応するために血反吐を履いてる開発者の前で同じセリフが言えますか?

          • by Anonymous Coward

            Webkit依存コード削除してから言ってくれよ、そういうことはよー。

        • by Anonymous Coward

          > asm.jsはJavaScriptなんだから、不具合はパフォーマンスにしか現れない。つまり、動くことは動く、はず。そういう意味でのバージョン依存性はない。

          現実はそう簡単ではないと思いますよ。特にスマートフォンやタブレットでは。実際に、 40MBのasm.jsコードをパースするのに現状メモリを1.5GB消費 [mozilla.org]したりしていますので。Firefoxでは最適化で平気になるとしても他のエンジンはどうなるの?という。速度面も含め、他のブラウザもOdinMonkey相当のものを開発し実装しないと事実上互換性は保たれないでしょう。

          asm.jsはJavaScriptであるというよりは、「ECMAScriptの仕様上辛うじてぎりぎりJavaScriptと呼べる」まったく別物かと思います。

          まずいのは、すでにV8の開発者の [mrale.ph]

          • by Anonymous Coward

            >こういうことをするならJavaScriptの外でやれ
            それは無理でしょう (NaCl、CSSの独自拡張でさえ・・・) 遅くても他のブラウザで動く互換性がasm.jsの強みなのです。ほらFirefox以外のブラウザは遅いでしょってベンチマークを提示すれば他のブラウザは渋々追随せざる得ないのです

          • by Anonymous Coward

            asm.jsをもの凄く簡単に言うと、コンパイラ向けの最適化ヒントをコード内に書いて高速化する、ってことでしょ?
            そんなの殆どの言語や、SQLにだってあるありふれた手法だと思う。
            別物だと思うのは良いが宗派戦争みたいなもので、ヒント無しでも動く、ていう所が最重要ポイントでしょう。

            • 肝心なのは「すでにJavaScriptでさえない、コンパイラ向けサブセットである」という点だと思うので、簡単に言い過ぎて誤解招く表現だと思うです。
              asm.jsは最適化ヒントどころか、現状OdinMonkey専用の謎言語なんだし。
              それを、トリック多様によってJavaScriptパーサ上でも動く状態をキープしているという構図が物議をかもしている訳で。

              この黒魔術っぷりには感服ですし、個人的にはリリース楽しみですがw

              • by Anonymous Coward

                名前の通り、シンタックスをJavaScriptにしたアセンブラですね
                とてもlisp的

              • by Anonymous Coward

                >>すでにJavaScriptでさえない

                いやだからトリックでもなんでもなくJavaScript互換だってば。
                ソース読んでみた?

          • by Anonymous Coward

            さすがにJavascriptとの互換性は外さないと思うよ。
            ハンドアセンブル始めるようなやつはどんな環境だって似たような事をやるだろうし、
            Emscriptenで出力したJavascriptが読めないっていうのであれば、Google陣営のやってるClosureCompilerも似たようなもんだし。ソースと実行コードが違うという点でね。
            個人的にはC++で書いたコードがそのままWebで使えてJavascriptで書き直さなくていいなんてそれだけで魅力的。それで自分で書くより高速だなんて一石二鳥だわ。

          • by Anonymous Coward

            これなんだけど、もう、Javascriptじゃなくて別言語としてブラウザに扱わせればいいんじゃないかなぁ。
            ただ、RPythonの例もあるし、最近の流行りなんじゃない?
            シンプルなサブセットを作ってからチューニングするのが。

            要は今の高級言語は、マシン語との間に距離がありすぎるってことじゃないかと思う。
            一気に埋めるのはエンジン開発者にも負担が大きいし、こんどはそこがボトルネックになるかもしれない。
            間に休憩点として、中間言語のようなものを挟むのは、試みとしては面白いと思う。

  • by Anonymous Coward on 2013年04月01日 20時50分 (#2354767)

    移植ってのはどこからどこまでをする作業なのでしょうか?
    5日で移植はいいですが、そんな短期間ではテスト・検証の時間は含まれてませんよね。

    • by Anonymous Coward

      本文にも書かれているが、移植自体は1日で終了、
      検証テストの結果動かないパーツがあったので、その改修に4日ってところじゃないかな?
      まあどこまでのクオリティをゴールにするかはまた別に議論が有ると思うけど。

typodupeerror

犯人はmoriwaka -- Anonymous Coward

読み込み中...