5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

任天堂「今後C++は捨てJavaScriptで開発していく」

1 :デフォルトの名無しさん:2013/03/20(水) 13:07:40.60
任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており,
そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。
このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ,
より手軽にゲーム開発を行う方法が説明されるようだ。
http://www.4gamer.net/games/999/G999905/20130316001/

29 :デフォルトの名無しさん:2013/03/21(木) 08:24:57.07
C#のが生産性高い

30 :デフォルトの名無しさん:2013/03/21(木) 08:46:25.26
>>11
>HTML5のグラディウス完璧だったしな

コナミ社員の自作自演?w

31 :デフォルトの名無しさん:2013/03/21(木) 08:48:45.49
いつまでもグラディウスにすがるコナミみっともない

32 :デフォルトの名無しさん:2013/03/21(木) 08:50:15.82
MSX最大のネガキャンプロデューサー、コナミw

33 :デフォルトの名無しさん:2013/03/21(木) 08:50:55.03
小島はMSXユーザーw

34 :デフォルトの名無しさん:2013/03/21(木) 09:07:48.49
ブラウザゲームに速度は必要ないし良い判断だろ
ブラウザゲームに特化するのは良い判断とは思えないけどな

35 :デフォルトの名無しさん:2013/03/21(木) 09:50:52.62
>>1に釣られる間抜けな馬鹿に言っておくけど、
JavaScriptで開発をするとは書いてあるけど、
C++を捨てるなんて書いてないからねw

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

それにJavaScriptのエンジンはオープンソースの速いやつを使うだろ。
JavaScript実行環境はオープンソースにしないといけないけれど、
それで動かすアプリはクローズドでいいわけだし。

36 :デフォルトの名無しさん: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全般と相性が悪かったけど最近はマシになってきた

37 :デフォルトの名無しさん: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のベンダー何かとも相談する必要あると思う

そういうことが任天堂にできるよう体制考えていくのかっていうのが大事
任天堂の一大プロジェクトとして頑張ってくれ

38 :デフォルトの名無しさん:2013/03/21(木) 10:41:53.37
>>37
何いってんだお前?

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

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

JavaScript使うからってウェブ標準にする必要はない。

39 :デフォルトの名無しさん:2013/03/21(木) 10:43:35.83
>>30
え?お前何言ってんの?

40 :デフォルトの名無しさん:2013/03/21(木) 10:51:52.51
うわっ、コナミ社員w

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

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

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

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

でも既存のWEB技術だけじゃあ残念すぎる
なんとかそこら辺を上手くやらなくちゃいけない
じゃないともったいない

42 :デフォルトの名無しさん:2013/03/21(木) 11:00:53.73
> だからそのライブラリを用意するのがものすごく大変だと言っている

今あるC++のライブラリのラッパーを作れば良い。

43 :デフォルトの名無しさん:2013/03/21(木) 11:02:41.38
> それに完全独自じゃなくて他のサーバーサイドJS環境とともに標準仕様を決めている

CommonJSはオワコンで
参考にはするが、そんなのには従わないと
言ってるんだが知らないの?

44 :デフォルトの名無しさん:2013/03/21(木) 11:21:23.46
C++はもうお荷物になってきたか

45 :デフォルトの名無しさん:2013/03/21(木) 11:22:04.14
HTML5のグラディウスがコナミだとか
スーパーマリオ知らんってどんだけ情弱なんだよw

46 :デフォルトの名無しさん:2013/03/21(木) 11:26:22.34
>>42,43
今はCommonJS関係ないよ
でもそれが種だった
じぶんはv0.1代の頃から知ってたからよく分かる

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

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

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

そこまでしてゲームサイドJS環境を作れたとしてどんな意味があるのだろうか

47 :デフォルトの名無しさん:2013/03/21(木) 11:36:14.49
でもそれが種だった
でもそれが間違いだってわかった。
二度と同じ事を繰り返すことはないだろう。

48 :デフォルトの名無しさん:2013/03/21(木) 11:36:52.80
> それらはバッファやストリームのラッパーを作ればいい次元じゃない

え? なんで?
根拠が無いなぁ(笑)

49 :デフォルトの名無しさん:2013/03/21(木) 11:59:19.32
実行効率じゃなくて開発効率が悪いからかんべんしてほしいわ。

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

function hoge(x) {
x.maxlength = 100;
}
↑と書いてもエラーにならないで、なんとなく動いちゃう言語。

50 :デフォルトの名無しさん:2013/03/21(木) 12:00:12.97
時間がかかるのは標準技術だから
独自技術なら時間はかからない。
現にゲーム業界の速度は、標準技術を確立する速度を超えている。

