2/4(金) 3Dプログラミング

 今週はゲームデザインの授業の課題に追われていた。C#で3Dのキャラクターを動かすという初歩的なものだが、プログラミング自体まだ不慣れなので、何をやるにもいちいち時間がかかって、毎日3時間以上コンピュータラボにこもって作業をしていた。先学期Javaでアプリケーションを作る課題をやっていた時はわからない状態がしばらく続くとうんざりして降参していたのに、この3Dの課題は難しくても夢中になってやっている。


 自分のスキルがややあがったおかげもあるのだろうが、グラフィックを加工して、キャラクターのアニメーションを制御するというのは、データベースのようなそっけないものを作るよりも格段に興味をひきつけられる。講師のMagyは、私が考えれば2時間以上かかるような問題を、うふふとか笑いながら3分で片付けてしまう。バグの発見のためのスクリプトの使い方とか、その作業を横で見ているのが非常に勉強になる。わからなくて質問すると、彼女のヒントの与え方がやや難しくて、自分のいるレベルからだと解決法を見つけるのにすごく試行錯誤が必要になる。知恵を絞りに絞ってようやく思い通りにキャラクターが動いた時にはなかなか感動ものである。ステップバイステップで苦労無しに学ぶよさもあるけれど、それは課題の性質によりけりで、いつも楽に学べるのがよいわけではない。操作法などの手順的なものは答えを与えてその手順に沿うような教え方でよいのだけど、問題解決思考の訓練はある程度ステップの段差を設けて、学ぶ側に負荷をかけた方がよいのだなと理解した。
 課題の方は提出日に6時間も時間をとられたが、何とか提出し終えた。次はUnreal Tornamentのエディタを使って、いわゆるMODゲームを作る。何とかくらいついて行って、簡単な自作ゲームが作れるところまでたどり着きたいものである。Flashでチュートリアルやゲームを作るのは手に負えそうなのだが、スクリプトがしっかり書けるところまで行かないと、それもたいしたものではない。そのレベルでとどまるか、もう一歩進んで3Dエンジンでゲームを作るところまで抜け出せるか、この数ヶ月のがんばりにかかっている。この時期を逃したらもうさすがにこんなにみっちりプログラミングを学ぶ機会は作れないだろうから、ここはちょっとしたキャリアの分かれ道である。