見出し画像

Unity 1週間ゲームジャム お題「回」に参加した話

unity1weekのキャンペーンで始めたnoteですが、イベント終了も束の間さっそく次回のunity1week開催の告知が。
そんなわけで2回目の記事もunity1weekのことを書いていきます。

(というか自分のネット上の活動がunity1weekしかないので他に書くこともないんですが)


ゲーム紹介

今回作ったゲームはこちら。

バグ技を駆使して最速タイムを目指す、一風変わったランゲームです。
どんな感じで作ったのか振り返っていく記事になります。

イベント開始前

告知編
去る2/9、u1wのイベント告知がありました。


前回のイベント終了から2か月も経っていない!
その時の作品にけっこう気合を入れていたのもあり、今回参加はしてもあまりガッツリしたものは作れないかなーと思いつつも準備を始めました。

目標編
何かしら目標を持ってu1wに挑むとめっちゃ楽しいというのは前回わかったことでしたので、今回も具体的な目標を立てることにしました。
前回の目標にしていた総合順位での上位入賞はかなり達成できましたが、
(順位発表時は総合11位、最新では7位まで上がってました。上がりスギィ)
今回も同じ目標にするのは楽しさよりプレッシャーが上回りそうだったのでやめることに。
もちろん評価は高いほうが嬉しいですが、狙って総合順位を取りに行くのは意識しないようにします。

そこで、今回は総合順位ではなく各評価基準のどれか1個で3位以内に入賞することを目標にしました。
各評価基準ごとに3位までの作品がunityroomイベントページのトップに表示されるんですよね。

……いや、それってまんべんなく高評価を取って総合評価上位に入るよりも難しい気が……
まああくまで達成できたら一番うれしい目標ということで……。
今回は気楽に目標へチャレンジしつつ新しい機能や表現を試してみる、という方向で行こうと思いました。

準備編
前回と同様あらかじめ必要なアセットを入れたプロジェクトを作っておきます。
作るゲームジャンルは決めていませんでしたが、前回のドット絵パズルが思いのほか高評価を得られたのでもう一個くらい作ってみたいと漠然と思っていました。
なるべく手間はかけないようにしようと思ったので前回ほどしっかりとした準備はせず、お題発表を待つことにします。

イベント開始

お題発表~1日目
2/22 お題が発表されました。


今回のお題は「回」。なるほどなるほど、複数の意味や熟語があってなかなか楽しそうなお題です。
印象としてはまず「回転」が最初に浮かびました。次に「漢字の形がすでにユニークだよなー」と思い、
箱を回転させて中のオブジェクトを操作するパズルゲーム……という案が。


……ってそれ前回作ったゲームじゃねーか!!(シームレスに宣伝)

前のお題「あける」よりもむしろこちらがぴったりなお題の気がします。

しかし同じものを出すわけにはいかないので、とりあえず「回」で別のテーマを探すことに。
たぶんみんなやってると思いますが「回」のつく言葉や意味を適当にリストアップ。

Loop Rotate Reincarnation
回る 上回る 走り回る 振り回す 歩き回る 飛び回る 動き回る 見回す
身の回り 言い回し 後回し 持ち回り 空回り 役回り 小回り 外回り 立ち回り 遠回し 遠回り 回り道 時計回り 夜回り 先回り 持ち回り 利回り 根回し
今回 前回 次回 初回 次回予告 回転 一回転 回復 回答 ○回戦 ○回忌
回線 回数 回数券 回帰線 回転扉 回収 回避 撤回 毎回 巡回 回路
奪回 回帰 回想 回顧 回生 旋回 回廊 回遊 回覧 迂回 挽回 周回 起死回生

で、同じくみんな気づいたと思うのですがめちゃくちゃ幅広い
「あける」に比べて段違いの候補があります。
それはそれで困ってしまいましたが、まずはリストアップしたものの中からパズルに使えそうな用語を選定。
「回線」「巡回」「回路」「迂回」あたりがパズルっぽくてよさげ。
ですが、いくつか考えてみたものの前に作ったもののイメージに引きずられて似たようなものしか浮かんできませんでした。
特に前回のような倉庫番チックなパズルから抜け出せず、やっぱりパズルはやめておくか……と断念。

