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

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

2013/03/21(木) 20:20:04.96
>>98
テーマが暗い
2013/03/21(木) 20:24:19.18
>>99
おれ、釣られたの?
某社のOSはオプソだから知ってるんだよ。
2013/03/21(木) 20:29:18.50
知ってると書く奴の100%は何も知らないと言う法則
2013/03/21(木) 20:34:35.82
というか書ける奴は外部仕様を見れば書ける気がするし
書けない奴はソースコードなんか見ても書けない気がする
2013/03/21(木) 20:40:59.37
じゃー、しーらない。

まぁ、確かに、OSのソースよんだけど全然理解できなかったのはそうだな。
グラディウスのソースはあれだ文学として興味あるね。
どういう文体で書かれてるとか、どうやって動いてるだとか。
2013/03/21(木) 20:57:13.33
>>77
だからObject.seal()の機能書いてみ。
何をしてくれるのかわかってないだろw
2013/03/21(木) 21:06:09.58
ほらねw
2013/03/21(木) 21:20:47.00
始まったな宗教対立が
108デフォルトの名無しさん
垢版 |
2013/03/21(木) 21:24:55.62
C言語独裁体制の崩壊
2013/03/21(木) 21:28:50.03
まあコード書けない低能は
この板ではゴミ
存在する価値すら無い
2013/03/21(木) 21:39:06.21
いよいよ崩壊
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
2013/03/21(木) 22:09:03.58
型宣言しないのがきもい
2013/03/21(木) 22:43:25.56
>>111
こりゃ面白い。

Lispじゃなくて、JSがキビキビ動くようになったらまたAI戦争になるんかね。
2013/03/21(木) 22:57:23.26
まず作らなきゃなw
2013/03/21(木) 23:09:46.21
>>114
そりゃ大変だ。


JSがキビキビ動くようになったらソース互換でかなりすごいことになるな。今更だけどな。
2013/03/21(木) 23:10:37.38
やっとObject.seal()の機能を理解したかw
2013/03/21(木) 23:12:06.48
書けると言う奴の100%は何も書けないと言う事実w
2013/03/21(木) 23:13:16.45
俺はかけないと思うんだが、
他人がかけるというんだ。
2013/03/21(木) 23:13:27.69
>>112
これには同意だなー。プロパティを後付け追加で拡張されまくりで
ろくにデバッグされなくて、ゲーム開発環境がますます修羅場になる。
2013/03/21(木) 23:14:06.58
>>117
汎用性ありすぎだろう。
2013/03/21(木) 23:16:18.23
>>119
>>111
122デフォルトの名無しさん
垢版 |
2013/03/21(木) 23:21:35.98
BASICになりたくてもなれないCとJAVA。
2013/03/21(木) 23:27:42.58
BASICってたしか関数やスコープもなかったと思うけど?
2013/03/21(木) 23:29:53.45
C++の開発環境が肥大化のせいでゲームの本質的な面白さの追求に至れてないなら
富豪プログラミング的発想でカジュアルなゲームでHTML5でもいい 枯れた技術の〜っていう発想に近いわけだし

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

っていうか単にデベロッパーが減ってWeb屋吸収したいだけとも言える
2013/03/21(木) 23:31:24.84
>>123
関数も文字列操作も強力だよw

何も知らない癖に偉そうに書くと恥をかくよw
2013/03/21(木) 23:35:01.85
30代のリストラ - Cプログラマーの切り捨て
127デフォルトの名無しさん
垢版 |
2013/03/21(木) 23:36:00.71
もうCプログラマーはいらないんじゃないのか?
2013/03/21(木) 23:36:08.37
>>125
他の言語と比べて
どんなことが優れてる?

無いと思ったけど。
129デフォルトの名無しさん
垢版 |
2013/03/21(木) 23:36:37.73
企業のお荷物
130デフォルトの名無しさん
垢版 |
2013/03/21(木) 23:37:08.22
>>128
ねぇねぇ、辞表書く準備できた?
2013/03/21(木) 23:38:06.72
>>130
なんだ。やっぱりただのかまってちゃんだったかw
2013/03/21(木) 23:39:21.59
        , -=-‐〜--へ__,,- 、
      <        ヽ   ゝ
       ノ    二、___ゝ,/_/ヘ  |
      |    ヲ          | |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      |    ┤  ===、 , ==|  | <  切り捨てられる覚悟を
     ノ   彳  ―ェ 〈‐ェ〈  ゝ  \     しなきゃいけない
    ゝ、  イ6|ゝ    / \ |‐"     \_________
      く   .^|        - ゝ
       ヒi_,| \l  [ ――.|
        ,,, -/\  \____,|
     ―'|  \  \    |\_
       |   \  \.  / 〉 \ ̄
        |__,\  / ̄〕/ 、/
2013/03/21(木) 23:40:01.74
パソナルームw
134デフォルトの名無しさん
垢版 |
2013/03/21(木) 23:57:05.60
>>131
どうして手先が震えてるの?
135デフォルトの名無しさん
垢版 |
2013/03/21(木) 23:58:07.39
Cプログラマーを声高らかに切り捨てる
136デフォルトの名無しさん
垢版 |
2013/03/22(金) 00:02:41.00
  ミミ彡ミミミ彡彡ミミミミ
,,彡彡彡ミミミ彡彡彡彡彡彡
ミミ彡彡゙゙゙゙゙""""""""ヾ彡彡彡
ミミ彡゙         ミミ彡彡
ミミ彡゙ _    _   ミミミ彡
ミミ彡 '´ ̄ヽ  '´ ̄` ,|ミミ彡
ミミ彡  ゚̄ ̄' 〈 ゚̄ ̄ .|ミミ彡
 彡|     |       |ミ彡
 彡|   ´-し`)  /|ミ|ミ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ゞ|     、,!     |ソ  <  改革をあきらめるな!
   ヽ '´ ̄ ̄ ̄`ノ /     \________
    ,.|\、    ' /|、
 ̄ ̄| `\.`──'´/ | ̄ ̄`
    \ ~\,,/~  /
     \/▽\/
