X



任天堂「今後C++は捨てJavaScriptで開発していく」
0001デフォルトの名無しさん
垢版 |
2013/03/20(水) 13:07:40.60
任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,
そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。
このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ,
より手軽にゲーム開発を行う方法が説明されるようだ。
http://www.4gamer.net/games/999/G999905/20130316001/
0006デフォルトの名無しさん
垢版 |
2013/03/20(水) 13:14:38.07
速度出ないだろ
0007デフォルトの名無しさん
垢版 |
2013/03/20(水) 13:15:55.26
ソフトウェアの進化というのは
開発効率が高い遅い言語で
作りなおすことで進化しているのです。

どんどん遅い言語で作られるようになりますが
それこそ進化なのです。
0010デフォルトの名無しさん
垢版 |
2013/03/20(水) 13:56:05.94
捨てるとは書いてないべ
Javascript のインタフェースを用意してみたんだけど使ってみてくんない?
って感じじゃないのか
モバグリの開発者を囲い込む戦略なんじゃね
0012デフォルトの名無しさん
垢版 |
2013/03/20(水) 15:34:12.88
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0014デフォルトの名無しさん
垢版 |
2013/03/20(水) 18:38:38.33
レスポンス返って来なかったりメモリ不足がほぼ出ないようなシステムなら問題ないんだけどな
0015デフォルトの名無しさん
垢版 |
2013/03/20(水) 19:56:32.10
任天堂のゲームでそんなに高いパフォーマンスが必要だったものあったっけ
Cでマリオ作るの非効率だからやめるよ!ってだけの話じゃないの
0021デフォルトの名無しさん
垢版 |
2013/03/21(木) 02:27:50.15
Javascriptでインタープリタなテスト工程を経て、
C/C++に落としてくれる環境ならば賛同する。
(本番はCPUに近いNativeで。)
0023デフォルトの名無しさん
垢版 |
2013/03/21(木) 06:03:03.23
ビックリするかもしれないけどいまやJavaScriptのコードは平均してJAVA並の速度なんだよね
ループ内のコードを外に出したり、ハイコンテキストなのを逆に利用して効率のよいマシン語にすることができる
0030デフォルトの名無しさん
垢版 |
2013/03/21(木) 08:46:25.26
>>11
>HTML5のグラディウス完璧だったしな

コナミ社員の自作自演?w
0031デフォルトの名無しさん
垢版 |
2013/03/21(木) 08:48:45.49
いつまでもグラディウスにすがるコナミみっともない
0032デフォルトの名無しさん
垢版 |
2013/03/21(木) 08:50:15.82
MSX最大のネガキャンプロデューサー、コナミw
0033デフォルトの名無しさん
垢版 |
2013/03/21(木) 08:50:55.03
小島はMSXユーザーw
0034デフォルトの名無しさん
垢版 |
2013/03/21(木) 09:07:48.49
ブラウザゲームに速度は必要ないし良い判断だろ
ブラウザゲームに特化するのは良い判断とは思えないけどな
0035デフォルトの名無しさん
垢版 |
2013/03/21(木) 09:50:52.62
>>1に釣られる間抜けな馬鹿に言っておくけど、
JavaScriptで開発をするとは書いてあるけど、
C++を捨てるなんて書いてないからねw

速度が必要なところだけC++を使えばいい。

それにJavaScriptのエンジンはオープンソースの速いやつを使うだろ。
JavaScript実行環境はオープンソースにしないといけないけれど、
それで動かすアプリはクローズドでいいわけだし。
0036デフォルトの名無しさん
垢版 |
2013/03/21(木) 09:59:39.05
これは極端な例だけどJSがダントツで早い状況もある
http://nothingcosmos.blog52.fc2.com/blog-entry-155.html

最近のJSエンジンは本当に凄い
JSの数値は64bit浮動少数だけどint型で扱える範囲の時はそれで計算するとかはもう普通
配列も入っている型やばらつきによってそれぞれ最適化される
もう単純演算じゃあ差は出ない

正規表現とか高級言語の方が扱いやすいものもある
当然WEBとの相性はいい