自分の場合、一つのジャンルでいろいろなゲームを考えるのが苦手なようです。u1wでも毎回違うジャンルのゲームを作ってるんですよね。
(ただ個人的にパズルは一番好きなジャンルなので、またチャレンジしたいと思っています。)

パズルでなければどういうテーマで行くかなー、ともう一度「回」のリストを確認。
その中の「周回」という単語でちょっと引っ掛かりました。

周回といえばゲームでもよく使われる言葉ですよね。
ソシャゲの周回、やりこみ要素としての周回などなど。
ゲームジャムにおいてゲーム用語モチーフのテーマはしっくりくるのではないかと思いました。

うーん、周回……やりこみ……RTA
それほどRTAに詳しくはないのですが、折しも去年の年末ごろにRTAの大きなイベントがありYouTubeでその様子をたまに見るなどしていました。
これはゲームのテーマに使えるかも……となんとなく考えます。

よく知らない方に説明しますと、RTAとは「リアルタイムアタック」の略で、いかに早い所要時間(ゲーム内時間ではなく実時間)でクリアできるかを競うやりこみのことです。
ルールによってはバグ技を使ったり、通常のゲームプレイでは見られない遊び方をしているのも魅力の一つですね。

そんなわけでRTAをモチーフにしたゲームを考えることに。
RTAを知ってはいても実際にやりこんでいる人はそう多くないだろうと思っていたので、疑似体験できるようなゲームはそれだけで面白そうに思いました。しかもバグを利用してタイムを縮められるような仕組みがあれば見た目の面白さやスーパープレイ体験もできるのでは、となかなか良さげです。

スーパーマリオ的な2Dアクションをベースに任意のタイミングで壁抜けなどのバグが発動できるゲームはどうかと考えました。
頭の中で完成イメージを動かしてみると、見た目には面白そうだけどやってみるとうーん?という感じ。すぐに見つかる問題点がいくつかありました。

・操作が複雑

最初のイメージでは通常のアクション操作に加え複数種類のバグを発動させるボタンを想定したのですが、これがあまりに操作難度が高い
そもそもスーパーマリオですらジャンプとダッシュのみで多彩な操作を求められるのに、そこに別のアクション、しかも数種類のボタンではu1wで受け入れられやすい操作性にはならなさそう。

・導線が不自然になりがち
RTAをモチーフにするということで「実際に存在しているテイのゲームをやりこんでいく」という設定を考えたのですが、そうした場合「バグらせる」という独特の操作をどうユーザーに教えるかチュートリアルに悩みました。
というのも「実際に存在しているテイのゲーム」で「このゲームはこのボタンを押すとバグります」なんてチュートリアルはできないんですよね。
せっかくバグ技で非公式な遊び方をする、というコンセプトなのに当のゲーム内でその説明をしてしまっては興ざめも甚だしい。
自分の場合チュートリアルやヒントはできるだけ「神の声」(システムメッセージ)に頼らず、ゲーム内の雰囲気に合わせて自然にユーザーに伝えるのを目標にしているのですが今回の場合は「神の声」に頼らざるを得なさそう……と感じました。

ただ、面白いゲームになりそうな感覚はありました。
上記2点を解決する工夫はないかと息抜きがてらYouTubeでRTA動画を流し見。そういえばRTAってテクニックやポイントを解説してくれるとさらに楽しいよなー、配信なんかだとリアルタイムの視聴者コメントも面白いよなーと考えてると、「実際にRTAをプレイする側だけでなく見てる側も含めたゲーム性はどうか?」というアイデアが。
単なるRTAではなく、RTA実況動画風のゲームです。

・実況動画なので自分で操作するというよりは自動で進んでいく感じにして、バグ発生のタイミングだけ操作をする
・視聴者のコメントという形で自然に操作のチュートリアルやヒントを出す

という案で問題点を解決できそうだな、といい感じにまとまりました。
ただし、「ゲームパート」と別に「実況動画パート」という独立した工数が新たに必要になってくるのは懸念でした。
う~ん、1週間で実現できるのか……。

あまり悩んでいても仕方ないですし、何よりもう遅刻はしたくなかったので見切り発車で動き始めました。使用するバグのおおまかな仕様、それを生かすためのレベルデザインなどをざっくり考えて1日目は終了。

2日目
横スクロールアクションの仕組み、コメント機能、RTAのタイマー機能を作成。だいたいのゲームループもこの段階で完成させます。

