Unity1week「密」制作記録

2020年04月27日(月) 00:00 〜 2020年05月03日(日) 20:00 のUnity1Week

「密」

になりました。

今回は参加してみよう。

完成出来るかは未定。

1日目:企画

密、みつ、みつ……mitsu。

どうしよう。

goo国語辞書によると、

[名・形動]  すきまがないこと。ぎっしりと詰まっていること。また、そのさま。「人口が密だ」「網の目を密にする」⇔疎 (そ) 

 関係が深いこと。親しいこと。また、そのさま。「密な間柄」「連絡を密にする」

 きめこまかいこと。細部にわたって行き届いていること。また、そのさま。綿密。「密な計画」「密に調べ上げる」

 こっそりと人に知られないようにすること。また、そのさま。ひそか。秘密。「謀 (はかりごと) は密なるをもってよしとす」

 「密教」の略。

https://dictionary.goo.ne.jp/word/%E5%AF%86/

ということらしいけど。

「密」から何を連想するか。

何か詰めていく感じのゲームがいいかな。

「圧力」が思い浮かんだ。

巷では「密」を否定的なように、「密」にならないようにする感じの雰囲気だけど。

世間のことは気にせずに、どんどん「密」にしていくゲームにしてみよう。

「密度」がポイントになるようなゲームデザインにする。

思いついたことをリストにしてみる。

  • 詰め込むゲーム
  • 周りに逃げようとするものを中に押し込める
  • 2Dのゲームにする
  • 密度が高くなるほど良い
  • 凝縮する
  • ストーリーを入れたい

2日目:プロトタイプ作成1

とりあえず1から作ってみる。

入力処理はInputActionを使う。ちょっと使い方忘れた。覚えては忘れて覚えては忘れて。使いまわせればいいんだけど。

中心を軸にプレイヤーが動くようにする。

2Dをあまりやってなかったけど、向きを制御するだけではまった。

数学やってないから全く分からん。

うーん、いまいち。

広がろうとするのをとどめるようなゲームにしようと思ったけど、これだけじゃつまらないか。

2Dにしても3Dにしても微妙だろうか。絵作り頑張ればそれっぽく見えるかもしれないけど、1週間でどこまで作りこめるか。

3Dの方がモデルは沢山あるから絵作りはしやすいんだけど、重くなったらいやだな。

最初は2Dで制作する予定だったけど、もう3Dでもどっちでもいいか。

ゲーム自体を変えてみる。

中心に集めるっていうのはそのままにして、集め方をパズルのようにしてみよう。

中心に集める動き方の実装は経路探索のアセットパスを作るアセットを使ってみようか。

でもアセット入れるとEditorが重くなるからまずは自分で実装できないか試してみよう。頭の体操とでも思っとこう。

強いPCが欲しい。

3日目:プロトタイプ作成2

GooglePlayで公開するアプリの制作を進めててこっちが全然できなかった。

やばい。

4日目:プロトタイプ作成2

進捗無し。やばい。

5日目:プロトタイプ作成2

やっと時間取れた。作っていこう。

時間無いからアセットばしばし使っていくスタイル。

AstarPathFindingを使ってみようかな。

デモだけでも十分ゲームっぽく見える気がする。

中心にオブジェクトがあって、そこまでキャラを導いたら密度が上がっていくようなゲーム。

集めたらでかくなる。それだけ。別にでかくなるんじゃなくても、とりあえず集めたら何か見た目が変化するような感じに。

見た目変えたいのでAmplifyShaderを入れてみた。

イマイチシェーダー芸は分かんないんだけど。

いまいちっていうか全く。

餅みたいにくっついていくようなシェーダーが出来ないかちょっと試してみる。

ちょっとづつ出来てきたけど、イマイチ。

やってて思ったけど、確実に一週間じゃ無理な気がしてきた。

遅刻確定か。

6日目:プロトタイプ作成3

良い目覚めだった。

作っていく。

くっつき方がらしくなってきた気がする。

テクスチャが伸びてしまっているのを直したい。

でも、慣れてないことをやり始めたらそれだけで終わってしまいそうだ。

ゲーム自体の方を作っていこう。

経路探索使ってカーソルを追っかけていくような感じにする。

誘導してセンターに集める。

障害物をよけながら中央に集める感じにする。

実装方法について考えてみたけれど、特にアセットを使う必要もないかもしれない。

マウスを追っかけるだけなら簡単に出来る処理だし、コライダーを付ければものに引っかける処理も作れる。

Unityの処理だけで、簡単に実現できないか確認するべきだった。

細かい動作までは追及せずに大雑把に作っていく。

狙ってるイメージに近づいては来たんだけどいまいち。

絵作りに対するセンスの無さよ。

テクスチャが伸びているのを何とかしたいんだけど、いまいちやり方が分からず。

もうちょっと時間があれば調べてみるんだけど。

先にゲームとして完成させないと。

ゲームスコアのスクリプト書いてて思ったけど、無条件にMonoBehaiviourを継承したクラスを作る癖がついてる気がした。

Updateの処理が必要であればMonoBehaiviourを継承させた方が良いだろうけど、Startとかでしか呼ばないんなら別にいらないか。

Disableとかゲームのメッセージを受信したいときもあるけど。

Singletonとかにして、初期化処理を呼び出す時にすればそれで良い気がする。わざわざゲームオブジェクトにコンポーネントとしてつける必要が無い時もあるかも。

とりあえず中央に集まってポイントがたまるような処理は実装した。

ゲームとして成り立つように時間制限と、弾が生成されるような処理を追加する。

飾り気も何もないが、とりあえずゲームとして流れは出来た。

もう明日で終わりだけど、どこまで改良できるかな。

7日目:完成

早い1週間だった。

障害物とかを設置する。

今日の8時までだし、細かいこと考えずに実装していこう。

障害物とか置いたら結構ゲームっぽくなってきた。

正直クソゲーになる予感しかしてなかったけど意外だ。

効果音まで作ってゲーム自体は完成にしよう。

余裕があればランキングを付ける。

効果音はGameSynthを使っていく。使い方も理解していかないと。せっかく買ったのに勿体なさすぎる。

エフェクトもちょっと修正することにした。

アセット使うけど。

しかし、インポートとかに時間かかる。

強いPCが欲しい。

こんな感じでいいかな。

無駄に爆発させてみたり。

アセット使ったところだけ凝ってて不自然。

ランキング実装まで出来そう。

というかNCMBを使ってみたけど、一番楽かもしれない。

ドキュメントが知識無くても分かるようにしてあるし、SDKも簡単に使えるようになっている。

あとデータを登録できなかったときとかにエラー表示も丁寧に出力される。

これは良い。

値段が無料から[5万円/月]まで一気に飛ぶけど、そんなにプレイヤーいなかったらどうとでもなるし。

データを登録するときに型がそのまま入ってるかも。object型で数字をいれて降順でリクエストしたら、文字列として扱われてる順番になってた。桁数の多い方が後にくるみたいな。


なんだかんだ穴だらけだけど完成した。

ビルドして投稿もすんなり終わった。

何も問題なくUnityRoom上で遊べた。

ビルドで一番時間かかるかもとか思ってたから驚いたし、良かった。

1週間だけどなんとかなった。

NCMBはこれからも使いたい。

というわけで、

公開されます。

感想

公開されてしばらく経ちました。

いつもUnity1weekすべてのゲームを実況しているというバイタリティ溢れる挑戦をしているぱふさんに実況してもらえてました。

すごい。

そして、自分のゲームを実況してもらえるって嬉しい。

それと他の方がプレイしてくれてるのを見てると、どうにもゲームとして特徴が無さすぎるなと思った。

もうちょっと目を引く何かを付けたかった。

ゲームシステムも見た目も最低限すぎた。

いろんなゲームが投稿されてたけど、記憶に残るゲームもあった。

何か自分のこだわりを付けることを優先するべきだったかも。

こだわりとざっくりいっても、どんな実装をするべきだったのか、簡単には思いつかないけど。

でも、おざなりだったように思う。

期間は限られているから、凝ったものを作ることは難しい。

それは当然。

でも何か自分を感じるものを形にしたかった。

アイデアは単純な流れ作業のように考えるものでもないと思うし。

自分で全て管理できることも個人開発の特徴な気もするし。

まとめると、

もっとぶっとんだ方向に行くべきだったかも。