2013-01-10

ゼロから書く経験 ゼロから書く経験 - Nao_uの日記 を含むブックマーク はてなブックマーク - ゼロから書く経験 - Nao_uの日記 ゼロから書く経験 - Nao_uの日記 のブックマークコメント

平山 尚@hirasho

「最初の一行を書ける奴は少ない」という言葉が事実であることを知った。みんなそんなにゼロから書く経験ないのか...

積極的にゼロから書く経験を積ませないとダメだ。そこができなくても仕事はできるが、できる仕事が制限されすぎるし、仕事の質にも問題が出る。

逆に言えば、ゼロから書けなくても仕事ができる、ということがどうにも理解できないんだけどな。そういう人の仕事ぶりを後ろで丸一日眺めてたらわかるんだろうか。今度やろう。

S9 Hiyoko@DPHiyoko

今は何もかもライブラリ任せだからなー、超少人数(個人開発レベル)の小粒なプロジェクトでもなければ低級APIから書くことは稀なのも確か

ライブラリとか開発環境の整備が進んでる現代では、ゼロから書ける必要があるのはライブラリ班ぐらいのもの。リードプログラマでさえ怪しい。それ以外の人員はありあわせの機能で開発に「寄与できてしまう」から、ゼロから書く経験を積む機会なんて滅多に与えられまい。

とはいえ、仕事で使う時でも、深い部分になると車輪の仕組みをちゃんと知っておかないと困ることも。可能であれば、既存の車輪を使うにしても原理的には自分でも実装できる、くらいの知識を持てるようにはしておきたいところ

ゼロ地点の定義 ゼロ地点の定義 - Nao_uの日記 を含むブックマーク はてなブックマーク - ゼロ地点の定義 - Nao_uの日記 ゼロ地点の定義 - Nao_uの日記 のブックマークコメント

ひげねこ@技@HigenekoTech

まずはゼロ地点の定義が曖昧なのでは?ゼロからゲーム開発するとかいって、Visual Studio起ち上げてDirectX使ってというのがゼロと定義すると、マシン語入力エディタから作ってたよとか、電子部品組むところからだよとか言う人が居そうですし(汗)

確実に言えるのは、今時の大規模開発ゲームだと、ハードレベルからゲームプレイはもとより、DCCツールの流れ、ビルドシステム、更にはサーバー部分に至るまで一人で理解できる、しろってのは無理、っていうか無謀な話ですよね


極論ではあるけど、プログラマにとっての理解が必要なゼロ地点は突き詰めると状況に応じてどこまでも下層に下がって行く必要があるので、定義しづらいものではありそう。できればVC+DirectXあたりをゼロ地点として定義したいところだけど、

アプリの不具合の原因を追うとゲームエンジンの問題で、それを調べるためにエンジンのソースを見たら実はコンパイラのバグが原因だったり、コンパイラの吐くコードは正しいのにハードウェアのバグが原因だった、みたいな事もあり得るので必要に応じてどこまでも下に追えるだけの理解が必要な場合も。

コンパイラ以下を無視しても上層のアプリまでの積み上げの規模が大きくなりすぎてて、それぞれの理解レベルの細分化が進んでるのは良くない傾向に思ってる。サーバやネットワークが絡むとさらにややこしい。「誰一人として全容を把握してない」ものを作ってるのって感覚的になんだか気持ち悪く感じてる。

ひげねこ@技@HigenekoTech

結局、何がしたいのか?という目的を決め、それに合わせて現実的な方法を選択しましょうという至ってシンプルな回答になってしまうと思います


そのような個々の人間の能力を超えた複雑さを持った大規模な構造物を破綻なく作り上げる事ができるのは、これまでに積み上げられてきたソフトウェア工学の成果で、それを実現するのがエンジニアリングの醍醐味なのかもしれないけど、ふと振り返ってみると、ゲームってそういうものだっけ?と思わなくもない

ゲーム開発のハードウェアとソフトウェアの区別が無かった時代の人から見れば、大昔にハードとソフトが分業した時点で大幅に複雑さが増してるんだから、そのときの断絶と比べれば間にミドルウェアの層がもう一個増えたくらいは大した差ではない、とか考える事もできるのかな

『アニメとかロケットに限った話でもなく』 『アニメとかロケットに限った話でもなく』 - Nao_uの日記 を含むブックマーク はてなブックマーク - 『アニメとかロケットに限った話でもなく』 - Nao_uの日記 『アニメとかロケットに限った話でもなく』 - Nao_uの日記 のブックマークコメント

近年のロケット打ち上げ失敗が多発している原因として「複雑化が進んでそれぞれのメンバーが専門分野の中に閉じこもるようになったため、分野間を横断して全体を見られる人がいなくなった」という話があった。

ファミコンや8bit国産パソコンの頃は数ヶ月で1本、アーケードもつい最近まで格闘ゲームなんかは3ヶ月で1本なんて当たり前だった。そんな状況だと先輩がイッパイイッパイだったときには後輩にも活躍の機会が与えられることもあって、貪欲な人であれば実践で痛い目見ながら勉強することができた。

規模の増大に伴って個々の技術者が専門家として高度なことをできるようになった反面、自分の専門分野しか理解していないために他セクションとの連携部分での問題が起こりやすくなったり、横断的にプロジェクト全体を見てバランスよく問題を発見できるような人材が減ってしまったのが原因ではないか

6年くらい前の日記から。書いてある内容は今と大差ないけど、あの頃からさらに規模が大きくなってるなぁ、と実感。