2013年08月19日

料理とプログラミング

お久しぶりです、コウスケです。
暑い晴れ日が続きますねたらーっ(汗)先日この暑い中京都の山を登りに行ってみたのですが、
登山道にたどり着くまでの間に体力が尽き、
途中の神社をお参りして帰ることになりましたバッド(下向き矢印)
暑さと加齢による体力低下を舐めてはいけませんね・・ふらふら

***


さて、私は趣味と実益(というか生活上の必要性)とを兼ねて料理レストランをよくする
のですが、プログラミングと料理ってものすごく似ているなあ・・
と思うことがよくあります。

それは、「ものを作る」という大きな意味での共通点はもちろんあるのですが、
その目的にいたるまでの方法論であったり、概念であったりに通じるものがあると思います。

料理の方をベースに考えると、方向性としては、
(A)手間とコストをかけても、とにかく美味しいもの・オリジナリティがあるものをつくる
(B)手間とコストは適度に抑えつつ、適度に美味しいものをつくる
という2つの方向性があります。

カレー作りを例にしましょう。
最近の市販の既製のカレールーはとても美味しいのですが、それ以上のもの、
あるいはオリジナリティを求めるなら、やはりカレー粉を炒めて
ルーづくりというところから始める必要があります。
さらにこだわるなら、ターメリックやクミン、コリアンダー等スパイスを調合して
独自のカレー粉ブレンドを追求するかもしれません。
本当に美味しいもの、特にオリジナリティのあるものをつくるには、
そこまで要素を分解していかないと実現することはできません。

こういった作業は手間はかかるものの、だからこそ楽しいものであり、
料理の醍醐味といえる思いますわーい(嬉しい顔)

一方、毎回毎回カレー粉炒めから・・となるとさすがに手間で、
毎日のことなら尚更です。
また、毎回同じようには出来ないので、味にブレが出てきてしまいます。
そこで、市販のカレールーのような既製品を使うことができます。
最近のルーは非常に完成度が高いので、十分満足できるカレーが出来ますし、
短時間で完成するので、ものを作るという満足感を味わえますグッド(上向き矢印)

そんな私も一時期カレー粉からの手作りに凝ったりもしましたが、
やはり面倒なことは長続きしません。
最近はやはりカレールーを使い、そこからプラスアルファでいかに
美味しく出来るかに注力しています。

これをプログラミング、ひいてはゲーム開発に置き換えると、
市販のカレールーは、ゲームエンジンミドルウェアにあたるの
ではないでしょうか。
さらに、それらを作って売る人、そしてそれらを使ってゲームを作る人
も出てくるわけです。

(A)の方向性は昔ながらの職人的な作り込みに相当するものと思います。
いくらゲームエンジンやミドルウェアが発達してきたといっても、
製品のオリジナリティを出そうと思ったら、核となる部分は手作りに
ならざるを得ません。

プログラマのお仕事を始めた頃などは、(A)のように全てを手作りで作りたい、
という感覚があると思います。
ですが、実際のお仕事では、(B)のように手間やコストを抑えつつ、
その分で製品の完成を高めていくということも非常に大事です。

目的のゲームの開発にあたって、適切なゲームエンジンやミドルウェアの選定は
開発工数、出来に大きく作用し、その事自体がプログラマの能力ともなってきますパンチ

これらのことは、料理にかぎらず、凡そものづくりと呼べるものの
大半に当てはまるものかと思います。

ゲームプログラマを目指す学生のみなさんも、自分がどういった方向性を
目指したいか、携わりたいか、楽しめそうかということを考えて見ると
良いかと思います。
それではexclamation×2


posted by 管理人 at 18:44 | 日記