51 :デフォルトの名無しさん:2013/03/21(木) 14:05:14.51
JavaScriptつーかECMAScriptでstrictモード対応なら>>49みたいな心配はいらないんだけどなぁ

52 :デフォルトの名無しさん:2013/03/21(木) 14:07:44.88
C++を捨てる、なんてどこにも書かれてないな。
こういう釣りは、ゲハとかそっちの方面でやってくれ。

53 :デフォルトの名無しさん:2013/03/21(木) 14:39:13.62
>>51

>>49の例はstrictモードでも防げないだろ

54 :デフォルトの名無しさん:2013/03/21(木) 14:42:39.98
そもそも>>49はhoge()がオブジェクトxの実装詳細を知っているのが前提という糞設計なのが問題

55 :デフォルトの名無しさん:2013/03/21(木) 14:45:41.46
実装詳細ってなんだ?
公開プロパティだろ?

それともメソッドにすれば解決する問題だと思ってるのか?

56 :デフォルトの名無しさん:2013/03/21(木) 14:49:40.74
>>55
> 公開プロパティだろ?
Javascript知らないのがバレバレ

57 :デフォルトの名無しさん:2013/03/21(木) 14:54:09.76
メソッド(setter/getter)にすれば、少なくとも「なんとなく動いちゃう」は防げるだろ
ただし、それがJavaScript的なお作法に適合するのかどうかはわからんが

58 :デフォルトの名無しさん:2013/03/21(木) 14:55:28.39
あ、typoが問題じゃ無くて、外部から新たなプロパティを設定できてしまうのが問題なのか
だったら、俺はその防ぎ型を知らんわ

59 :デフォルトの名無しさん:2013/03/21(木) 15:09:05.85
>>55
他言語だって、変数を公開して、外で自由に触らせるのは良くない設計だよ?

60 :デフォルトの名無しさん:2013/03/21(木) 15:24:26.71
>>56
恥かいたのはお前だったなw

61 :55:2013/03/21(木) 15:29:18.67
こういう時のために、Object.seal()があるんだよ
無知どもめ。

62 :デフォルトの名無しさん:2013/03/21(木) 15:31:38.22
いまどきメモ帳でコード書くわけじゃあるまいし
最底辺プログラマが書くC++よりは安全だろう

63 :デフォルトの名無しさん:2013/03/21(木) 15:42:03.20
IDEのサポートが弱いのもダメだな。

動的型.vs.静的型の議論で「動的は簡単に書けて生産性が高い、
静的は安全に書けます。適材適所で使いましょう」みたいな大人の
意見を言うやつがいるけど、ぜったい動的は生産性低いだろ。

64 :デフォルトの名無しさん:2013/03/21(木) 15:48:04.44
>>61
seal()で、どうやって>>49の問題を防ぐつもりなの?

65 :デフォルトの名無しさん:2013/03/21(木) 15:57:54.19
>>63
つ TypeScript

66 :デフォルトの名無しさん:2013/03/21(木) 16:10:11.93
>>64

>>49の問題って何?

67 :デフォルトの名無しさん:2013/03/21(木) 16:15:16.11
>>65
そういうのが出るってことは、やっぱ動的型の言語に問題感じてる人は多いんだろうな。

68 :デフォルトの名無しさん:2013/03/21(木) 16:35:45.71
javascriptが速いのはx86とarmだけ

69 :デフォルトの名無しさん:2013/03/21(木) 16:46:14.37
>>66
> >>49の問題って何?

まんまその通りだけど。
・スペルミスしたときに
・と書いてもエラーにならない
・なんとなく動いちゃう

70 :デフォルトの名無しさん:2013/03/21(木) 16:46:24.66
それ以外はwebいらないってことで

71 :デフォルトの名無しさん:2013/03/21(木) 16:47:21.92
>>69
今度は、Object.seal()の機能をここにコピペしてみてよ。

72 :デフォルトの名無しさん:2013/03/21(木) 16:52:26.07
>>71
Object.seal()の機能は知ってるから、どうやって>>49の問題を防ぐつもりなのかだけ教えてくれればいいから。

73 :デフォルトの名無しさん:2013/03/21(木) 16:52:42.06
正直ゲームなんて多少変な挙動あっても適当に動いてりゃ許されるだろ
バグまみれでも大して問題にならないのってゲームプログラムだけだよね

74 :デフォルトの名無しさん:2013/03/21(木) 17:06:01.88
もうおしまいだ〜!!

C++はおしまいだ〜〜!!

75 :デフォルトの名無しさん:2013/03/21(木) 17:06:28.17
>>73
ゲームの方が、(精神的な)子供が多いから大問題になる気がするが

