Unityroom主催 一週間ゲームジャムに参加しました

今回Unityroomさんの一週間ゲームジャム企画に参加させて頂きました。
icon.png
こちらです。
お題が「SPACE」ということでスペースを埋めるゲームを作りました。

・ゲームの面白さのコアの話
ギリギリを攻めて一発狙うか、ある程度で妥協するかという判断がこのゲームの肝です。
ちょっとでもオーバーすると引っかかって下の空間が無駄になるので、結構スリリングだと思います。
最大値を40%にしたのは、40%を2つ並べて間を小さいので埋めたり、33%を3つ並べるのを狙ったりと選択肢が生まれるからです。
また、個数制限が無いと小さいのばかりで埋める作戦が出来てしまうので、とりあえず15個を限度としました。これに関してはまあ10個以上で多すぎなければそれほどゲーム性は変わらないかと思います。
結果としてリスクリターンが割と釣り合ってていい感じにスコア狙いが熱いゲームに仕上がったのではないかと思います。
結果ツイートしてくれた人3人だったけど。
盛り上がればランキングつけなきゃいけないなとも思ってたけど杞憂でした。悲しいなあ

・UIの話
効果音をつけていないのは完全にマイナスです。これはつけるべきです。めんどいとか言う前につけろ(自戒)
最初はお題に沿ってスペースキーだけでの操作を考えていましたが、わざわざキーボードに手を伸ばさせる必要もないのでマウス操作になりました。どうせランキングとかつけたらマウス操作必須になっちゃいますし(結局つけなかったが)
最後のボタンもマウスオンで赤くなってモノクロの雰囲気が台無しになってますが雰囲気よりわかりやすさ重視です。UIに関しては私はそういう主義です。

・実装で引っかかった話
using UnityEngine.UI; ←こいつを忘れて参考にしたコードが動かなくて参りました。覚えよう
デフォの設定変える方法探してこいつもデフォでくっつけておきたい。
UIのオブジェクトはTransformじゃなくてRectTransformというのにも引っかかりました。覚えよう
ボタンの上にテキスト乗せてボタンを透明にしてもテキストは透明にならないのがめんどくさかったのでまとめてどうにかする方法があったら知りたいです。常に自身の透明度を親と同期するスクリプトでも組めばいいのかな?

・実装以外の部分でひっかかった話
Firefoxでハードウェアアクセラレータを有効にしないと描画が変になったりゲームが起動すらしなかったりするのでちゃんと有効にしておきましょう。たぶん他のブラウザでも同じな気もするけど
あと標準のテキストでArialにBoldつけるとWebGL上で残念ってレベルじゃないほど残念になるのでやめたほうがよいです 覚えよう

・アセットの話
そう!ここでバウチャーをもらうためにこの記事を書いたようなもんだよ!
DOTween

無料。
便利すぎてこれええんかって感じのアニメーション支援です。15ドルのProにはGUIがつくのかな?バウチャーが入ったら使うかも
オブジェクトA君にはここからここまで何秒で動いてその間この処理をしてね。終わったらこれをしてね。みたいな処理が簡単にできます。具体的なやり方は記事が山ほどあるからここでは書かないけど
そういえばここでもOnUpdateをonUpdateとか書いて動かねえ!とか言ってました。覚えよう

TextmeshPro

昔は高かったらしいが今は無料。
フォントをテクスチャで埋め込みできるのでフォントそのものが再配布不可でも使える(はず)。
それ抜きにしても単純に3D空間に文字配置したりできて便利ですね。必須クラスのアセットです。

・Unity使った感想
今まではDXライブラリとか使ってゲーム作っていまして、今回初めてUnityを触りました。そしたらちょうど一週間ジャムが始まってたので参加しました。
感想としては便利すぎてこれええんか?って感じです。
特にFindとGetComponentです。これらを知る前は普通にTitleControllerからCanvasの参照をGameContoroller生成時に渡して~なんてことをしていたんですがUnityではそんなことしなくてよかったんです。
Canvasは置いてあるから勝手に探してねってお前賢いなあ……
ただ同じ名前やコンポーネントが複数あったときにどうなるかを学んでないので次までに調べておきます。
あとGameObjectとgameObjectの違いとかいまいちわかってないんでそのへんですね。

この記事へのコメント