見出し画像

わたしのUnity12週間ゲームジャム(前編)

2023年9月18日スタートのUnity1週間ゲームジャム(お題「1ボタン」)に参加しました。
その時に挑戦したこと、思い、得たもの、反省などを整理のために書いてみます。

補足:
2023/12/9の夜に一度公開し、その後続き(後編)を書き始めましたが膨大になったため、12/10にそれを前編の後ろに追加しました。その際、既存部分も書き直したいなと思い、大幅に修正もしました。
ですが、基本的な主旨は変わりません。


自己紹介。

こんにちは、POPLINER '99です。
Unityを使ってゲーム開発をしています。
Android向けにゲームをいくつかリリースをさせていただいています。
unityroomにも何本か投稿させていただいています。

記事を書くきっかけ。

久しぶりに、Unity1週間ゲームジャム(以下、ゲームジャム)に参加しました。
諸事情があり、1年ほどゲーム制作に取り組めていませんでしたが、復帰したらちょうどないちさんのツイートが。

単純に「参加したい!」という気持ちはもちろんですが、ゲームジャムに参加することで自分にもたらされるものって何? ということを、今回の参加を機に整理したいなと思い、記事を起こしました。

わたしにとってのゲームジャム。

ゲームジャムは、新しいことに挑戦する大切なきっかけ。

POPLINER '99としては、おもにGoogle Playでスマホ向けのゲームを開発し発表しています。

そんなわたしのゲームジャムへの参加は、いくつか理由があります。大きなものは、やはり作品へのレスポンスを得たい、ということ。
一般のスマホユーザ向けにストアにゲームを公開しても、★もレビューもほぼないのが実態です。
遊んでいただけるだけでありがたいのですが、フィードバックがあると今後に活かせるし、なによりモチベーションになります。
そこでゲームジャムです。評価することで評価され(易くな)る仕組みになっていて、反応を得やすいです。
レビュー者は同じゲーム制作者であり「自分が作ったゲームを遊んでもらいたい層(一般のスマホユーザーの方々)」とはちょっと違うわけですが、だとしてもレスポンスがあること自体がうれしいです。
しかも、同じゲーム制作者同士なので、やさしいレビューがつくことが多いです。それでいいと思います。もっとホメてくれ(ふるふる)

ゲームジャムへの投稿のもう一つ大きな理由は、「お題を制限されることで自分が本来が志向していなかったことへの挑戦のきっかけとなる」、です。
過去のゲームジャムで自分がやったことを思い返してみると、無限スクロールする仕組みを考えたり、Cogy Engineに挑戦してみたり、PlayFabの活用方法を模索したり。
結果としてはモノにならなかったことも多いですが、実現に向けて挑戦したことそのものは今も糧となっています。

話が逸れますが、Corgie Engineを使った開発の体験談、noteで記事にしております。興味がありましたらぜひ読んでみてください。

ゲームジャムでの課題。

一方で、ゲームジャムへの作品投稿でいつも感じているのが、「時間が足りなくて作り込めなかった」というもの。

もちろん、この企画は「1週間ゲームジャム」なので、期限内にいかに効率よくやりたいことを実現してゆくか、と言うのがテーマの一つのはずです。またあるいは、優先度をつけて何を実装し何をあきらめるか、と言うような判断も大事ですよね。
時間が限られている中で、計画的に無理のない範囲で進める、と言うのも大切な事だと思います。日々の生活があるわけですし。公式にも以下のように書かれています。

ですが、それらは踏まえつつ「せっかく作ったゲーム、もうちょっと作り込みたかった!」と思うわけです。

そこで、今回は開始時に自分なりの方針を設けてみました。
2つあります。

  • 「納得いくまでやってみる。」ということ。

  • 「デザインを自分でやる」ということ。