76 :デフォルトの名無しさん:2013/03/21(木) 17:15:30.02
>>72
Object.seal()の機能に、
>>69の問題を防ぐって書いてあるじゃん。

読んでないだろお前。

77 :デフォルトの名無しさん:2013/03/21(木) 17:30:15.16
>>76
> Object.seal()の機能に、
> >>69の問題を防ぐって書いてあるじゃん。

そうは思えないから、どうやって防ぐのか質問してるんだけど。
コード書いてよ。

78 :デフォルトの名無しさん:2013/03/21(木) 17:34:38.59
>>45
>HTML5のグラディウスがコナミだとか
>スーパーマリオ知らんってどんだけ情弱なんだよw

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



ムダな努力w

79 :デフォルトの名無しさん:2013/03/21(木) 17:59:31.90
http://appsweets.net/gradius/index.html
とりあえずこのグラディウスを遊んでみてくれたまへ

80 :デフォルトの名無しさん:2013/03/21(木) 18:08:46.63
>>79
キーマトッリクスが不完全。

81 :デフォルトの名無しさん:2013/03/21(木) 18:09:46.35
コナミがここまでグラディウスに執着してるとは思わなかったなw

82 :デフォルトの名無しさん:2013/03/21(木) 18:12:20.05
断続的にガクガクになるのは、俺のPCがしょぼいせいか?

83 :デフォルトの名無しさん:2013/03/21(木) 18:21:05.39
だからこれコナミじゃないってw

84 :デフォルトの名無しさん:2013/03/21(木) 18:29:15.63
>>36
なぜ?という部分を解明してないと
学術論文的な所では確実に無視される

その程度の内容

そもそも、まともなソースコードすら示していないいw

85 :デフォルトの名無しさん:2013/03/21(木) 18:30:12.17
>>81
是非とも横スクロール・オプション・レーザー付シューティング製作を!

86 :デフォルトの名無しさん:2013/03/21(木) 18:30:58.70
ナムコナミ

87 :デフォルトの名無しさん:2013/03/21(木) 18:32:21.85
1面しか遊べないジャン

88 :デフォルトの名無しさん:2013/03/21(木) 18:58:42.16
パフォーマンス的にやば過ぎるなこれ
こんなの客に出したら社会問題になるな

89 :デフォルトの名無しさん:2013/03/21(木) 19:30:19.85
>>85
1985年から28年間独裁してるから倒さなきゃな。

90 :デフォルトの名無しさん:2013/03/21(木) 19:52:23.59
>>28
こいつ最高に低能

91 :デフォルトの名無しさん:2013/03/21(木) 19:55:48.26
俺の知ってるニンテンドーのOSはCOMライクな作りでJSインターフェース持ってたよ。
それでブラウザ独自実装してたぞ。

92 :デフォルトの名無しさん:2013/03/21(木) 19:56:18.14
馬鹿丸出しw

93 :91:2013/03/21(木) 20:03:43.02
俺?

94 :デフォルトの名無しさん:2013/03/21(木) 20:05:56.87
>>85
>是非とも横スクロール・オプション・レーザー付シューティング製作を!

コナミの真似をすれば馬鹿と思われるから誰もしないだけw

95 :デフォルトの名無しさん:2013/03/21(木) 20:08:36.96
本物グラディウスのソースリストいる?
C言語ソースと68000ライブラリ。

96 :デフォルトの名無しさん:2013/03/21(木) 20:14:12.20
>>95
それって、今から読んでもちゃんと読める?っていうか、アホでもよめる??
あと、著作権大丈夫?

97 :デフォルトの名無しさん:2013/03/21(木) 20:14:45.84
>当時の革命的なシューティングゲームとして1980年の『ディフェンダー』と並び称される歴史的作品。

並ばねーよw

ディフェンダーに失礼。

98 :デフォルトの名無しさん:2013/03/21(木) 20:15:58.44
グラディウスのストーリー自体はスターウォーズだな。
陳腐だけどw

99 :デフォルトの名無しさん:2013/03/21(木) 20:19:05.77
>>96



100 :デフォルトの名無しさん:2013/03/21(木) 20:20:04.96
>>98
テーマが暗い

101 :デフォルトの名無しさん:2013/03/21(木) 20:24:19.18
>>99
おれ、釣られたの?
某社のOSはオプソだから知ってるんだよ。

102 :デフォルトの名無しさん:2013/03/21(木) 20:29:18.50
知ってると書く奴の100%は何も知らないと言う法則

103 :デフォルトの名無しさん:2013/03/21(木) 20:34:35.82
というか書ける奴は外部仕様を見れば書ける気がするし
書けない奴はソースコードなんか見ても書けない気がする