今回のキモの一つであるバグ表現について、この段階でまったく完成のイメージがついていませんでした。画像素材やエフェクトは想定よりも時間がかかるだろうことを前回のu1wで反省したので、はじめのうちにゲームのコア部分を作り切ってしまおうと考えていました。

3日目
この日は仕事が忙しくあまり進められず。タイトルロゴやキャラクターなどの素材を描きました。

そういえば前回のu1wではドット絵を「EDGE」というフリーソフトで作成したのですが、今回「Aseprite」という有料ソフトを買って作成しました。有料だけあって非常に高性能……!
どちらも超定番のドット絵ツールのようですので、ドット絵に興味がある方は試してみてはいかがでしょうか。
ドット絵はよいぞ~

ツールのおかげかある程度コツをつかんだのか、比較的スムーズにドット絵を描けるようになりました。前回の反省を生かしオブジェクトは限られた数のみ用意、追加で作業が発生しないよう気を付けます。

タイトルやキャラクターデザインは深く考えずに頭に浮かんだものをそのまま使っています。しいて言えば実在してもおかしくないレトロゲームっぽさ、チープさのようなものを念頭に置きました。

4日目
当初発動できるバグは3種類程度考えていたのですが、面白そうな挙動にならなかったので現在の2種類(当たり判定消失・座標移動)に絞りました。
結果的には2種類でもそこそこ複雑な操作に感じたのでこれは正解だったと思います。それに合わせてレベルデザインを調整。
レベルデザインの方針ですが、1画面を1区画として全16区画のギミックを用意することにしました。(16なのは何となくキリがよさそうだったので)
それぞれの区画ごとにバグを使うことでショートカットになりそうなブロックやオブジェクトを配置。
大事なこととして、ゲーム本編はバグを想定して作られてはいないという設定を遵守しました。あくまで本編の作りは正統派アクションゲームで、バグを使用せずとも最低限ゲームとして楽しいステージ構成を心掛けます。

あとオープニングのテキストを書きました。ふざけた感じにしつつあまり狙い過ぎないようしたつもりですがどうでしょう。ユーモアのセンスに自信ないです……。

ときは せいきまつ
じんるいの ほろんだ このせかいで
おなじく ほろびを まつのみとなった
やせいどうぶつが そんざいしていた

こうはいした せかいの なかでも
ただ いきることを のぞむ
むなしくも うつくしい
いのちの かがやきを もった ものたち

この ものがたりの しゅじんこう
くまベアーも そのひとりである

あるあさ くまベアーの いえに
ふおんな たよりが とどいた

「おまえの しゃけは いただいた」

たいりつそしき
ウホウホゴリラだんの しわざだ

くまベアーの たくわえである
しゃけを うばわれては
この むなしくも うつくしい せかいで
いきていくことなど できない

あらそいは のぞまない
しかし それが このせかいの ことわりならば

くまベアーは たちあがる
みずからの ほこりと プライドを かけて

いま むなしくも うつくしい
たたかいの まくが あける……

5日目
マップの素材を作成しました。今回TileMapを初めて使用してみましたがこれは便利……。今までキャラクターくらいしかドット絵を描いていなかったので、背景や構造物のドット絵に苦戦しました。この辺りはひたすら勉強と実践という感じですね。

6日目
チャット機能を完成させました。状況ごとに10~30種類のコメントを用意し、ランダムに発言させるようになっています。
同じコメントを何度も言わせないよう数は用意したつもりでしたがけっこう連投されてしまうんですよね……。本当はもっと多くのテキストを用意したほうがいいのかもしれませんが、完成時点で全190コメントあったのでなかなか手間はかかりました。
あと、たまに進行のヒントとなるコメントもあるのですがこれもバランスに苦慮しました。特定のタイミングで必ず出るようではシステムっぽさが出てしまいますし、乱数が偏って一切ヒントが出ないと自力では気づけない要素も多いですし……。結局ヒントは複数同じ内容を用意して、大体このタイミングで多分出るだろう、くらいの頻度に設定しました。

画像1

チャットテキストはInspectorで追加・変更ができるようにしています。

7日目
実現できるか一番不安だったグリッチ(バグ)表現の作成です。
PostEffectを使ったグリッチ表現の記事がありましたので、まずそちらを実装。


