こたつにっき

Unityで遊びつつメモとか書きます

Unity1週間ゲームジャム「Space」に参加しました

Unity1Weekのおかげで何とか1ヶ月に1個記事が書けています。

こたつの守(かみ)です。

 

今回もunityroomさんの1週間ゲームジャム、Unity1weekに参加したので

どんな感じだったか書いていきます。

 1週間ゲームジャムとは月曜に発表されたお題からゲームを作り、

日曜の夜までに完成させるというとても楽しい(苦行)イベントです。

 

僕が作ったゲームはこんな感じです。

相手の太陽に向けてを撃ち出し、先に破壊した方が勝ち!(何故かデモプレイで負けてる…)

f:id:kotatu99:20171122193727g:plain

SpaceStarShooter | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

プレイしてね!

 

過去のUnity1week参加レポはこちら

それでは開発の足跡を辿ります。

イデア出し

お題発表が14日だった訳ですが、僕は前日の日曜日デジゲー博を観に行ってお疲れでした。

なので月曜日の進捗はありません。ついでに火曜日も進捗はありません。

CoDの新作をやっていた気がする…

 

お題の「Space」をぼんやり頭に入れて気がつけば水曜日です。

今回、僕にはある目標がありまして、ちょくちょくゲームジャムの感想で書いたりしてるんですが

それはゲームの画面を(この文字がもうダサい)すること!

 

何でこう思うようになったかと言いますと、まずこちらのゲーム画面見て下さい。

f:id:kotatu99:20171122200532p:plain

夏の花火 彗星の夜 | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

青木ととさんが前々回Unity1weekで作られたゲームなんですが、

ですよね?

何ならもうApp Storeのトップ画面に出てくるような雰囲気出てますよね?

 

で、続いて僕が作ってたゲーム

f:id:kotatu99:20170627173418p:plain

積み将棋 | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

はあ・・・

 

ため息しか出ませんよ。

いや、ゲームの中身はそこそこ面白いんですけどね?(自画自賛)

3:7ぐらいで面白さに関しては負けてますが、

グラフイックに関しては3:700ぐらいの差がついてしまいました。

 

 そういう理由で今回は青木ととさんのエモグラフイックに近づけるよう試行錯誤をしていました。 

実際やったのはご本人の記事を参考にしただけなんですけどね。

qiita.com

 

このPost Processing Stackという神アセットを使えばいい感じになるそうです。

実際いい感じになりました。神。

assetstore.unity.com

 

お題の「Space」要素として引力を導入し、

星を飛ばすプロトタイプを作りました。

f:id:kotatu99:20171122201834g:plain

この星のブラー(発光)分かりますか?コレが欲しかったんです。

f:id:kotatu99:20171122202217p:plain

 青木ととさんのゲームと似てる気がしないでもないですが、(花火を星に変えただけでは…)

これはリスペクトです。

ネットワーク要素

次に以前からやりたいやりたいと思って中々面倒で手を出せなかった

ネットワーク要素をついに実装します!

 と、言ってもリアルタイムで対戦とかそういうものではないのですが…

 

今回は1対1で星を設置し、目標に向かって射出するゲームとしました。

なので、敵側の配置を同じプレイヤーの配置から選出されるようにします。

 

自分の星: 敵の星:

f:id:kotatu99:20171122204425p:plain

 射出コース設定

f:id:kotatu99:20171122204753p:plain

この自分の配置とコースの設定が、

どこかでこのゲームをプレイするプレーヤーの敵として出てくる訳です。

NCMBの設定

最初はGoogleのデータベース、firebaseを利用しようと思ったのですが、

iOSAndroidしかUnitySDKが無く、webGLで出来なさそうだったので(出来るのかな?誰か教えて下さい…)

 

調べてみると、ニフティクラウドなら出来るらしい!

そういえば昔OSCでニフクラの人にUnityで使えると教えてもらったな…

みたいな事を考えながらNCMB(ニフティクラウド mobile backend)の採用を決定!

 

ランキングの例があったので、そちらを弄って…

[Unity]NCMB REST APIを叩くぞ!(WebGL向け)|杏z 学習帳

github.com

 

こんな感じのデータがリアルタイムで来るようになりました。

posx,yがプレイヤーの設置した星の位置、vecx,yが射出方向(ベクトル)です。

f:id:kotatu99:20171122205955p:plain

ただ、データの構造を例えば

StarListの中にstar1{pos_x,pos_y,vec_x,vec_y}みたいな形にしたかったんですがデータは1次元配列しか出来ない…?

みたいなので星全部のx座標の配列,星全部のy座標の配列...みたいになっています。 

UniRX導入

もう一つの新しい試みとして、いいぞいいぞとは噂に聞いていた

UniRXを使ってみました。

assetstore.unity.com

 

難しいかな〜と思ってましたが大体ドキュメントととりすーぷさんの記事を見ながらやれば大丈夫でした。

qiita.com

 

使って見た感じ、いいですね!

今まで状態に応じてUpdateの処理変えるときは当然Updateの中に分岐を書いてたんですが、

それを別々に書いたり、あるいはゲームマネージャーの中のStateをUniRXで見ておいて、

変更時に何か処理をしたりと言った事が出来るのでいいです!

 

先日配信された「どうぶつの森 ポケットキャンプ」に採用されるだけありますね!(宣伝)

 

ただ、複数人チームでのゲームジャムとかだと処理が混乱するかも知れませんね…

中々全員が使えるとは思えませんし…布教しておけば大丈夫かな!?

 

完成

学園祭と期間が被っていた事もあり(言い訳)最終日締め切り1時間前に駆け込み提出しました!セーフ!

タイトルも3秒で考えました。「SpaceShooter」だと絶対被るだろ!と思ってたら案の定被ってたので

「SpaceStarShooter」とSを一個追加しておいて良かったです。略称はS3です。

f:id:kotatu99:20171122193727g:plain

SpaceStarShooter | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

プレイしてね!

 

感想

とにかくラスト2日での追い込みで完成まで漕ぎ着けたので、

ボリュームが足りないわチュートリアル無いわタイトルロゴないわと散々なんですが、不思議と満足感があります。

それは映像がちょっといい感じだから。

 

そろそろ一発当てたい欲も湧いてきたので、

今までのUnity1weekでの成長の成果を見せていきたいですね。

 

今までに作ったゲームはこちらから↓

kotatu_km | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

それではまた!

次はアドベントカレンダーかな?