104 :デフォルトの名無しさん:2013/03/21(木) 20:40:59.37
じゃー、しーらない。

まぁ、確かに、OSのソースよんだけど全然理解できなかったのはそうだな。
グラディウスのソースはあれだ文学として興味あるね。
どういう文体で書かれてるとか、どうやって動いてるだとか。

105 :デフォルトの名無しさん:2013/03/21(木) 20:57:13.33
>>77
だからObject.seal()の機能書いてみ。
何をしてくれるのかわかってないだろw

106 :デフォルトの名無しさん:2013/03/21(木) 21:06:09.58
ほらねw

107 :デフォルトの名無しさん:2013/03/21(木) 21:20:47.00
始まったな宗教対立が

108 :デフォルトの名無しさん:2013/03/21(木) 21:24:55.62
C言語独裁体制の崩壊

109 :デフォルトの名無しさん:2013/03/21(木) 21:28:50.03
まあコード書けない低能は
この板ではゴミ
存在する価値すら無い

110 :デフォルトの名無しさん:2013/03/21(木) 21:39:06.21
いよいよ崩壊

111 :デフォルトの名無しさん:2013/03/21(木) 22:06:37.77
>>105
var a = {maxLength:0};
var b = Object.seal({maxLength:0});
var hoge0 = function hoge(x) {"use strict"; x.maxLength = 100; return x.maxLength};
var hoge1 = function hoge(x) {"use strict"; x.maxlength = 100; return x.maxlength};
hoge0(a) // => 100
hoge1(a) // => 100
hoge0(b) // => 100
hoge1(b) // TypeError: Can't add property maxlength, object is not extensible

112 :デフォルトの名無しさん:2013/03/21(木) 22:09:03.58
型宣言しないのがきもい

113 :デフォルトの名無しさん:2013/03/21(木) 22:43:25.56
>>111
こりゃ面白い。

Lispじゃなくて、JSがキビキビ動くようになったらまたAI戦争になるんかね。

114 :デフォルトの名無しさん:2013/03/21(木) 22:57:23.26
まず作らなきゃなw

115 :デフォルトの名無しさん:2013/03/21(木) 23:09:46.21
>>114
そりゃ大変だ。


JSがキビキビ動くようになったらソース互換でかなりすごいことになるな。今更だけどな。

116 :デフォルトの名無しさん:2013/03/21(木) 23:10:37.38
やっとObject.seal()の機能を理解したかw

117 :デフォルトの名無しさん:2013/03/21(木) 23:12:06.48
書けると言う奴の100%は何も書けないと言う事実w

118 :デフォルトの名無しさん:2013/03/21(木) 23:13:16.45
俺はかけないと思うんだが、
他人がかけるというんだ。

119 :デフォルトの名無しさん:2013/03/21(木) 23:13:27.69
>>112
これには同意だなー。プロパティを後付け追加で拡張されまくりで
ろくにデバッグされなくて、ゲーム開発環境がますます修羅場になる。

120 :デフォルトの名無しさん:2013/03/21(木) 23:14:06.58
>>117
汎用性ありすぎだろう。

121 :デフォルトの名無しさん:2013/03/21(木) 23:16:18.23
>>119
>>111

122 :デフォルトの名無しさん:2013/03/21(木) 23:21:35.98
BASICになりたくてもなれないCとJAVA。

123 :デフォルトの名無しさん:2013/03/21(木) 23:27:42.58
BASICってたしか関数やスコープもなかったと思うけど?

124 :デフォルトの名無しさん:2013/03/21(木) 23:29:53.45
C++の開発環境が肥大化のせいでゲームの本質的な面白さの追求に至れてないなら
富豪プログラミング的発想でカジュアルなゲームでHTML5でもいい 枯れた技術の〜っていう発想に近いわけだし

ただなんでもHTML5でできるわけじゃないし、パフォーマンスチューニングは同じぐらいバッドノウハウある
全然質が違うチューニングだけどもね。モジラの次世代エンジンOdinMonkeyとか気が狂ってる

っていうか単にデベロッパーが減ってWeb屋吸収したいだけとも言える

125 :デフォルトの名無しさん:2013/03/21(木) 23:31:24.84
>>123
関数も文字列操作も強力だよw

何も知らない癖に偉そうに書くと恥をかくよw

126 :デフォルトの名無しさん:2013/03/21(木) 23:35:01.85
30代のリストラ - Cプログラマーの切り捨て

127 :デフォルトの名無しさん:2013/03/21(木) 23:36:00.71
もうCプログラマーはいらないんじゃないのか?

128 :デフォルトの名無しさん:2013/03/21(木) 23:36:08.37
>>125
他の言語と比べて
どんなことが優れてる?

無いと思ったけど。

212 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)