前者は、今まで語った通り。期日に遅れたとしても、納得するまでやってみるということ。(限度はありますが。)そして、どうせ納得いくまで作るのなら、ストアに出す前提で作りこもう、とも考えました。
後者も言葉通りですが、自分のイメージを具体化するためにも、デザインを自製しよう、という事です。
今までの自分の作品を振り返ると、課題はたくさんあるものの、デザイン面が大きな課題の一つかなと感じていました。
わたし自身にデザインに関する素養はないので、フリー素材などに助けていただく事が多かったのですが、素材だと思った通りの表現ができない事が多い。
また、「大きな一枚絵」のような素材はなかなかなく(あったとしても、自分のイメージに合うことは稀でしょう)、それを描きたくもありました。

これらは、ゲームジャム開始時点で明確な目標だったわけではなく、序盤で方針を考える中で固まっていったものですが、一方でずっと心の中にあったものでもありました。

納得いくまでやってみる。

お題が発表されて。

ゲームジャムの開始すぐは、普通に「1週間以内に間に合わせよう」と思っていました。

まず初めにやることは、お題に沿ったゲームのアイデアをひねり出すこと。
お題「1ボタン」が発表されて、すぐに思い浮かんだのは「学生服の第一ボタンを開けていると、喧嘩上等のサインだったよね」というもの。
割と全国区の文化なのでは、と思いますが、違ったらすみません。
ただ、そこからゲーム内容がイメージできず。いや、格闘ゲームと下なのかもしれませんが、実装のイメージが全く出てこなくて。

その後、服のボタンでもプッシュボタンでも、素直にゲームのイメージが沸かず、ダジャレに逃げようかなと思ってすぐに思い浮かんだのは「ボタン鍋」。
実際に、私以外にも「ボタン→いのしし」という発想の方が何人かいらっしゃいました。

(アイコンだけで判断しているので、足りなかったらごめんなさい。)

「ボタン鍋」をゲームにつなげようと思ったときに、真っ先に思い浮かんだのが拙作「あちらのお客様から(回鍋肉)です。」です。

「ホイコーローをボタン鍋に差し替えつつ、いろんなオーダーに応えるようなゲームにしたら、短期間で開発できるかな。かつ1ボタン操作にすればお題回収度も高いのでは」というような案が頭をよぎり、チラシの裏にゲーム画面をささっと描いてみました。
「タップ回数でメニューを選択、長押しでパワーをチャージ、タイミングよくリリースして料理屋ドリンクをお届けする。ボタン鍋だと高得点。」
みたいなメモが残っていました。

自分がイメージするものをイメージ通りに作ろう。

しかし途中で、「これはデザインが大変じゃないかな」と気づきました。前作は「いらすとや」さんの素材ありきだったので。

(このドヤ顔がカワイイですよね……!)

そもそも、自分がゲームジャムに参加する目的を思い返すと、「このアイデアは、新しいことにチャレンジできていないのでは?」とも思えました。

しばらく考えて、「やっぱり一番大きい問題はデザインだよな」という課題が見えてきました。以前からぼんやり思っていたことではあるのですが、直面した、というか。
つまり、素材に頼っている限り自分が思い描く通りには作れない、ということ。
(素材を活用することがダメだというわけではないですー。念のためー。)

そして、過去作をベースに作るというのも、「新しいことにチャレンジする」という観点に反しているし、プレイしてくれる方々へ新鮮な面白みをお届けできないのでは、とも思いました。(※)

だったら今回は、「自分のイメージを自分でデザインに落とし込む」ことにチャレンジすることにしました。内容も、過去作に縛られない形で考えることにしました。
素材による制限を考えなければ、ゲームの内容そのものも比較的自由に発想できます。
ジビエ料理店から逃げるランゲーム?
いや、人間に捕まって鍋にされそうな母や兄弟姉妹を助けるゲーム?
イノシシなので、猪突猛進してぶつかって敵をやっつけるゲームがいいかも。
モンストみたいな、引っ張って弾くタイプのゲームなら1ボタンのお題回収にもなる。
デザインはとにかく可愛く! かわいいウリ坊を前面に。
これを元に、「ちゃんとおもしろくて楽しい」ゲームにしてモバイルにリリースすれば! 多分今よりはDL数多くなる、はず。(弱気)

……こんな感じで、企画が動き出したのでした。

※念のため書いておくと、公式としては過去の資産を転用したり活用したりすることは禁止されてなく、短期間の開発なのでうまく活用しようね、というスタンスです。わたしも当然そうすべきだと思っています。
今回は私が勝手にテーマを設けて勝手に取り組んでいるだけなので。次回は「期限を厳守する」というテーマで取り組むのもいいかな、とも思っています。


開発開始。

概要を考えた。

覚悟、というか方針が決まると、割とするする走り始めました。
いわゆる「引っ張って弾くタイプのゲーム」にしよう、と決めてから、敵キャラはどうしよう? 味方はいる? ステージ数は? ストーリーは? アイテムは実装する? 必殺技は? ザコは攻撃してくる? といったところをざっくりと決めました。

  • ステージは3ステージ、草原と山と森。

  • 敵キャラは、ラスボスがオオカミ、裏ボスがヒグマ、各ステージのボスはキツネとタカ、ザコはタヌキとかカラスとかイヌとかネコとか。

  • ステージをクリアするごとに、兄弟を助けて味方にできる。味方にぶつかるとビリヤードの球のように弾かれて、敵を攻撃してくれる。

  • アイテムで必殺技が使えるようになる。相手に大ダメージを与えたり、反射せず貫通したり。

この時点でも、どこまで実装できるかは分からないなぁと思いつつ、こんなのを青写真にして開発を進めることにしました。
#12/9現在、基本的な部分はできたものの、上記のようなボリュームにはまだまだ足りていないのが実情です。ステージは1つ、敵キャラは3種類、味方はなし、って感じです。

金曜日の時点であきらめていた。

平日はなかなか時間が取れないまま時が過ぎ、9/22(金)の時点では期限を守るのは事実上あきらめていたようです。
この頃は多分、先述の概要作成、それを元にタスクの整理、それとキャラ(ウリ坊)のイラストの練習とか、アイデアイメージを描いていました。
実装はあまり進んでいなかったかと思います。


こんな練習描きが残っていました。
自分なりに、脳内のイメージをうまく表現できていたかと。

ひっぱりアクション部分。

とはいっても、基本の「ひっぱって弾く」部分はゲームの肝なので、どうやって実現するかを早めに検証していました。
「ひっぱりアクション」等のキーワードで検索すると、実装方法について色々参考になるサイトが見つかりました。
しかし、基本的な仕組みを実装しようとしているうちに時間が過ぎてゆき、ヤバイこれは間に合わないとなり、アセットを使うことにしました。

このアセット、かなりシンプルで使いやすく、結果的に大変お世話になりました。
ちなみに、いわゆる「ひっぱりアクション」的なゲーム、わたしの頭の中にはふわっとしたイメージしかなく、改めてプレイ動画を見てみたりしました。

思っていたよりステージが狭い&キャラがでかい。スマホ向けだから?

この流れで、衝突時のダメージ計算とか、慣性でだらだら動き続けるのが鬱陶しいので強制的に停止させる仕組みとか、その他もろもろ基本的なことを色々と仕込みました。

マップチップ。

主人公や敵キャラ、タイトル画面のような一枚絵は自分でデザインするとしても、それ以外はフリー素材に頼ることにしました。(あれだけ言っておいて……)

ステージは、2DのRPGみたいなマップチップで構成されたものをイメージ。
検索すると、フリーのマップチップがたくさんありました。本当に助かります。ありがとうございます。

#色々見ているうちに、2DRPGとか、クォータービューのSRPGとか、ヘックスマップのストラテジーが作りたくなりました。
#自分のイメージを実現するためにデザインを自製する、という発想とは逆に、既存の素材から作りたいゲームがイメージできることもありますよね。

最終的に、「ぴぽや倉庫」さんのマップチップを使用させていただくことにいたしました。本当にありがとうございます。

こういうマップチップを配置してステージを作るのに、「タイルマップ」というUnityの機能が便利らしいです。
何となく存在は知っていましたが、ちゃんと使うのは初めて。
これを知っていれば、以前プラットフォーマーを作ったとき、もう少し楽ができたのではと思います。

取り込んだ画像がぼやける問題とか、当たり判定のない地形(地面)とある地形(木とか)の区別をどうするか、とか悩みつつも解決し、ごく基本的な使い方は理解できました。

シーン切り替え時の暗転(フェーディング)。

ゲームオーバー時やクリア時、あとはタイトル画面からゲーム画面への遷移で、フェード効果をつけたかった。(いままでしたことなかったのかと。)

調べた感じ、参考になるサイトが多数見つかりましたが、結局無料のアセットを使用させていただくことにしました。
アセットを取り込んで、実装は1行で、ちょー楽だった。助かります!

シーン間のパラメータ渡しとかは、何も考えず全部PlayerPrefsでごまかした。
今後、本格的に修正する際には、別の実装方法にするかもしれない・・・。

敵の攻撃の実装。

これが非常に難航しました。

ターン制で、敵がリアルタイムに動いてきて攻撃するわけではないので、遠距離攻撃になる。
他のゲームだとどうしているのかな? とおもいプレイ動画とかを見てみると、普通に射撃してきてる。
しかしこのゲームの世界観だと射撃はマッチしない。
うーん、どうしよう。
「攻撃範囲内だと自動的にダメージを受ける」のような概念にして、攻撃範囲の円を描画する、というのはどうか、と思った。
円の波は地面を拡がる感じにする。スプラトゥーン3のホップソナーみたいなイメージですね。

しかし、この「円」をどのように描画するか。
検索すると、パーティクルに当たり判定をつける、という方法が結構出てくるのだが、これがどうしても上手くいかない。
時間を費やした挙句、別の切り口を模索。
結論としては、LineRendererで描画することに成功しました。以下のサイトがとても参考になりました!

当たり判定は、円と同じように拡縮するCircleCollider2Dをアタッチしました。

自分のデザインはできたか。

上記のように、ゲームの基本部分の実装がなかなか終わらず。
当然のごとく実装中に9/24 20:00の開発期限を迎えました。

ただ、確かこの時点で作品が多すぎるため、評価期間が2週間に伸びたと思われます。
もともと「開発期限には遅刻したとしても納得いくまでやり切ろう!」と思っていたわけですが、そもそも「評価期間にすら間に合わない」のは、参加しているとは言えないかも……。
そういう意味では、10/8の20:00にまで期限が伸びたのは、助かりました。(今までの傾向から、伸びるとは思っていましたが。)

9/26のポストでは、こんなことを言っていました。

「かな」じゃねーよ、と自分でも思います。全然終わってないじゃん。
とはいえ、ゲームの「基礎の基礎」部分は何とか出来ていたのかと。

ドット絵は、できた。

思い返すと、10月に入ってからの平日に、ようやくドット絵を描いていたと思います。
ドット絵は、以前作った「ねむりひめ」で作ったことがあり、初めての経験ではないですが、とはいえ2度目。

ひめ。
がんばって描いた。愛着があります。

まずは自分の脳内のイメージをイラストにする必要がありました。
特にイラストの素養もないので、まずは自分なりに「練習してみよう」と思いました。
「ウリ坊 イラスト」で画像検索して出てきてたかわいいイラストたちを、模写。それで、「ウリ坊を表現するときのポイントは」というところを押さえていきました。
シマシマで、手足は短くて、ブタ鼻、ひづめ、おなかは白い、耳やシッポの形は割と適当でよい。なるほど。
あと、ほっぺたはピンクにしたい。目は縦線で。これは、自分なりのかわいいキャラの要素でした。
それで描いた下書きが、さっきも貼り付けましたが、以下です。


この下書きを描いていたのは、最初の週だったと思います。

これを元に、32x32のドット絵に落としました。
この時は、ドット絵講座の動画などはあまり見ておらず、「イラストをそのまま32x32に落とした」という感じです。

今見ると、もうちょっとリファインしたいというか、現段階では実際に手直ししましたが、それでも自分のイメージに近いものができたと思います。
やってよかった!

敵キャラもウリ坊と同様に、イラストを練習してから自分なりのイメージにする、という手法を取って、表現していきました。

オオカミシェフの下書きイラスト。
これも、自分では気に入っています。


タイトル画面のイラストは、3週間以内にできなかった。

そんな感じで、ゲーム画面中のキャラをドット絵に落とし込む作業は何とかギリギリ間に合いました。
ですが、ぜひやりたいと思っていたタイトル画面用のイラスト作成は、致命的に未着手でした。
もともと、のどかな野山を背景に、殺伐とした感じで敵味方のキャラを描く、というアイデアだったのですが、背景画だけ素材をお借りして持ってきたものの、上にのせるイラストが全く描けておらず、しかしこれ以上待つことはできず、「背景だけ」のタイトル画面となってしまいました。

(当初はこちらを使わせていただいていましたが、現在は同じ作者様の別のイラストを背景に使用させていただいております。)

ゲームジャムが終わり、でも続いていく。

ゲームジャムの反省。

ポストの通り、10/8(日)の19:51頃にようやく投稿することができました。
いえ、投稿できたというより、このタイミングで投稿せざるを得なかったというのが実態です。前述の通り、タイトル画面は思っていた形には仕上げられず、またバグも結構残っているという状態でした。(特にネームエントリ画面のバグが致命的でした。)
とはいえ、ゲームにならないレベルだったかというと、そこまでではなかったと思います。

一方で、ゲームジャムへの参加という意味ではちょっと不誠実な形になってしまったかと思います。
投稿が評価期限の9分前ですので、普通に考えて評価してもらえるタイミングではありません。評価されることだけがゲームジャムではないですが、大きな意義であるのも間違いありません。
逆に、ここまで開発期間を引っ張ると他の参加者の作品を評価する時間もなくなるため、この観点でも意義を失っているかと。

また、いかに「間に合わなかった場合もぜひ完成させて」と言われているとしても、それは「意図せず間に合わなかった方」に向けてのこと。
皆さんが1週間でがんばって完成させているところ、結果的に3週間使っていたらそれは「違くない?」とも思えるわけです。同じ条件なら、1週間より3週間のほうがいいものができるに決まっています。
もちろん、3週間フルにかかってしまう(むしろ完成していない)、というのは自分にとっても想定外ではありました。わざとそこまで引っ張ったわけではないです。(開始時は「意外とギリ間に合うんじゃない?」と甘いことすら考えていました。)
ただ、スケジュール意識が低ければこのような結果になることも不思議ではない話です。

「Unity1週間ゲームジャム」の、「(遅刻OKとは言ってないが)遅刻に寛容」なスタンスが、このイベントの発展を支えているマインドかとも思っています。
初心者でも気軽に楽しく参加できて、実力や生活の都合で間に合わなかったとしても、投稿できるし評価もしてもらえる。

だからこそ、参加者一人一人が「1週間」という期限をよく理解し、またそれを楽しむことが、このイベントを守るし盛り上げることにつながる、と自分の取り組みを振り返りながら思った次第です。
個人的には、今後はより期限を意識して参加したいなと思っています。


まだ続きます。

10/8(日)の20:00でゲームジャムは終了ですが、作ったゲームを納得いくまでブラッシュアップさせてゆく活動は、もう少し続きます。およそ、12週間。
この記事も、後編に続きます。


この記事が気に入ったらサポートをしてみませんか?