最近 Unity を触ってみている。
「使ってみた」的な記事が流行したのはもう何年も前の話で、そろそろ Unity を使うのは「ゲームプログラマなら当たり前」になりつつある。
でも、僕は仕事柄、興味は持っていても Unity に触る機会が無かった。
ゲームプログラマじゃなくて、WEB プログラマだったから。
セガ時代に一緒にゲームを作った友人と会うと、「Unity やらないの?」的なことをたびたび言われた。
そいつも今はゲーム以外の仕事をしているのだけど、時々無性にゲームが作りたくなるので、なんか一緒に作ろうよ、って。
僕もゲームを作りたいと思うことはあるのだけど、なかなか暇がないのだな。
それで Unity に興味はあっても、手を出せずにいた。
でも、先日書いたように、仕事にしていた柱の一つを辞めることにしたので、少し時間に余裕ができた。
元々時間比率は少なくなっていたので、それほど暇になるわけでもないのだけど、ちょっと気になっていた Unity をインストールし、触り始めてみたというところだ。
ファーストインプレッションとしては、「売り物品質のゲームを作れる Scratch」というものだ。
Scratch は「あんなの本物のプログラム言語じゃない」と強烈な拒否層がいる環境なのだけど、Unity を使ってみた第一印象は Scratch と凄く似ている、というものだった。
これは、Unity を低く見ているのではないよ。
僕は Scratch を非常に高く評価している。
それが、結構多くのプログラマに支持されている Unity と類似だということに感心したのだ。
Unity は絶賛している人も多いのに。
Scratch は拒否感を持つ人も多いのに。
でも、両方使ってみると、非常によく似ていることがわかる。
どちらかといえば、Scratch で批判されている部分…データ調整だけでそれらしい形が作れてしまうので、「あんなのプログラムじゃない」と言われる部分を、さらに推し進めたのが Unity 、という言う印象だ。
とはいえ、どちらかが真似をしたというようなものではなく、自然な流れだと思う。
あえて言うなら、NeXT の Interface Builder とか、Win3.1 のころの VisualBasic が源流にあるだろう。
VB などは、GUI 時代の「アプリケーション」を作りやすいようにした環境だったのだけど、それをゲームに特化し、用途を限定することで扱いやすくしたのが Scratch と Unity 、という感じ。
どちらも、時間管理の概念をシステムで持っていて、個々の要素について、独立して「時間による変化」をプログラムしていけば、全体を構成できるようになっている。
もちろん、ゲームを「作りやすいように」特化したというだけで、ゲーム専用ではない。
画像表示を伴うインタラクティブなものなら守備範囲。
これって、結構応用範囲が広い。
とはいえ、まだ本当に「触ってみている」程度の段階。
せっかくなので、3Dでいくつか試作して、動作と「プログラミング作法」に慣れてみた。
最初はピンボール的なものを作ろうとして、3Dのモデラが無いと曲線などが作れないことに気付いて辞め、ビリヤードに変更した。
ビリヤードも、ちゃんとしたものを作るのは難しいので、適当に玉ががんがんはじかれているのを見て「気持ちいい」って感じただけ。
普通の言語で、物理エンジンを利用した3Dプログラムをしようと思うと、たとえライブラリを使っていてもそれなりに面倒くさい。
Unity なら画面を見ながらパラメーター設定するだけで、大体の枠組みが出来上がってしまう。
後は、どうしても必要なプログラムをちょっと作るだけ。
で、適当にゲームにもならないものを作り散らかした後で、やっぱり僕は2Dゲームのほうが好きなので、コラムスなど作り始めてみている。
本当はこれが完成してから「Unity いじってみた」って記事を書こうと思っていたのだけど、本格的に作り始めたら、やっぱりすぐには完成しない。
Scratch よりも若干生産性が落ちる感じだ。
もっとも、Scratch は不得意な処理を書く際にはとことん面倒くさいが、Unity 環境のほうが不得意部分が少ない。
生産性が落ちるのは、単に「あれもこれもできてしまうので、あきらめどころがわからなくて頑張ってしまう」結果による。
なお、コラムスが完成するかどうかは不明。途中で飽きるかもしれない。
まぁ、僕にとってはコラムス作るのは Hello World みたいなもんなので。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |