見出し画像

【Unity1Week】次のステップへ進むために

初めまして、putinuと申します。

今回初めてnaichiさん主催のUnity1週間ゲームジャムに参加させて頂きました。まずは、このゲームジャムを開催して下さったnaichiさん、とても良い成長の機会を得ることが出来ました!ありがとうございましたm(_ _)m

Unity1週間ゲームジャム(=Unity1Week)とは、各回に出されるお題(例えば「ふえる」や「密」など)に合わせたゲームを1週間で作る企画です。毎度かなり多くのゲームが投稿され、今回は450作品以上ものゲームが投稿されています!毎度とても面白い作品達が並ぶので、今回初めて知ったという方、まだ遊んだことがない方などは是非遊んでみましょう!

さて、そろそろ本題に入っていきたいと思います。
このnoteでは主にUnity1Weekにおいてどのようにゲームを作ってきたか、またどんな点で苦労したり悩んだかについて。そこから自分はどのようにすればこの先成長していけるのかなどなど、私自身の記憶の整理なども兼ねてお伝えできればなと考えています。

作ったゲームの紹介と評価

第18回目となる今回のお題は「あける」でした。
ということで私は、箱をテンポよく開けまくる爽快感の高いゲームを目指した「ハコアケノタクミ」を制作しました。

「ハコアケノタクミ」は制限時間の内にできる限り箱をミスなく開けることでハイスコアを目指すゲームです!naichiさん作のランキング機能を搭載しており、他のユーザーとスコアを競うこともできます!
コメントではテンポ感や演出がよいと褒めて頂きました!

もしお暇であれば一度プレイして頂けると幸いです~(PCブラウザ版のみ対応しております)

そして何よりも気になっていたみんなの評価は、

総合 : 3.800 (圏外)
楽しさ : 3.977 (34位)
絵作り : 3.860 (圏外)
サウンド : 3.953 (30位)
操作性 : 4.151 (10位)

雰囲気 : 3.698 (圏外)
斬新さ : 3.163 (圏外)
(2021/01/11 19:00現在 | 評価数86)

という結果になっておりました。評価して頂いた皆様ありがとうございましたm(_ _)m

.....。

.....なんだって!?自分のゲームがランクインしているだと!? ( ゚Д゚)ハッ!!

総合ではあと少しランクインに届きませんでしたが、楽しさ・サウンド・雰囲気において50位以内に入ることが出来ました!
ランキングに自分のゲームが載っているのを見たとき本当に嬉しかったです。なにより楽しさにおいてランクイン出来たことがこの上ない喜びでした。

実は今回のゲームが私が初めて完成形にさせられたゲームだったため、自信が持てないままリリースしておりました。しかし、「〇〇が良かった」「◇◇が気持ちよかった」などといった具体的なコメントを頂くことができ、自身のゲームを客観的に見ることが出来ました。自分がいいと思っていた点が人に評価されていたりして、少し自分に自信を持つこともできました。

評価やコメントを頂けることで良い点も悪い点もしっかり現れるため、とても良い「成長のヒント」となります。私はこれこそがUnity1Weekにゲームを投稿する最大のメリットだと個人的に考えています。

ゲームの制作過程・反省

さて、お次は自分が1週間でどのようにゲームを制作していったか、またその反省や考えについても書いていこうと思います。

1週間でゲームを作るということを大切にするため、事前には何も考えず、お題が発表されてからゲームの内容について考え始めました。

そしてお題が発表され、とりあえず1週間をどのように使うかをしっかり計画を立てて行動しようと考えました。計画を立てなかったら間違いなく1週間でゲームが完成しないので...

当時考えた計画は以下の通りです。

Day 1 : アイデアまとめ、方向性決め
Day 2 : ゲームの基本システム、大枠を作る
Day 3 : UIの作成、3Dオブジェクトの作成 余力があればエフェクトやアニメーションもやる
Day 4 : ゲームの形を完成させる、オーディオなどの面白くさせる部分を作りこむ
Day 5 : 休日(講義で忙しい)
Day 6 : 完成度を高める、バグを見つけ修正する、あれば追加要素をつける
Day 7 : 最終調整、投稿

最終日に余裕を持たせながら、計画が思うように進まなかった場合、反対に順調に進んだ場合にやること等をしっかりルーズリーフに書き込んでおり、我ながらしっかりとした計画を立てていたと思います。

しかし、1週間でこのスケジュールは私にはとてもきつかったです。

 大学生というのもあり、講義を受けながらこのハードスケジュールをこなすというのはかなり厳しいものがありました。また、そこまでUnityを使いこなせていないというのもあり、どうしても作業効率は落ちてしまいました。
