ブラック企業経営者は、全自動プログラミングの夢を見るか
- 「プログラムはもっと簡単にできる」 http://d.hatena.ne.jp/shi3z/20150121/1421861054
ああ,もうこいつは....毎回似たような糞ネタを.やれやれ.
しかしゲームにはそもそももともとの「文法」が存在するので、自機には「自機」というブロックなりタグなりでアノテーションをつければ、そこから自動的に「敵または敵の弾に当たると死ぬ」という性質が付与されるべきだというのです。
同様に「敵」には「敵」というアノテーションを付けると、自動的にそれが敵として振る舞うようにすべきだと。
正直この指摘は目からウロコでした。
インベーダーのパクリゲーを作るならそれでもいいけど,それでゼビウスやスペースハリアーを作る時はどうすんの?
仮にそういう「シューティングゲームツクール」を作って,それでパクリゲーの作成は簡単になっても,プログラマとは「シューティングゲームツクール」を作る人のことであってパクリゲーのパラメータを決める人じゃ無いと思うよ.*1 つまりこれって、単に難しい問題を「文脈」と称した別レイヤーに丸投げしてるだけで,プログラミングの工数が減ったり難易度が下がったわけではないな.むしろ上がってるかも.
また一口に『敵』と言っても,スペースハリアーの『敵』とスーパーマリオの『敵』は違うし*2 *3,人生ゲームの『敵』とモノポリーの『敵』だって違う.*4 チェスの『敵』と将棋の『敵』だって違うな.*5 *6 テトリスや「ぷよぷよ」なんかの落ち物ゲームの場合は,落ちてくるコマは敵か味方か?
各ゲームごとに異なるそれぞれ固有の『文脈』はあるかもしれんけど,
- 新しいゲームの企画を出す.
- (プログラマーが)その企画に必用な『文脈』の仕様やアルゴリズムをデザインする.
- (プログラマーが)今まで以上に苦労して『文脈定義』をプログラミング,テスト,デバッグする
- 完成した『文脈』プログラムを使って,(素人が)パクリゲーのパラメータを弄くる
という段階に分けられるだけ.
そして,肝心の『文脈』をデザインしプログラムする方は簡単になってないということを,この糞記事を読んで感銘を受けるような素人の方々は理解してないんじゃないかな?
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/shi3z/20150121/1421861054
- id:cisumon (安い給料でもっと会社のロボットみたいに働く人が欲しい。だから)プログラムはもっと簡単にできる(と思うから一生懸命勉強してエンジニアになって。)ということなんだろうな。/追記。清水氏からIDコール来た!
こいつの書く記事は,いつもこの結論ありきだと思う.
- id:tadashi_toy なんでプログラミングっていったら、ゲームつくることしか考えないのかね。まず、そこから間違ってる。
しかもレトロなシューティングゲーム限定.
- id:masatomo-m 実装はどんどん簡単になるけど、要件定義や仕様を作る部分は相変わらずなのよねー
- id:pongeponge さわりを教える程度ならいいのかもしれない/一歩踏み込むと奇々怪々な中身を触ることになるけど
- id:ka-ka_xyz "文法"に沿った事は簡単に記述出来るけど、"文法"から外れた事をやろうとすると苦労したりとかそもそも"文法"の範囲外のことを想像する余地を潰すのでは?STGツクールを目指すならそれでも良いと思うけど。
- id:amd64x64 シューティングゲームツクールってのもあったのよ
- id:DustOfHuman ノンプログラムゲーム作りをプログラムって言われても… とは言え、プログラムというタームで何を教えるかは現場によるんだろうなあと思ったりするので普通の人に教えるときは抽象度を上げて局所化するんだろうなと
- id:MARQUE 簡単になればなるほど効率は悪くなるよ?
*1:こんな話もあった.
世にも恐ろしい物語「ゲーム専門学校からみた風景」http://d.hatena.ne.jp/JavaBlack/20111225/p2
*2:横から当たると自分が死ぬ.一回踏んづけると仮死状態になりもう一回乗ると生き返る.仮死状態のを蹴飛ばすと飛んでいって敵をなぎ倒す.障害物に当たると跳ね返り,それに当たると自分が死ぬ.上手く上に乗ると止めることができる.さらに上手くすると1upできるなどなど.簡単に書くだけでもこれだ.
*3:マリオブラザーズとスーパーマリオも違うし,マリオカートの『敵』はさらに違うんだろう.
*5:昨日の敵は今日の友.取ったコマは味方になるとか,敵陣に入ると成れるとか,かなり特徴的だと思う.