Unity1Week「正」ポリゴンメイカー 開発記録
こんにちは。今回(2021/12/20~26)の1週間ゲームジャムに参加した四次元ベクトルです。
ゲームはこちらからプレイできます。
前回の制作記録はこちら
前回の振り返り記事はこちら
今回のゲームは、次のような日程で開発しました。
1日目(12/20 月)
アイデア
今回のお題は「正」ということで、次のような言葉を考えました。
正解
正確
正方形・正多角形
数を数える(1~5)
正月
正面
当初思いついたゲームの案は、斜め45°に傾いた線で正方形を作るパズルでした。次に、点をクリックで打って正多角形を作るものを考えました。今回は、後者を採用しました。
ゲーム制作
今回も、URPでプロジェクトを作成し、くろくま基本アセット2を自分でTextMesh Pro対応に改造したものをプロジェクトに入れて制作を始めました。
点を打って多角形を作る基本システムは、UnityのLine Rendererを用いて作りました。Line Rendererだけだと最初の点を打ったときには何も表示されないので、マーカー(小さな黒丸)でクリックした位置が分かるようにしました。
画面上部の「正三角形を作ろう!」などの表示は、頂点の数を漢数字に変換するメソッドを自作して実装しました。
今回のゲームでは多角形の正確さ(正多角形にどれだけ近いか)が重要ですが、多角形の辺の長さや角度の標準偏差(ばらつきの度合い)を用いて評価することにしました。辺の長さの標準偏差は、多角形の大きさに依存しないようにするため、辺の長さの平均で割って評価に用いました。角度は、2辺に対してQuaternion.FromToRotationを用いて出たQuaternionのeulerAngles.zで算出しました。
2日目(12/21 火)
1つ図形を作るごとに図形の頂点の数が1つ増える(三角形→四角形→五角形→……)システムを作りました。
図形の評価(前述の、辺の長さや角度の標準偏差)を基に点数を計算するようにし、カウントダウンや制限時間を実装しました。
3日目(12/22 水)
結果画面を実装し、三角形モード(三角形のみを作図するモード)を追加しました。
角度の標準偏差だけで図形の正確さを評価すると、星形や正三角形2周などもOKになってしまうので、角度の平均が通常の正多角形と異なる場合には獲得点数が0点になるようにしました。
上記のツイートの後、UIデザインやタイトルロゴを変更しました。
4日目(12/23 木)
効果音、BGMを実装し、図形の正確さに応じてキャンバスの色を変えたりメッセージ(Nice!/Great!/Excellent!)を表示したりするようにしました。
また、ゲーム画面の背景に正多角形を降らせるようにしました。
5日目(12/24 金)
ランキングを実装しました。
また、一部のフォントを変更し、遊び方説明を画像付きで作りました。
6日目(12/25 土)
ランダムモード(三~六角形をランダムに作る)を追加しました。
ツイート機能を実装し、画面切り替えもURPのShader Graph(私としては初めてのゲームへの使用)でかっこよくしました。
Visual Studioを開くとDOTweenのエラー(関数の定義がない)が出て、公開ができないかも……と思いましたが、C#のソリューションファイルを一度削除してVisual Studioを再起動することで解決しました。
7日目(12/26 日)
WebGLビルドを行い、unityroomに投稿しました。
ビルドしたらボタンの周囲に線が入る問題に気づきましたが、それは、1枚のスプライト画像を複数にスライスしていたために起きた現象で、隣のスライスの一部が入ってしまっていたからでした。スプライトのFilter ModeをPoint(平均化しない)にすれば解決しました。
今回の感想
今回もシンプルな2Dゲームを作りました。作る過程で様々な問題に遭遇しましたが、すべて自力で解決しました。
前回の振り返り記事に、音楽を自作すると書きましたが、音楽の創作意欲が湧かなかったので、今回もフリー素材を使いました。
逆に、フリー素材を使うと書いた、UIなどのデザインは自作しました。
皆さんもゲームを作ったり遊んだりして楽しんでみてください!