Day5の金曜日を除いて大学の講義はすべてオンラインで行われたため、かなりの時間をゲーム制作に割くことが出来ましたが、もし対面授業であれば間違いなく遅刻していたでしょう。そもそも1週間でゲームを作るっていかr(ry

また、Day3の計画内容が半端ないです。「余力」とか簡単に書いていますがそれを除いても膨大な作業量です。詳しくはもう少し後で記述します。

では、1日目より詳しい制作過程について説明していきましょう。

1日目はUnityを触らず、できる限りアイデアを出すことに徹底しました。思いついたアイデアを全てルーズリーフに書き込み、それらを組み合わせつつそれが本当に面白いかどうかを吟味しながらゆっくり考えていました。

その結果、「仕分け」「爽快感」を混ぜ合わせた段ボール箱を開けるゲームが誕生しました。
そこからのアイデアの湧きだし方は実に高速で、脳内でいろんなプレイ図をイメージしながら、「こんなことをやったら気持ちいいのではないか?」と考えたり、「こういう開け方はウケるのではないか」などと想像が捗りました。こういう時ってとても楽しいですよね、だれか共感してくれる人いないかな...

ゲームアイデアを出す段階でとても意識したことは、爽快感があるか、プレイヤーがストレスを感じないか、そしてそのゲームが本当に面白いかについてです。爽快感は今回のゲームを作るにあたった個人的な目標ですが、以降2つについては一部を除いてどのようなゲームにおいてもとても大事な観点だと考えています(個人的な考えです)。

もし、そのゲームがつまらないと感じたり、イラっとしてしまうとプレイヤーはそのゲームをやめてしまいます。そうならないために、細かいポイントまでしっかり考えてから実装に移りました。

2日目からはUnityで考えたアイデアを忠実に再現出来るよう、がっつりとプログラミングを進めていきました。ここでのプログラミングはゲームの根幹となる部分であるため、とても慎重に行いました。

これまでゲームを上手く完成形に持っていけなかった一つの要因として無くならないエラーによる挫折がありました。
どうしてもUnityやC#に対する理解が薄いと、エラーの解決力に欠け、またあまり好ましくないコードの記述をしてしまいます。

このゲームを制作する以前はお恥ずかしながら関数という概念すら理解が浅く、ほぼすべての処理をUpdate関数で行うという暴挙に出たこともあります。そんなことをしてしまうと、コードが見づらいだけでなく、バグの温床となってしまいます。
また、Update関数はそれぞれのPCのフレームレート(60FPSだったり144FPSだったり)によって処理を行う回数が異なるため、今回のゲームのような時間を扱う際などにはおかしな挙動を起こしてしまう可能性があります。

流石に同じ轍を二度も踏みたくはなかったため、独自でUnityやC#に関する初学者用書籍を漁ったり、大学のサークル活動を通してある程度勉強しました。そのため、まだこれまでよりは幾分か良いプログラムが出来ました。関数で処理を分けることでここまでも見やすくなるものかとゲームを作りながら感じていました。見やすさって大事...!


そして問題の3日目が来ました。この日は主にUIの作成と3Dオブジェクトの作成がメインでした。ここは特にプレイヤーの目につくポイントなので、できる限りこだわりたいなと考えていました。そのため、DOTweenを使ったイージングによる移動を実装しまくったり、UI自体のお絵描きに沢山時間を割いたりしておりました。

DOTweenとは、オブジェクトの移動から数値の変動に関してまで様々なポイントで活躍する超便利アセットですので、もしまだ触ったことが無ければ一度使ってみることをお勧めします!詳しくはWebで調べてみて下さいな~

そんなこんなしていると、UIの作成とアニメーションだけで1日が終わってしまいました。しまった、こだわり過ぎたかな?なんて考えていました。
しかし、UIにこだわった時間を考慮しないとしても、その実装にはかなりの時間を要しました。

割と意外な気づきでした。当時の想像では、UIと3Dオブジェクトの作成は1:2くらいの時間がかかるだろうと想定していましたが、実際には3:1くらいの比率でした。作成した3Dオブジェクトが割と単純な形であったこともあるのだと思いますが、もう少し緩い計画建てをするべきでした...。

とはいえ、完成したUIは割といい感じだったと思ってます。こだわりたかったもん、仕方ない。

そして4日目と5日目で3Dオブジェクトを完成させ、タイトルとフィニッシュ時の演出も追加しました。

この際に発生したバグで腹がよじれたりしましたが、順調に実装は進みました。

しかし6日目に入り、かなり焦りを感じ始めます。
1週間のほとんどの時間をUnityに費やしていたものの、それでも中々納得の行くものが出来ずかなり苦労していました。

とりあえずここでは計画通り、完成度の向上のためにUIの強化やSE・BGMの追加を行いました。他にも、箱を開けた際に発生するエフェクトを作ってみたりするなど、挑戦的な事も行ってみたりしました。

結果としては大成功で、かなり気持ちいい、爽快感がある仕上がりになってきました。しかし、時間をかけ過ぎてしまい、6日目のうちにゲームを完成させることが出来ず、残った作業は7日目に持ち越すことになりました。

そして7日目。ここで新しいアイデアがふと浮かびました。「フィーバータイム」が欲しい、と。
当時のこのゲームは確かに爽快感はありましたが、盛り上がりに欠けると感じてしまいました。2,3分で完結するゲームですが、その短時間においてでもかなり単調に感じてしまう部分がありました。(画面全然動かないし)
そして何よりゲームバランスの調整を全くしていませんでした。完全に忘れていました。まずい。

このままではいけないとすぐにその実装にかかりました。しかし、フィーバータイムの影響はかなり多くのコード部分に与えられていた他、元々の計画にはなかった要素を入れてしまったため、かなり強引なプログラミングをしてしまいました。
結果として、その後何度か発生したバグとの戦闘となってしまい、投稿に1時間遅刻してしまうという失態を犯してしまいました。(Unity1Weekはとても寛容で、遅刻は全然大丈夫だそうですが)

このように様々な事がありましたが、本当に楽しく実りある1週間となりました。遅刻はしてしまいましたが、あまり時間が足りないから妥協するということはしたくなかったため、これで良かったと思っています。やりたいことは大体全部できました。

次はもうちょっと身の丈に合った計画を立てられるようにしなきゃいけませんね。

次のステップに進むためには

さて、最後に今回のUnity1週間ゲームジャムを通して自分自身にどんな影響を及ぼしたのか、それを踏まえてこれからどうしていくのかを書き記していこうと思います。

Unity1Weekでは本当に多くの収穫がありました。

まず第一に、ゲームを投稿するという行動そのものが大きな影響を与えてくれました。ゲームを投稿することによって、これまで自分ひとりで完結していたゲームが他の沢山のクリエイターやプレイヤーの目に触れることで客観的に見られるようになりました。

評価やコメントを頂くことで初めて自分のゲームはどんなゲームだったのかを知ることが出来ます。案外、思っていたよりこだわった所を褒めて頂いたり、思ってもいなかった点が評価されたりしたので中々面白かったです。

そして、単純な技術力や知識の向上もありました。特に今回はDOTweenの便利さに気づいたり、回転の原点を変える手法を学んだり、パーティクルシステムでできることが増えたりなどなど...。新しいことを覚えるたびに出来ることが増えるのでとてもモチベーションも上がっちゃいます。

モチベーションの話をすると、Unity1Weekで他の方のゲームをプレイする際等にいいものを見ると、負けてられないなと思ってやる気ががっつり上がってしまいます。

Unity1Weekには本当に素晴らしい作品が多く投稿されているので、私もそこに混じるべく、次の開催までにそこから色んな技術を吸収したい所ですが、そんな簡単に得られるようなものではありません。

そのため、段階的で具体的な目標を設置することにしました。

今回のUnity1Weekでは楽しさ・サウンド・操作性においてランクインを果たすことが出来ました。しかし、それに対して雰囲気と斬新さは比較的に低い評価を受けました。

雰囲気に関しては、ストーリー性も無く、画面にはかなりUnityっぽさ(独特なアレ)が残っていましたし、床とかもフリーのテクスチャを持ってきて貼っただけだったので妥当かなとは感じています。
Unity1Weekでいろんなゲームをプレイして得たアイデアを参考にすると、タイトルで簡単なゲームのストーリーを書いてみたり、床をベルトコンベアのように動かせば面白かったかもしれません。

斬新さはずば抜けて低かったので少しショックでした。当初、箱は予想外の方向から開けたりするため、斬新さを少しは獲得できるかもしれないと考えていました。しかし、よくよく考えてみればこれはただの箱を開けるゲームでした。演出にこだわったため、そのような変わった開け方は比較的見づらくなってしまい、結果として今回のような評価になってしまいました。やっぱり客観的な視点って大事...。

そのため、今回立てた目標は、

次回のUnity1Weekで、今回ランクインした3項目でまたランクインを達成させ、総合ランキングで50位以内に入ること

です。中々欲張りかもしれませんが、それくらいのやる気で挑みたいところです。

今回総合ランキングにランクインできなかった大きな要因として、先ほど説明した雰囲気と斬新さが足を引っ張っていました。
ランクインするためには、この2項目をどうにかしなければなりません。

とても難しい2項目ではありますが、雰囲気に関しては悪い点が具体的に見えているので、次はもっと良いように改善する努力が出来そうです。しかし斬新さはどうしてもアイデアに依存しちゃうので、知見を広くすることなどが大事なのでしょうか。ゆっくり蓄えていくことにします。

目指せ!総合ランキングランクイン!!

終わりに

ここまで読んでいただきありがとうございました。まとめることを知らないので、頭の中で思い浮かべたことをずらずらーっと書いてしまいました...。気づいたら6,300文字も書いてる、書きすぎ。

今回はUnity1Weekで作ったゲームの振り返り、またその反省について書いていきました。次の目標は総合ランキング50位以内ではありますが、いつかはもっと多くの人の目につくところまで登り詰めたいですね。

そして何よりプレイヤーを楽しませること、自分も楽しむことを大事にこれからもゲーム開発を行っていきます。

まだまだ書きたいことがあるのですが、流石に長すぎるのでここまでにします。

それでは、また。

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