反対に苦手なのがバッファを弄る処理
まあ苦手と言ってもCほどトリッキーなことはできないレベル
元々JSはIO全般と相性が悪かったけど最近はマシになってきた
0037デフォルトの名無しさん
垢版 |
2013/03/21(木) 10:26:39.28
JSの速度のことを指摘している人は検討違い
JSの言語自体の問題は無い

あるのはアウトプットをどうするかということ
正直今のWeb技術はバリバリのゲームなんか想定してない

WEBにはオーバースペックだと度々言われるWebGLだって
コンシューマ機として考えたらOpenGL ES 2.0だからしょぼすぎる
WiiUのGPUとマッチしてないと思う

2DゲームだってCanvas2D+CSSだけじゃあ寂しすぎる
エフェクトとかがかけづらいからほとんどWebGL使うと思う

本気でやるんなら新しいCanvasのコンテキストを用意するのはもちろん
リアルタイムオーディオ系API、今ChromeとFirefoxで全然別なのが乗ってて合併中だけどそれをどうするのかも決めないと

細かいとこだけどHTML5のテンプレートとかCSSのシェーダーとか
今実験段階の機能も載せないとダメだと思う

WiiUがスタンダードを決めるくらいの勢いでいかないと成功しない
でもあくまでWeb技術だから無茶もダメ、
ブラウザはもちろん、今年から出てくるMobileWebOSのベンダー何かとも相談する必要あると思う

そういうことが任天堂にできるよう体制考えていくのかっていうのが大事
任天堂の一大プロジェクトとして頑張ってくれ
0038デフォルトの名無しさん
垢版 |
2013/03/21(木) 10:41:53.37
>>37
何いってんだお前?

ライブラリさえ用意すれば、JavaScriptから
ファイルアクセスだってDirectX(Windowsの場合)だって
使えるんだよ。

Nodeなんかそうじゃん。言語はJavaScript
ライブラリはウェブ標準ではない。

JavaScript使うからってウェブ標準にする必要はない。
0041デフォルトの名無しさん
垢版 |
2013/03/21(木) 10:58:08.26
>>38
だからそのライブラリを用意するのがものすごく大変だと言っている
せっかくWeb技術を使うんだからそれと全くかけ離れたものを作ってもしかたない

Node.jsはWeb技術(HTML)じゃない、JSだけ
それに完全独自じゃなくて他のサーバーサイドJS環境とともに標準仕様を決めている
それでもここまで来るのに何年もかかった
だけどまだNodeはバージョン0.10
フラッシュアップするのにもう1年はかかりそう
それほど大変

そんな中ゲームサイドを作ろうとしたらライブラリ作ればいいじゃすまない
任天堂だけの手におえないし、おってはいけない
それこそ仕様ができた頃にはWiiUの次がでてるようなことになる

それはさすがに無理だからWEB技術を中心に採用することにしたんだろう
でも採用するといっても使えそうな技術は実験段階だったり
標準化に手間取ってたりする
それを待ってるとやっぱりWiiUには間に合わない

でも既存のWEB技術だけじゃあ残念すぎる
なんとかそこら辺を上手くやらなくちゃいけない
じゃないともったいない
0042デフォルトの名無しさん
垢版 |
2013/03/21(木) 11:00:53.73
> だからそのライブラリを用意するのがものすごく大変だと言っている

今あるC++のライブラリのラッパーを作れば良い。
0043デフォルトの名無しさん
垢版 |
2013/03/21(木) 11:02:41.38
> それに完全独自じゃなくて他のサーバーサイドJS環境とともに標準仕様を決めている

CommonJSはオワコンで
参考にはするが、そんなのには従わないと
言ってるんだが知らないの?
0044デフォルトの名無しさん
垢版 |
2013/03/21(木) 11:21:23.46
C++はもうお荷物になってきたか
0045デフォルトの名無しさん
垢版 |
2013/03/21(木) 11:22:04.14
HTML5のグラディウスがコナミだとか
スーパーマリオ知らんってどんだけ情弱なんだよw
0046デフォルトの名無しさん
垢版 |
2013/03/21(木) 11:26:22.34
>>42,43
今はCommonJS関係ないよ
でもそれが種だった
じぶんはv0.1代の頃から知ってたからよく分かる

