見出し画像

【Unity1週間ゲームジャム】「ロボ・アンボクシング」を公開しましタ

お世話になっておりまス。noteではお初にお目にかかりまス。
バーチャルUnity芸人メックのRDAGでございまス。

unityroomというWebGLゲームを公開できるサービスがあるのですガ、実は先日noteがこのunityroomのカード埋込に対応したとの告知がありましタ。
そしてそんなunityroomで開かれた「一週間でゲームを作る」イベント、Unity1週間ゲームジャムに参加したりしていましタ。

普段はFANBOXで制作の振り返り記事をしたためているのですガ、今回はnoteで書きまス。何故ならそういう旨のキャンペーンが実施されているのデ!

ねらい

Unity1Weekに参加する時は学習の狙いとかがあったりなかったりするんですガ、今回はとにかくゲームを作るという低めの目標設定にしていましタ。
というのモ、2020年後半はUnityを立ち上げる機会と言えば配信用のモーションキャプチャシーンを整備する時くらイ。ゲーム作りのノウハウの大部分を忘れつつある状況だったのでス。
とにかくゲームを作るという活動の流れを思い出す事が個人的ミッションでしタ。

環境

Unity2020.1
最初は2020.2を使っていたのですガ、WebGLでサウンドが再生されない不具合があったため途中でプロジェクトをダウングレードしましタ。該当の不具合は修正されているのデ、今ならUnity2020.2でも安心でス。

GitLab + Fork
privateリポジトリ作り放題のGitLabに軽量でシンプルなGitクライアントのForkは随分前からお気に入りの環境でス。ゲームジャムのような開発期間が短いプロジェクトでもGit管理する利点はいくつかあるのですガ、今回はdiffを確認する事での「作業単位の切り分け」が効いた気がしまス。
今回はコミット数75回でしタ。ちょっと少なメ?

Notion
タスク管理や素材の入手先メモなどに使いましタ。タスク管理はチェックリストでやりましたガ、kanbanとか使った方がオシャレだったかもしれませン。

blender
AWSからの支援がどうこうと話題になった3Dモデリングソフトでス。Unity1Week向けに使うのは初めてでしタ。作ったモデルはコレ

画像1

ちなみに100円で配布中でス。

発想

今回のお題の「あける」、色んな解釈があって良いお題だと思いまス。私は「クリスマスプレゼントを開ける」というアイデアからゲームを固めていきましタ。サンタさんとしてプレセントを届けつつ自分もプレゼントを開けるみたいナ……。

初日でモデル制作、2日目に開封モーションという感じで進めていたのですガ、制作3日目ぐらいで「公開する時にはクリスマス終わってるじゃん」という事実に気付きましタ。

とはいえ路線変更する時間もなク、当初の想定通り「荷物を届けた対価としてプレゼントを開ける」というサイクルで進めましタ。クリスマス要素がなくなっていくらか寂しくはなりましたガ。

ところで今回の作品は2つのゲームタイトルからインスピレーションを受けていまス。

デス・ストランディング
ゲーム後半のニモツの背負い方にサムみを感じる事ができるかもしれませン。「荷物を届ける」というのをどうゲームに落とし込むかは本当に苦慮した部分でしタ。クレイジータクシーとデス・ストランディング以外に参考にできそうなタイトルが当時思いつかなかったのでス。レースゲームを2Dで作るのは難しいと判断(見下ろし視点の発想がありませんでした)しテ、デスストがどうやって「配達」という行動をゲームに取り入れているかを観察したりしていましタ。A.I.Gamesのプレイ動画とかデ……。

くじ引きサイクル
2018年のUnity1Weekで話題をさらっテ、未だにじわじわプレイされている名作でス。

いわゆるクリッカーゲームのような「対価を得る->対価を払って対価を得やすくする」というプレイサイクルが綺麗に表現されているのデ、いつかこういうゲームを作りたイ!と思っていましタ。
ちなみに本家に則り(?)ロボ・アンボクシングの箱の中身は有限個でス。ステータス上昇+オタカラx10を全回収した後は無限にサイフが増える宝くじモードに突入するのデ、サイフ増やしまくったスクショをTwitterに投稿してドヤ顔してくださイ。私が喜びまス。

実装

変わったことはしていなイ、と言いたいところですガ、コードがぐちゃぐちゃ過ぎて逆に変わったことをしているようにも見えまス。利用したパッケージは下記
UniTask
TweetWithScreenShotInWebGL

TweetWithScreenShotInWebGLは個人的な使い勝手を高めるために若干手を入れたりしていまス。テキストフィールドにハッシュタグを埋めようとして'#'を書くと以降のテキストが破棄されますガ、URLエンコードして'%23'だとハッシュタグとしてツイートテキストに埋められたり出来て便利でス。

導入したけどコードで一切触れなかったのは下記
Extenject
DOTween

Extenjectを全然触れなかったのは痛いですネ。コード書きながら「ここはExtenjectならもっと綺麗になる」と思う場面がありましたガ、書き直す時間さえ惜しいというスケジュールでしタ。
DOTweenはadfに対応していない為、無駄に手間を増やしただけでしタ。ツライ……。

ギリギリ動いているような実装なので紹介できるものはほぼありませン。PlayerPrefsはMonoBehaviorでなくても触れるのでSingletonクラスを用意して良い感じにキャッシュするような仕組みは用意していましたガ、かなりダーティな手法なのであまりお勧めできませン。

終わってみて

主に実装面で反省点が多いでス。Extenjectをしっかり思い出しましょウ。
ゲーム内にほぼ説明がないのもよくないですネ。実況者さんのプレイなど見ていると分かるのですガ、大体の場合操作説明欄は「ゲームに詰まった時に読む」物なのデ、読まれている時点で分かりにくさポイントが高めだと思った方がいい気がしまス。チュートリアルダイアログを表示できるだけでもかなりストレスを減らせそうなのデ、次回はその辺り取り入れたいですネ。
公開当時は通夜のような心境でしたガ、温かいフィードバックをいただいてとても喜んでいまス。unityroomあったけえナ~。

Unity1週間ゲームジャムは2021/01/10まで評価期間でス。拙作、是非プレイしてみてくださイ。


いいなと思ったら応援しよう!