2015年03月17日

【Unity見習い】玉転しゲーム

不肖私ゲームを作りたいと思いながら今までスーパー正男くらいしか弄ったことがなかったので、大学の春休み期間を利用して超簡単な何かを作ろうと考えました。

世の中は便利になったもので、テキストエディタでコードを書いてコマンドプロンプトでコンパイルして./a.outといった手間を取らずとも、より直感的にゲームを開発できるような開発環境が幾つも登場しています。

Unityというゲームエンジンはその中でも随分有名でしょう。Unityを一言で言い表すと、「このゲームエンジンは、マルチプラットフォーム対応の2D/3Dゲームを、煩雑なプログラミング抜きに、無料で作れちまうんだ!」というものです。(詳しい説明を書くほどUnityのすべてを知り尽くしていないので、詳しい説明は他をあたってください)


Unityを使ったゲーム制作はとても簡単です。

@起動します
スクリーンショット 2015-03-08 8.22.06.png

Aオブジェクトを配置します
スクリーンショット 2015-03-08 8.24.21.png

Bテストプレイします
スクリーンショット 2015-03-08 8.26.13.png

完成

みごと、画面に立方体が表示されるというシンプルで直感的でイノベーチブなゲームが完成しました。

これはまあ極論ですが、要するにこのオブジェクトにサイズや形を変えたり、プログラムを付けたりすることでそんなことでも出来るわけです。(※本当に何でもできるらしいですが私はプログラミングが苦手なので今の所あまりその恩恵に預かれていないです。)


先日公開した玉転しゲームver0.1はUnityの超絶基本的なテクニックを使うために作ってみたものです。
遊んで楽しいかとかゲームデザインがどうとかは一切気にせずやってます。つまりクソゲーまっしぐらです

Unityの凄みとして、物理エンジンを利用したゲームが簡単に作れるという点が挙げられます。先ほどのように作ったオブジェクトを選択し、Component→Physics→Rigidbodyをクリックするだけで、そのオブジェクトが重力に引っ張られて落ちていくゲームが作れます。というわけでそれを盛大に利用したゲームを作ったわけです。

主人公のボールは、テンキーを押したときにそのベクトルに力が加わるようにプログラミングされています。(ソースコードの内容は参考書からパクったものなので掲載しないでおきます。)
また、ゴールゾーンと床の下には接触判定のみを持ったオブジェクトを配置し、それと主人公のボールくんが触れることでクリアor失敗の判定を行っています。


スクリーンショット 2015-03-01 1.21.28.png

ただ横に進むだけではゲームにすらならないので、回転するパイプを置きました。
パイプの回転は回転角をいじるプログラムを組むことでも実装できますが、今回は勉強のためUnityのアニメーションを使いました。
パイプを選択しWindow→Animation
スクリーンショット 2015-03-17 17.38.43.png

オブジェクトの持つ「変化させたい値」(今回は回したいので角度)についてのアニメーション。横軸が時間を表していて、「ある時間にある状態になっている」と入力すれば、その間の動きは自動的にUnity側で計算してくれるという優れものです。


という感じでとりあえずゲームができました。が、今のままではあまりに不親切なので、もう少し改良をしなければ・・・

というわけでver1.0に続きます。
posted by ueyuki at 17:43| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。