それに少し考えてご覧
ほぼストリームのIOだけ提供すればいいサーバーサイドとはスケールが違い過ぎる
絵も音も出さなくちゃいけない
それらはバッファやストリームのラッパーを作ればいい次元じゃない

既存のを使えばいいとか無茶ぶりすぎる
それならそもそもなんのためにJavaScriptを使うのか
仮に既存のCのラッパー大量に用意してはいどうぞ
はて、Cで開発していた頃と何が違うのか
既存のWeb技術を利用でき既存のWebアプリ開発者でも参入できるからいいんじゃないか

それに仕様ってのは作ったはい終わりじゃすまない
それで済むのならHTML5だってもめてない
長い時間をかけて改善を繰り返さないと完成しないもの

そこまでしてゲームサイドJS環境を作れたとしてどんな意味があるのだろうか
0047デフォルトの名無しさん
垢版 |
2013/03/21(木) 11:36:14.49
でもそれが種だった
でもそれが間違いだってわかった。
二度と同じ事を繰り返すことはないだろう。
0048デフォルトの名無しさん
垢版 |
2013/03/21(木) 11:36:52.80
> それらはバッファやストリームのラッパーを作ればいい次元じゃない

え? なんで?
根拠が無いなぁ(笑)
0049デフォルトの名無しさん
垢版 |
2013/03/21(木) 11:59:19.32
実行効率じゃなくて開発効率が悪いからかんべんしてほしいわ。

function hoge(x) {
x.maxLength = 100;
}
↑これをスペルミスで

function hoge(x) {
x.maxlength = 100;
}
↑と書いてもエラーにならないで、なんとなく動いちゃう言語。
0050デフォルトの名無しさん
垢版 |
2013/03/21(木) 12:00:12.97
時間がかかるのは標準技術だから
独自技術なら時間はかからない。
現にゲーム業界の速度は、標準技術を確立する速度を超えている。
0052デフォルトの名無しさん
垢版 |
2013/03/21(木) 14:07:44.88
C++を捨てる、なんてどこにも書かれてないな。
こういう釣りは、ゲハとかそっちの方面でやってくれ。
0055デフォルトの名無しさん
垢版 |
2013/03/21(木) 14:45:41.46
実装詳細ってなんだ?
公開プロパティだろ?

それともメソッドにすれば解決する問題だと思ってるのか?
0057デフォルトの名無しさん
垢版 |
2013/03/21(木) 14:54:09.76
メソッド(setter/getter)にすれば、少なくとも「なんとなく動いちゃう」は防げるだろ
ただし、それがJavaScript的なお作法に適合するのかどうかはわからんが
0058デフォルトの名無しさん
垢版 |
2013/03/21(木) 14:55:28.39
あ、typoが問題じゃ無くて、外部から新たなプロパティを設定できてしまうのが問題なのか
だったら、俺はその防ぎ型を知らんわ
006155
垢版 |
2013/03/21(木) 15:29:18.67
こういう時のために、Object.seal()があるんだよ
無知どもめ。
0062デフォルトの名無しさん
垢版 |
2013/03/21(木) 15:31:38.22
いまどきメモ帳でコード書くわけじゃあるまいし
最底辺プログラマが書くC++よりは安全だろう
0063デフォルトの名無しさん
垢版 |
2013/03/21(木) 15:42:03.20
IDEのサポートが弱いのもダメだな。

動的型.vs.静的型の議論で「動的は簡単に書けて生産性が高い、
静的は安全に書けます。適材適所で使いましょう」みたいな大人の
意見を言うやつがいるけど、ぜったい動的は生産性低いだろ。
0069デフォルトの名無しさん
垢版 |
2013/03/21(木) 16:46:14.37
>>66
> >>49の問題って何?

