私の好きな事

放置がどうこう言ってた割に、Twitterを始めてからなんだかんだ言って素直につぶやいてる私が居るわけです。
まぁどうせほとんど読まれることはないんですけどw、アニメとか観てて思ったことをそのままblogにするのはパワーが要るし、その時その瞬間に思ったことってやっぱりネタにしにくいんで、そう言う意味ではTwitterって気楽で良いですね。
ま、そういうのは実況スレでやれって話なんでしょうけどw
基本的に録画で観てるんで実況は無理なんですよね。
仮にリアルで観てても多分行かないですけど。


閑話休題。
そんなTwitterで先ほど興奮してつぶやいてたんですがw、その内容というのはニコニコである動画を観てたんです。
それはこれ。



2chまとめサイトでこんな記事があって、1時間超もある動画だったんですけど興味あったんで観て見たんですよね。

で、観た感想ってのはTwitterでも観てもらえれば分かるとは思うんですけど、個人的には感動した訳ですw
ちなみにプログラムについての知識が無い人、あってもJava・PHP程度しか分からない人には暗号でしかないと思うので、その場合あまり感動できないでしょうから観なくて良いと思いますw
あ、仮にCが分かってもWindowsプログラミングをやってない人は、WinAPIがさっぱりだと思うので、それもやったこと無い人も観なくて良いと思いますw
ま、条件を満たす知り合いは一人も思い当たらないんだけどw

と言う訳で、この動画は色々と思い出すんですよね。
私は10年ほど前はゲームの専門学校に通ってて、ゲームプログラムを学んでました。
その時に使ってた環境と言うのがVC++とかで、Windowsプログラミングをやってたんですよね。
なので、動画中に出てくるWinAPIがメチャクチャ懐かしかったです。
しかもほぼCのみで書いてる(CとC++の違いは素人には説明しづらい)のもゲームプログラミングらしいというかw
私自身、基本的にFORTRAN>Cと来てる人間なので、関数バンザイ思考だからってのもあるんですが。

特に感動したのは、このテトリスの肝とも呼べるブロックの定義の仕方についてですかね。
この部分が一番論理的思考ってのを表してる気がしますね。
というかテトリスのアルゴリズム、って感じになるのかな。
あの定義で全てが決まってるし。

後は行列の回転
これに尽きますね……
専門学校時代の私のトラウマです……w
普通科じゃなかった&大学行ってない、な私には数学a~cなんてのはやってないわけで、その辺りの範囲はサッパリなんですよね。
で、ゲームって基本的に画像なりの描画になるわけで、これには表示座標を弄くる必要があるんです。
なので、実はゲームプログラムってのは数学がバリバリで、プログラマーの癖に数学が大嫌いな私には受け付けなかったんですよね。
そういった部分も思い出しちゃったんですけど、今思い返すともうちょっと頑張ってやってれば違う道もあったのかなぁ、って思っちゃう自分もいたり。
まー、基本的に努力と言う事が大嫌いな人なのでw、何度やり直してもそんなことにはならない気もしてるんですけどw

今更Windowプログラミングをソラから書くなんてめんどくさい事やる気がしないけど、この動画を見て改めて思ったのは、あぁ私は本当にプログラミングと言う事が好きなんだな、ってのを再認識した訳です。
ちなみに、本来であれば私もこの程度は作れないといけないんですけどねw
その辺はAPIとかを覚えてるかどうかの差になっちゃいますかね。
フローは自分でも想像はつくので、頑張れば出来るとは思うけど、1時間じゃ無理w
とりあえず最近仕事でも碌にコーディングしてないから、コーディングできるような仕事をしたいなぁ……


ちなみにこの動画を上げた人は、インタビューを読む限りじゃホントメッチャ凄い人なんですがw、その記事を読んでて凄く共感した事。

──プログラミング初心者にアドバイスをいただけますか?例えば,お薦めの言語は?


時代遅れの感もありますが,私としてはC言語を薦めたいですね。やっぱり仮想マシンの上で動く言語ではなくて,メモリーやハードウエアを意識するプログラミングの経験は重要です。今もときどき母校(麻布学園)のパソコン部に行くのですが,みんな最初はストイックにコンソールのC言語からプログラミングをしています。そういう環境だと実力が付くと思います。 ただ,C言語で面白いものを作れるようになるまでのステップは長いので,RubyやPythonから入るのもよいのではないでしょうか。


あとは他人の書いたソースコードを読むのがいいと思います。昔使っていた「VZ Editor」にはソースコードが付属していたのですが,これは非常に勉強になりました。また,昔,「Bio_100%」(注:ドワンゴの母体となったゲーム・クリエイタ集団)が公開していた「gr.lib」というライブラリがあって,このライブラリで「page = 1 – page」といったコードを知りました。pageの値の1と0を切り替えるコードですが,自分ではなかなか発想できないですよね。


これはもうホント禿げ上がるほど同意ですね。
私も全く同じ事を他人に言ってましたw
Cは難しいけど、この人の言ってる通りメモリーやハードを意識して書く事を一番学べるのはやっぱCだと思うから、ホント始めに触る言語としては本来これを推したいですね。
Javaとかはホントなんでもやってくれすぎる……それがJavaの利点でもあるんですけど、最初に触る言語としてはやっぱ間違ってる気がしなくも無い。


で、興奮して書いたのは良いけど、どう考えても理解してくれる人g(ry
とはいえ、ねぎとかには見せてやりたい記事だなぁ……w
メールでも送っておくかしらw