Unity初心者がランゲームを作る 1#そうだ、クソゲーを作ろう

Unity

皆さんはゲームを作りたいと思ったことありますか?

unityはゲームやVRを作れるめっちゃ便利なツールです。

unityって何?って人はこちら。

Unityとは何か?ゲーム制作の始め方
突然ですが皆さん、Unityをご存知ですか? プログラミングに馴染みのない方にはあまり聞きなれないかもしれませんが、実は多くの人はどこかでこのロゴを見ているはず。 あなたはスマホでゲームをしていたりしないですか? 実は、今流行りの...

 

僕はITフリーランスを目指していて、このunityを勉強中です。

そして今、ちょっとしたゲーム制作に挑戦してます!

 

実はもうある程度形はできているんですが・・・

よし、始めに現時点の開発段階を見せましょう!

こちらです!

 

まだ未完成ですが、制作過程をこれから記していこうと思います。

unityが分からない人にもできるだけ分かりやすく説明するんで、温かく見守ってください~。

 

どんなゲームを作ろう?ランゲームを選んだ理由

僕はUnityの練習用に、玉転がしシューティングゲームを作ってました。

こういうサイトのコードを写経しながら、Unityの基本に慣れていくまでは良かったんですが

【Unity 入門】【チュートリアル】玉転がしゲームを作る - コガネブログ
はじめに Unity では、玉転がしゲームを作成するチュートリアルが 上記の公式サイトで公開されていますが 英語で紹介されている関係で、できない方もいると思うので、 このブログで日本語に翻訳したモノを紹介していこうと思います また、このチュートリアルでは、 まずは玉転がしゲームを Unity で完成させること、を目標に...

 

これらのサンプルから応用してオリジナルのゲームを作ろうとしたんです。

ですがこれがどうも・・・

 

パッとしない。

 

いや、作ってる側は凄い楽しいんですよ。

でも、プレイする側にとって面白いゲームってなかなか難しいです。

かといって本格的な3Dアクションゲームは作るのに時間がかかるし、初心者の題材としてどうなの?っていうのがあります。

 

そこで僕が目をつけたのが、

ランゲームです。

 

ランゲームとは、キャラクターが自動で前進するゲームです。

ジャンプしたり左右に移動したりして敵を避けるゲーム性を持つものが多いですね。

 

おすすめのランゲームとしては、

言うまでもなく有名な任天堂の「スーパーマリオラン」

https://itunes.apple.com/jp/app/super-mario-run/id1145275343?mt=8&ign-mpt=uo%3D4

ベースは2Dアクションですね。操作のしやすさにこだわりが感じられます。

 

「Temple Run」

【Appliv】Temple Run: Classic
手に汗握るアドベンチャーが楽しめるラン&ジャンプゲーム| (1)スピード感がありスリリングなレースを楽しめる (2)コインを貯めてキャラクターをパワーアップ出来る

典型的なアドベンチャータイプのRunゲームですね。いいお手本です。

 

そして「ホワイトトリップ」

‎ホワイトトリップ -White Trip-
‎「White Trip」は 光り輝く鳥になって 冬の空を飛び回る エンドレスランゲームです。 【 遊び方 】 画面をドラッグして鳥を飛び回らせてください。 画面を触っている間、鳥は前に進みます。 気をつけることは2つだけ ・輝く動物達に接触して、自身の光を絶やさないように ・黒い鳥や建物にはぶつからないように気をつ...

鳥になって飛び回るちょっと変わったRunゲームですね。

めっちゃ幻想的な雰囲気で癒されます!

 

ランゲームは作りは単純だから作りやすいし、プレイする側にとっても短時間で楽しめる。

しかも工夫のしがいが色々ありそう!

 

決定です。

 

どう工夫したらランゲームは面白くなる?Unityで試行錯誤の過程

コライダー で敵を吹き飛ばす

さて、それではどんなランゲームにしましょう?

単純に敵を避けるゲームだと少し味気ないし、剣とか魔法で敵を倒すのはありふれてる。

 

そこでまず、ジャンプしたら敵がふっとぶ仕様にしました。

 

足の近くに「コライダー」をつけて衝突判定を行ってます。

Unity - マニュアル: コライダー
あなたの作品をどこへでも!Unityはゲームやグラフィカルなアプリケーションを開発するための最高の開発環境です。Unityで作れば、Webブラウザ、Windows, Mac OS X, iOS, Android, PlayStation 4やWii U, Xbox Oneなどのゲーム機、さらに多くの幅広いプラットフォー...

コライダーはunityにおいてキモとなる演算処理で、様々なイベントが実行可能なので習得するべきですね。

分かりやすく言うと、コライダーという箱に別の箱がぶつかった時に、何が起こるのかを自分で決められます。飛んだり跳ねたり、ダメージを受けたり。

プレイヤーの周りにある緑のボックスがコライダー です!

 

さて、ただコライダーをつけたままだと走ってる時も敵をふっとばしてしまうので、仕様を変えます。

まずプレイヤーの足元にもうひとつコライダー(KickPoint)を追加します。

そしてコライダーを通常は非表示にジャンプした時に、コライダーが出現するようにスクリプトを書きました。

スクリプトの一部だけなんで参考にならないかもですが。

 

Jumpという関数が呼ばれた時に、地面に接していたらy方向に移動し、アニメーション(ジャンプ)を呼び出す、と言う命令を指定してます。

さらに今回追加したコライダー (KickPoint)をオンにする、という命令を加えました。

普段はオフにし、ジャンプしたらオン、着地したらオフ、のサイクルです。

これでジャンプした時だけKickPointが動作するようになりました!!

 

正直スクリプトについては説明するときりがないんで、分からなくても軽く読み飛ばしてくださいね〜。

 

Unityランゲーム&爆発の発想

このままでも見た目的に面白いですが、何度かテストプレイしているうちに色んなことに気づきます。

敵と敵がぶつかり合うのを見たんですね。

そしてある発想が浮かびました。

 

敵と敵がぶつかった時に爆発したら面白いんじゃね?

 

敵と敵がぶつかった時に爆発のエフェクトが発生するようにセット。

 

そして出来たのがこちら。

お!

 

なんか良いぞ!

 

何というか

 

クソゲーっぽい!!(良い意味で)

 

何故爆発するのか?っていうのは別にいいんです!

理由は後からつければいいんですから。

 

何故かは分からないけどなんか面白いぞ!っていう“直感”は、クリエイティブ全般で一番大切なものです。

さて、こうしてある程度形が整って来たのが今の段階です。

 

このゲーム性をベースに色々肉付けして行きますよー!

回復アイテムやパワーアップアイテムの導入、レベルアップシステム、無敵状態、ボスエネミー、難易度の変更などなど。

今想像するだけでもやりたい事いっぱいあります!

 

いや~ワクワクして来ますね!!

皆さんもUnityに少し慣れたら、是非オリジナルゲームの作成にチャレンジして下さいね!

自分だけのゲームを作るのは最高に楽しいですよ!!

 

その2はこちら!

Unity初心者がランゲームを作る 2#アニメーションでカウントダウン
※この記事は連載2回目になります!第1回の開発記はこちら! どうもみなさんこんばんは。エリンギです。 前回でランゲームのベースを作ったのはいいんだけど、いきなりキャラクターが走り出すのは突然感を感じませんでしたか? え?感...