まんまその通りだけど。
・スペルミスしたときに
・と書いてもエラーにならない
・なんとなく動いちゃう
0073デフォルトの名無しさん
垢版 |
2013/03/21(木) 16:52:42.06
正直ゲームなんて多少変な挙動あっても適当に動いてりゃ許されるだろ
バグまみれでも大して問題にならないのってゲームプログラムだけだよね
0077デフォルトの名無しさん
垢版 |
2013/03/21(木) 17:30:15.16
>>76
> Object.seal()の機能に、
> >>69の問題を防ぐって書いてあるじゃん。

そうは思えないから、どうやって防ぐのか質問してるんだけど。
コード書いてよ。
0078デフォルトの名無しさん
垢版 |
2013/03/21(木) 17:34:38.59
>>45
>HTML5のグラディウスがコナミだとか
>スーパーマリオ知らんってどんだけ情弱なんだよw

もうみんなすごーいんだよーーー



ムダな努力w
0080デフォルトの名無しさん
垢版 |
2013/03/21(木) 18:08:46.63
>>79
キーマトッリクスが不完全。
0081デフォルトの名無しさん
垢版 |
2013/03/21(木) 18:09:46.35
コナミがここまでグラディウスに執着してるとは思わなかったなw
0083デフォルトの名無しさん
垢版 |
2013/03/21(木) 18:21:05.39
だからこれコナミじゃないってw
0084デフォルトの名無しさん
垢版 |
2013/03/21(木) 18:29:15.63
>>36
なぜ?という部分を解明してないと
学術論文的な所では確実に無視される

その程度の内容

そもそも、まともなソースコードすら示していないいw
0085デフォルトの名無しさん
垢版 |
2013/03/21(木) 18:30:12.17
>>81
是非とも横スクロール・オプション・レーザー付シューティング製作を!
0086デフォルトの名無しさん
垢版 |
2013/03/21(木) 18:30:58.70
ナムコナミ
0087デフォルトの名無しさん
垢版 |
2013/03/21(木) 18:32:21.85
1面しか遊べないジャン
0088デフォルトの名無しさん
垢版 |
2013/03/21(木) 18:58:42.16
パフォーマンス的にやば過ぎるなこれ
こんなの客に出したら社会問題になるな
0089デフォルトの名無しさん
垢版 |
2013/03/21(木) 19:30:19.85
>>85
1985年から28年間独裁してるから倒さなきゃな。
0091デフォルトの名無しさん
垢版 |
2013/03/21(木) 19:55:48.26
俺の知ってるニンテンドーのOSはCOMライクな作りでJSインターフェース持ってたよ。
それでブラウザ独自実装してたぞ。
0092デフォルトの名無しさん
垢版 |
2013/03/21(木) 19:56:18.14
馬鹿丸出しw
009391
垢版 |
2013/03/21(木) 20:03:43.02
俺?
0094デフォルトの名無しさん
垢版 |
2013/03/21(木) 20:05:56.87
>>85
>是非とも横スクロール・オプション・レーザー付シューティング製作を!

コナミの真似をすれば馬鹿と思われるから誰もしないだけw
0095デフォルトの名無しさん
垢版 |
2013/03/21(木) 20:08:36.96
本物グラディウスのソースリストいる?
C言語ソースと68000ライブラリ。
0096デフォルトの名無しさん
垢版 |
2013/03/21(木) 20:14:12.20
>>95
それって、今から読んでもちゃんと読める?っていうか、アホでもよめる??
あと、著作権大丈夫?
0097デフォルトの名無しさん
垢版 |
2013/03/21(木) 20:14:45.84
>当時の革命的なシューティングゲームとして1980年の『ディフェンダー』と並び称される歴史的作品。

並ばねーよw

ディフェンダーに失礼。
0098デフォルトの名無しさん
垢版 |
2013/03/21(木) 20:15:58.44
グラディウスのストーリー自体はスターウォーズだな。
陳腐だけどw
0099デフォルトの名無しさん
垢版 |
2013/03/21(木) 20:19:05.77
>>96

レスを投稿する


ニューススポーツなんでも実況