137デフォルトの名無しさん
垢版 |
2013/03/22(金) 00:03:25.35
任天堂を切り捨てろ!
2013/03/22(金) 00:08:56.68
>>134
お前は超能力者かまってちゃんかw
だが、透視できてないぞ。ただのかまってちゃんだw
139デフォルトの名無しさん
垢版 |
2013/03/22(金) 00:13:16.05
    彡ミミミミ))彡彡)))彡)
   彡彡゙゙゙゙゙"゙゙""""""ヾ彡彡)
   ミ彡゙ .._    _   ミミミ彡
  ((ミ彡 '´ ̄ヽ '´/ ̄ ` ,|ミミ))
  ミ彡  ' ̄ ̄'  〈 ̄ ̄ .|ミミ彡
  ミ彡|  ) ) | | `( ( |ミ彡
  ((ミ彡|  ( ( -し`) ) )|ミミミ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ゞ|  ) )  、,! 」( ( |ソ   < 感動した!
     ヽ( ( ̄ ̄ ̄' ) )/      \_______________
     ,.|\、)    ' ( /|、
   ̄ ̄| `\.`──'´/ | ̄ ̄`
      \ ~\,,/~  /
2013/03/22(金) 00:14:22.37
左翼はCでいい思いをしている
2013/03/22(金) 00:15:25.02
サヨ認定キター
142デフォルトの名無しさん
垢版 |
2013/03/22(金) 00:17:21.20
ひっくり返せ
2013/03/22(金) 02:08:23.95
>>116
まさかとは思うが、>>111のコードで問題が解決したとか思ってないだろうな?
思ってたとしたら、プログラミングセンスなさすぎなんだけど。
解決したと思わないなら、お前自身のコード書いてみ?
2013/03/22(金) 02:13:12.87
文句言う前に先にお前が書けよ(笑)
2013/03/22(金) 02:19:00.97
は?
俺は、seal()では問題は解決しないという意見なんですけど。
解決すると思うんなら、コードで示してねってことで。
2013/03/22(金) 02:20:47.12
>>49のなんとなく動いちゃう問題は>>111で解消するな
2013/03/22(金) 02:21:50.29
>>145
問題が解決するってひとが>>111を書いてくれたんだから、
問題が解決しないって思ってるおまえが具体的なコード例を示せよw
2013/03/22(金) 02:23:15.62
>>147
めんどくさいなぁ。
君も>>111のコードで良いわけ?
だったらプログラミングセンスなさすぎだわ。
2013/03/22(金) 02:24:25.58
>>148
早く書け
2013/03/22(金) 02:26:13.63
>>149
何を書けって言ってるのかな?
分かるように言ってくれよ。
2013/03/22(金) 02:27:14.09
5分程度で書けない奴はプログラミングのセンス無い
2013/03/22(金) 02:27:52.27
>>150
>>49のなんとなく動いちゃう問題が>>111で解決しない理由
2013/03/22(金) 02:36:41.68
>>152
seal()書き忘れるか、seal()が必要だって知らない人がメンテとかしたりしたらアウトだから。
書き忘れなきゃOKとか言う?それってtypoしなきゃOKと言うのと変わらないよ。
C++でnew禁止にできるみたいな、絶対に間違いが起こらない方法は無いと思うんだ。
あるなら教えてほしい。
あと、seal()しまくりなのは汚いし見づらいしエレガントじゃないよね。
2013/03/22(金) 02:41:19.71
C++知らない人がメンテとかしたらアウトだか。

>>153への皮肉はこんなもんでいいだろ?w
2013/03/22(金) 02:48:54.79
>>154
C++のnew禁止テクニックとseal()の違いがわからないなら、プログラミングセンスなさすぎだよ。
2013/03/22(金) 02:54:05.41
new禁止テクニックの話は一言もしてないw
2013/03/22(金) 02:57:17.19
new禁止テクニックのような根本的対策じゃなきゃ意味ないよって言ってるのが
理解できないのか、new禁止テクニックを知らないのか。どっち?
2013/03/22(金) 03:00:41.45
>>153
Object.seal()を直接書いて回るとか何の冗談だよ
いまどきJavascriptでそれなりのプロダクトを作るなら
クラス継承の手順なんかも隠蔽したオブジェクト生成関数を用意してそれを使う
センスとか以前の問題じゃね?
2013/03/22(金) 03:03:03.19
書き忘れたら書き間違えで新たなプロパティ扱いになるって言っても
C++はC++で書き忘れたら色んなものが解放されないという言語なのだけれど…
2013/03/22(金) 03:06:23.82
>>158
残念ながらそれでも駄目なんだ。
なぜなら、JavaScriptでは実引数の型を強制できないから、hoge({maxLength:10})とかできちゃうし。
2013/03/22(金) 03:08:39.66
>>159
念のため説明すると、new禁止にすると、hoge = new Hoge();でコンパイルエラーになるから
これが根本対策になり得る。
2013/03/22(金) 03:13:08.67
>>160
それはオブジェクトというより今時の大抵の言語にあるハッシュとしての使いかただね
Javascriptは両方とも同じものだけど
ハッシュのキーワードミスって別のプロパティ弄っちゃうとか
Javascript固有の問題じゃないだろう
オブジェクトの生成はプロジェクトで決めた生成方式で統一すればいい
2013/03/22(金) 03:23:05.56
オブジェクトの生成ルール決めてるプロジェクトでhoge({maxLength:10})とかやって自爆するのは
C言語で型とか適当でキャストしまくって自爆するのと同じようなものだろw
2013/03/22(金) 03:39:01.27
>>162
ルールを決めても、それを言語仕様的に強制できなければ、誰かが間違える可能性が残る。
誰かというのは、将来のメンテナも含めてね。
それと、xの仕様を変えることによって問題を解決するのなら、maxLengthを
プライベート変数にして、setter,getterにした方がいいと思うんだけど、どう?
2013/03/22(金) 03:41:01.60
>>163
自爆するのが悪いというのは、typoするのが悪いというのと変わらないよ。
2013/03/22(金) 03:44:19.64
>>164
>>49を見直してこいよ
maxLengthをset/getにしてもmaxlengthを作れちゃうから問題だと言ってるのに
2013/03/22(金) 03:47:42.26
>>165
どんな言語でも、言語仕様で強制される以外のルールも守らなければ自爆するって言ってるんだよ?w
2013/03/22(金) 04:22:59.02
JavaScriptでnew禁止するのは簡単。
2013/03/22(金) 05:15:32.20
>>161
ではC++で解放忘れをコンパイルエラーにする方法は?
2013/03/22(金) 06:18:05.68
どんなに優れた言語でもウンコードは書ける
2013/03/22(金) 06:44:15.35
TSRが書けなくなるの?
2013/03/22(金) 06:48:12.33
>>166
setterにすれば、>>49はsetMaxLength()とsetMaxlength()のtypoの問題にかわる。
2013/03/22(金) 06:50:37.63
typoうんぬんが開発の生産性と関係あると思ってるヤツは素人
2013/03/22(金) 06:50:47.43
>>167
そんなの当たり前だが、今回の問題と何の関係があるのかな?
2013/03/22(金) 06:52:03.00
>>169
ない。
2013/03/22(金) 06:52:37.46
>>172
setterにすると>>49のコードが具体的にどう変わるか書いてみてくれない?
2013/03/22(金) 06:54:19.46
>>176
書いたじゃん。
理解できないのか?
2013/03/22(金) 07:01:29.20
>>177
function hoge(x) { x.setMaxLength() = 100; } // 正
function hoge(x) { x.setMaxlength() = 100; } // 誤
ってこと?
2013/03/22(金) 07:06:04.93
178
悪いが、JavaScriptを知らない奴にまで説明する優しさは持ってない。
2013/03/22(金) 07:08:00.09
>>179
いやおれは普通にこういうことだとおもったんだが
x = { val:0, get maxLength() {return this.val}, set maxLength(v) {this.val = v}}
function hoge(x) { x.maxLength = 100; } // 正
function hoge(x) { x.maxlength = 100; } // 誤
x.maxlengthに間違ったら意味無いよね?
2013/03/22(金) 07:13:44.71
ああ、xを実引数にしてhoge()を呼び出すと思ってくれ
2013/03/22(金) 07:16:02.22
>>180
俺の話からそんなコードを想像したのなら、そりゃ話は噛み合わないな。
2013/03/22(金) 07:18:24.28
念のため言っとくが(めんどくさいから、これが最後だよ)、その「正」は
正しくないよ。
2013/03/22(金) 07:18:56.96
コード書けないアホが無理するから...
2013/03/22(金) 07:19:44.91
>>179
>>178はこうか、>>180を意識してたんでちょっと間違った
function hoge(x) { x.setMaxLength(100) } // 正
function hoge(x) { x.setMaxlength(100) } // 誤
2013/03/22(金) 07:25:16.82
>>180-181は実際に動作することを確認済み
いまどきjavascriptのsetter/getterって言ったら>>180だろ
2013/03/22(金) 07:29:28.53
実際にコード例を示さない奴が偉そうだなw
2013/03/22(金) 07:39:45.43
>>186
俺のレスをちゃんと読んでるか?
maxLengthをプライベート変数にし、と俺は言ったぞ?
2013/03/22(金) 07:55:08.80
>>188
>>180はmaxLengthをプライベート変数(=val)にしてるだろ?
少し日本語不自由じゃないの?具体的なコード書けば勘違いされないのに
2013/03/22(金) 07:56:57.88
さすがに今時全部x.setMaxLength(100)みたいにしろとかありえないんでseal()が導入された
2013/03/22(金) 08:04:07.38
>>189
x = {var maxLength;}

>>190
俺の感覚だと、sealしたインスタンスを戻すFactoryメソッドを定義して、それを使うのを
ルール化するというほうがもっとあり得ないんだけど、最近じゃseal使うのが流行ってたりするの?
2013/03/22(金) 08:05:45.83
>>191
>x = {var maxLength;}
文法エラーです
レスを投稿する