画像3

ただこれだけだとテレビそのものが故障しているような印象だったので、ファミコンっぽいバグを再現できないかいろいろ検索。
あんまりゲーム関係ない記事ですがこの辺が参考になりました。(普通におもしろ記事)


最終的に「バグ画面を模したTileMap」を複数レイヤー用意し、バグ進行状況によって表示を切り替えるという手法にしました。

画像2

画像4

画像5

画像6

ぜんぶ重ねるとこう

画像7

最初はもうちょっと不透明度が高くて以下みたいな画面だったのですが

画像8

クッソ見づらい!

そんなわけでかなり不透明度を下げました。バグ画面とはいえあくまで演出、ゲーム体験に差し障るようではダメですね。
なんとかそれっぽく絵作りの懸念は解消できました。ただしすでに締め切り当日。まだまだ完成に遠い状況です。

ククク……
続行だっ……!


8日目
アイテム取得時の演出、ハイスコアの保存機能、ゲームバランス最終調整、ヘルプ機能の作成をしました。
あくまで本編は正統派アクションということで、アイテム取得やゲームオーバーなど一通りの実装はする必要がありました。
またRTAとして遊ぶ場合、体力アイテムや1UPアイテムは演出が入ってタイムロスになるオジャマ要素に変わるというのが面白いので必ず入れたかったです。そのほかこまごまとした要素を実装、最後にヘルプ機能を一枚絵で実装して終了。ヘルプはチュートリアルを作れなかった苦肉の策ですね……。せっかく「神の声」を避けられるようなシステムづくりをしたのに時間が足りず残念。

おまけ

画像9

(なかなか見る方はいないであろうゲームオーバー画面。こわい)

画像10

(配信が始まる前っぽい待機画面。けっこうお気に入り)


9日目
今回のプチ目標として、サウンド素材の全自作がありました。
SEを含むすべてのサウンドを1から制作しています。
けっこう無茶かな、と思いましたがモチーフが8bitゲームということで、ファミコン音源風のプラグインを使用してなんとか手間なく作れました。

BGMは前回u1w終了後から作ってあったストックをいくつか使用、そのほか足りなかったBGMやSEをこの日に一気に作りました。
前のnote記事で「多少DTMの心得がある」とかなんとか書きましたが……すみません、完全に盛りました
必死にそれっぽく聞こえるよう見よう見まねで調整、普段しないサウンドの出力でわちゃわちゃしつつプロジェクトへの実装を完了。
今聞くと変なところがいっぱいある……そのうちリファインできたらいいですね(しない)

さて、これで一通りの実装は完了しました。あとはビルドしてアップロードするのみ。ですがここまでWebGLビルドをできておらず、きちんと動くかぶっつけ本番で行くことになりました。

……いっけええええ!!!

結局UnityRoomへは問題なくアップロード完了、丸2日間の遅刻で完成したのでした。

いやあ、あれほど遅刻はしないと言っていたんですがなかなかうまくいかないものですね(白目)。
本当に反省はしております……。

最後に

執筆時点でまだまだ評価期間真っ最中ですので他の方のゲームを遊びながら結果発表を待つことになります。前回は遅刻もあって他の方のゲームを全部遊びきれなかったので、それもできれば。サウンド素材自作や使ったことのない機能を試すというプチ目標は達成できたのですでにけっこう満足しています。
どこまで健闘できるかわかりませんが今回もいい結果に終われるようにしたいですね!現時点でとても褒めていただいているコメントばかりですごく嬉しいです……!
結果発表後にまた振り返り記事を書くかもしれません。


おまけ

バグをテーマにしたゲームだけに、仕様ではないほうのバグについては少し気を遣いました。仕様なのか本当のバグなのか混乱させてはよろしくないと思いまして……。
まあ多少おもしろバグが出るくらいなら無理やり「そういうゲームです!」で押し通せるとは思っていたのですが、コメント欄にて

画像11

!?

あわててランキングを見るとクリア時間1秒台のスコアが。
どうもリトライ時にクリアフラグが初期化されていないバグのようです。
タイムアタックについてはできるだけフェアにしたい、ということで心苦しくも修正させていただきました。(ご指摘ありがとうございました)


画像12

これもう不祥事だろ……


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