unity1week「1ボタン」振り返り

今回投稿したゲーム

unityroom.com

今回のゲームのアイデア

ジャンル分けしていて、アクションゲームやリズムゲーム、パズルゲームに割り当てたアイデアは実際に盛り込んだ要素によっては違うジャンルになりそうですね。

今回もアイデア出しではEMSフレームワークを使用しています。 「ボタン」を押してどうするかと連想していましたが、最終的には花の牡丹と猪をかけたゲームにしようと考えました。猪を座らせて「座れや牡丹」という「座れば牡丹」の洒落です。

「1ボタン」から連想したアイデア

今回の反省

開発期間が大きく遅れ、投稿日が相互評価期間終了2日前になってしまいました。結局のところ、洒落から始まったアイデアが最後まで煮詰まらなかったことで作業がどんどんと後ろ倒しになったことが原因ですね。

今後の展望

次回は王道を行くといいますか、テーマを素直に受け止めてゲームを考えたいですね。 言葉遊びは封印して、どうすれば面白い体験になるか設計することに重きを置くよう心がけます。

unity1week「ふる」振り返り

今回投稿したゲーム

unityroom.com

今回のゲームのアイデア

今回のゲームではEMS Frameworkを使用してアイデア出しを行いましたが、1つだけいつもと手順を変えました。これまでは初めにゲームジャムのお題から連想される単語を書き出してから「○○を××して△△を□□する」の形式で書き出していました。 今回は「炭酸飲料を振って噴き出す」というアイデアが最初にあり、「噴き出してどうするか」のアイデアを出すことにしました。

イデア出しで出てきた「炭酸飲料が噴き出してどうするか」の案

その後、アイデアを整理するために、アイデアをジャンル分けしました。ジャンル分けする際の手順は先に似たようなアイデアをまとめてから、まとまり毎にラベルを付けました。今回は5種類のラベルを付けました。

ジャンル分けした後のアイデア

評価

今回のゲームの評価

楽しさ 絵作り サウンド 操作性 雰囲気 斬新さ
3.261 2.957 2.783 3.217 3 3.478

今回はこれまでのゲームの中でも比較的「斬新さ」の評価が高くなりました。いただいたコメントにあるように派手さやダイナミックさがうまく表現できていたのかもしれませんね。

前回の課題

前回のゲームジャムではUIの設定に不備があって環境に寄ってプレイできない期間がありました。 ※現在はプレイできます。 そのため、今回はゲームを公開する際に普段作業に使用しているPCとは別のPCでもプレイするようにしました。また、可能であればスマホにも対応させるつもりでした。

バグ対策

今回のゲームではソーダ瓶を振って投げる性質上、瓶が画面外に行ってしまう可能性がありました。原因は2つ挙げられます。1つはオブジェクトの移動速度が速いことによるすり抜け、もう一つはプレイヤーがソーダ瓶を振る動作が画面外で行われることです。

オブジェクトの移動速度が速いことによるすり抜け対策

ソーダ瓶を投げて跳ね返る動作は速い方が派手に見えるため、移動速度を落とす方法は避け、RigidBodyの設定を変更しました。InspectorでCollision DetectionContinuousに変更することで、移動速度の速いオブジェクトでも当たり判定がすり抜けなくなるそうです。 計算量は増えますが、壁や画面内のブロックにも同じ設定を加えています。

ソーダ瓶オブジェクトのColliderの設定

画面外でソーダ瓶を振っても壁を突き抜けないようにする

今回は直観的に操作できるよう、マウスやタッチ操作で直接ソーダ瓶を振るようにしました。これにより問題となったのは「ソーダ瓶を画面外で投げてしまう」問題です。物理演算ですり抜けているわけではないので、上記の方法は使用できません。 こちらに関しては、もっとスマートな方法があると思いますが、画面外でソーダ瓶を離したら画面内にワープするようにしました。 少なくともソーダ瓶が行方不明になって画面内の状態がわからなくなってしまうことはなくなったと思います。

unity1week「つたえる」振り返り

こんにちは。ムーシャです。 間が空いてしまい、次回のゲームジャムの日程が公開されていますが、前回の振り返りをしたいと思います。

今回投稿したゲーム

unityroom.com

今回はタイピングゲームを作成しました。 表示されている単語は正解から数文字だけ子音を変換したものです。正解の単語をお題から想像して入力するゲームになってます。

今回のゲームのアイデア

今回の制作でもEMS Frameworkを使用したアイデア出しを行ってから実装に取り掛かりました。 EMS Frameworkではその前のゲームジャムでも参加したなノですに協力してもらいました。

「つたえる」から連想されるキーワード
「つたえる」から連想されるゲームのアイデア

評価

楽しさ 絵作り サウンド 操作性 雰囲気 斬新さ
2.76 2.28 2.68 2.84 2.48 2.88

今回は全ての項目で3点を下回ってしまいました。 単語の入力がしやすいように気を使いましたが、特定の環境ではプレイできないバグが発生してしまったことで、台無しになってしまったかもしれません。

今回の反省:一部環境でプレイできない状態が続いていた

ゲームを公開後にプレイヤーの方からいただいたコメントで、ゲームがプレイできない場合があることが判明しました。原因を調べてみるとウィンドウのサイズによってUIが表示されていませんでした。

原因:UIの設定漏れ

今回UIが正しく表示されていなかった問題の原因は、CanvasオブジェクトのUI Scale Modeの値をScale With Screen Sizeへ変更するのを忘れていたことです。値がConstant Pixel Sizeのままだったため、

初期状態のCanvasScaler

変更後のCanvasScaler

実装していた環境や投稿後に自分でページにアクセスしてプレイした際にはUIが表示されていましたが、モニターサイズが異なるなど、ウィンドウサイズが異なる条件ではほとんどのUIがひょうじできなくなってしまいます。UnityのSceneビューで確認すると赤いバツ印が表示されているのがわかると思います。

画面サイズを変更した場合のゲーム画面および配置されたUI

今後の対策

今後の対策としては、投稿したゲームは開発に使用したPCだけでなく、別のPCでもプレイして正常に動作することを確認するようにしようと思います。

unity1week「Re」振り返り

こんにちは。ムーシャです。ブログを書き始めてからのゲームジャム参加は今回で3回目です。

今回作成したゲーム

unityroom.com

新しい試み:「EMS Framework」を使用して複数人でゲームのアイデアを出す

今回のゲームジャムでは、一人で考えるのではなく、他のメンバーと一緒にアイデア出しを行いました。 アイデア出しの際にはEMS Frameworkを使用しました。アイデア出しは4人で行いましたが、実際にゲーム手を動かすのは自分だけということもあり、アイデア出しではEMS Framework の基本形式「○○を××して、△△を□□するゲーム」を書き出すところまでを行いました。※参加メンバー全員で1つのゲームを作る場合にはアイデアの絞りこみが必要です。

また、手順としては下記の様に行いました。

  1. 「Re」から連想される言葉を書き出すブレストを行う。
  2. 書き出された言葉を分類し、整理する。
  3. 「Re」から連想される言葉を含めたEMS Framework の基本形式を書き出すブレストを行う。
  4. 書き出されたゲームのアイデアを分類し、整理する。

ゲームのテーマは初めに決まっていたものの、そこから一発でゲームのアイデアまで落とし込むことは難しいです。そのため、1回目のブレストでは「Re」から連想される言葉を書き出すようにしてゲームのアイデアに繋がる材料集めを行いました。その後、2回目のブレストで「○○を××して、△△を□□するゲーム」の形式に落とし込みます。 このように段階的にアイデア出しを行うことで、初めてアイデア出しを行うメンバーであっても全く意見を出すことをできないという事態を避けることができます。

最終的には、参加したメンバー全員が2回目のブレストでゲームのアイデアを出すことができました。

「Re」から連想される言葉を書き出す1回目のブレスト
ゲームのアイデアを書き出す2回目のブレスト

イデア出しに参加したメンバーが投稿したゲーム

今回私の投稿したゲームの他に、EMS Framework で書き出されたアイデアをもとに他のメンバーがゲームを投稿しています。「Re」と名の付く単語を用いてギミックを操作できるのは斬新なアイデアと思います。沢山のアイデアを出すことができるので、同じイベントに参加しているメンバーと一緒にゲームのアイデア出しをしていても全く違うゲームが出来上がりました。

unityroom.com

みんなの評価

今回は2Dゲームを投稿したこともあり、「操作性」の点数は3.45となりました。前回の2.727よりは高い評価となりましたが、前々回の3.676は下回ります。対して「雰囲気」の点数は3.45で前回・前々回よりも高い評価でした。

ゲームの評価

「操作性」を向上させるためにはどうするか

他の方が投稿したゲームをプレイしてみたところ、「操作性」を向上させるために私のゲームで不足していることが分かったような気がします。 他の方のゲームでは操作に対してエフェクトが発生するようになっているため、自分の操作に対して納得感があるように思います。私のゲームで言えば、「マウスをクリックするとキャロルちゃん(プレイヤー)が悪口の書かれた吹き出しを破壊する」ようにデザインしていましたが、恐らく見かけ上は「マウスをクリックしたら周りの府議だしが爆発した」ように映ったと思います。 「キャロルちゃんが破壊した」という納得感が薄いような気がします。

今後の展望

今回はEMS Framework でアイデア出しを行ったことで、ゲームのアイデアはすぐに決まりました。 そのため、最低限の機能を実装したゲームは出来上がりました。 しかし、プレイヤーにどんな体験をしてもらいたいかまでは想像できていない印象があります。 また、UIやタイトル、背景などのグラフィックデザインを設計していないため、UnityのUIパーツやデザインをプリセットのまま使用しています。 次回は、体験やデザインを作りながら考えるのではなく、あらかじめ設計を資料にまとめてから実装するようにしたいと思います。

unity1week「ためる」振り返り

こんにちは。ムーシャです。 今回は、9月に参加したunity1weekを振り返りたいと思います。

今回作成したゲーム

unityroom.com

目標「3Dゲームを投稿する」

今回のunity1weekではできるだけ3Dゲームを投稿しようと考えていました。 これまでのunity1weekで投稿したゲームは2Dゲームがほとんどで、3Dゲームを投稿したのは3年も前になります。自前の素材を用意しやすいこともあり、2Dゲームの方がイメージを合わせやすかったことが主な要因です。

たまには「3Dで作るとしたらどう表現するか」を考えたくなったので、このような目標となりました。

見つかった課題:「操作性」の評価が低い

前回投稿したゲームでは「一目で操作方法がわかる」ことを目標としていたこともあり、「操作性」の評価も過去最高点でした。しかし、今回投稿した『ドッカンクリーナー』では前回のゲームより1点低い2.7点でした。

今回(左)と前回(右)投稿したゲームの評価

今回と前回で何が違うのか

前回のゲームはステージ制で、新しいギミックが出る度に操作方法を表示していました。チュートリアルや操作方法の確認のためにゲームを中断する必要をなくすためです。 対して今回のゲームではステージ数が1つで、制限時間も1分だけとしていました。ゲームを開始してからチュートリアルを行うと、プレイ時間が倍になってしまいます。そのため、操作説明欄に操作方法を書くだけになってしまいました。

また、前回のゲームはマウス操作のみであったのに対して、今回のゲームでは自機の移動のためにキーボード操作が必要となっております。

他の3Dゲームはどうして「操作性」が高いのか

今回のゲームを投稿した段階では、チュートリアルや操作説明をどのように行えばよいか分かっていなかったので、他の方が投稿した3Dゲームを参考にすることとしました。 私から見て、「操作性」を高くする要因はこんな感じだと思います。

  • マウス操作のみで完結する
  • チュートリアルや操作方法の確認をスムーズに行える

特にチュートリアルは、ゲーム開始直後に実施するようにしている方がいました。私は最初にタイトル画面を表示し、そこからゲームやチュートリアルへ遷移させるものだと思っていたので意外でした。よくよく考えてみれば、1プレイの時間を短くしてすぐに遊べるゲームを作っているのに、わざわざタイトル画面からチュートリアルを選択させるのは不親切でした。 ゲーム開始してすぐにチュートリアルを行うことで、操作方法を理解してからゲームに臨むという流れを作ることができます。

私が最初に想像していた画面遷移と他の方がやっていた画面遷移

ゲームのアップデート

相互評価期間は終了しましたが、せっかく課題が見つかったので、ゲームを更新しました。 まず簡単にできるところで、操作方法を常に右下に表示するようにしました。やりすぎかもしれないですが、チュートリアルだけでなくゲーム中にも表示しています。

ゲーム中に操作方法を表示する

次に、チュートリアルも追加しました。チュートリアルを行うタイミングはゲーム開始直後でタイトル画面を表示する前です。もちろん右下に操作方法を表示しています。プレイヤーには「ゴミを吸い取る」ことやってもらいたいので、「ゴミを吸う」⇒「荷物を破壊する」⇒「ゴミを吸う」一連の流れを体験してもらうこととしました。この流れが完了するとタイトル画面に遷移します。

チュートリアル

今後の展望

次回は操作方法の説明を単に書くだけでなく、直観的にわかるように作りたいですね。今回は右下に操作方法を常に表示するようにしましたが、できるだけゲーム中には操作説明を読ませたくないのが本音です。そのため、次回のunity1weekに参加する際はプレイヤーを誘導するようにUIやステージを構成するにはどうすればよいか調べようと思います。

unity1week「ためる」ゲームのアイデアが浮かぶまで

今回投稿したゲーム「ドッカンクリーナー」

こんにちは。ムーシャです。 今回も1週間ゲームジャムに参加したので、どうやってゲームのアイデア出しを行ったか書きたいと思います。

unityroom.com

テーマ決め

今回の1週間ゲームジャムも、初めに「ためる」から連想される言葉を書き出しました。この時点で「ゴミをためる」ことは出てきていましたが、どういったゲームにするかは決まっていませんでした。

「ためる」から連想したキーワード

また、今回は初めにキーワードを書き出した際には、その数が少し物足りませんでした。今回のテーマは平仮名で「ためる」です。漢字で何通りかの書き方があるはずですが、私は「貯める」「溜める」の2つしか知りませんでした。そこで国語辞典と漢和辞典で他の「ためる」が無いか調べました。Webの辞書ではなく、紙の辞書です。一つの言葉を調べるのはWebが最適だと思いますが、同じ読みの言葉を調べるのには五十音順に並んでいる紙の辞書の方が優れています。

新しく知った言葉「矯める」

辞書を引いた結果、新しく「矯める」という言葉を知りました。 意味は主に3つあるようです。

  1. 曲げたり、まっすぐにしてものの形をよくする
  2. 悪い癖や性質、習慣などを直す
  3. 片目をふさいで、よく狙う

また、「矯」という字が使われる身近な言葉には、「矯正」があります。この言葉も欠点を直すような意味を持っていますね。 ここまで読むと「直す」意味合いが強い言葉ですが、逆に「事実を曲げる」という意味を持つ「矯飾」という言葉もあるようです。他にも「強い。激しい。いさましい。」という意味の「矯激」なんてものも...

芋づる式に言葉を知ることができるので、辞書を引くのも面白いですね。

今回のテーマ「たまったゴミをふっとばす」

さて、キーワードを書き出して、言葉の意味を調べた結果、言葉遊びのようにテーマが決まりました。書き出されたキーワードから「○○を××する」の形で文章を作ったところ、「たまったゴミをふっとばす」のが一番スッキリしそうだとおもいました。「ゴミをためる」という「悪い習慣を直す(矯める)」で、「ためる」という言葉が二重にかかるところがよいですね。

文章化したテーマ

そうして、「ふっとばすゴミ」はどうしようかと考えていたら、ごみの分別方法を思い出しました。

「○○cm以下は燃えるごみ」

処分の面倒な粗大ゴミも小さくしてしまえば、簡単に捨てられるようにすればよいのです。しかし、人力では粗大ごみを小さくするのは大変です。そこで、もう一つのアイデア「ゴミをねらいうつ」です。

「矯める」の意味には「片目をふさいでよくねらう」とありました。これは「矯」の漢字の一部である「矢」のことを指しているはずですが、「ねらう」の部分だけ使うことにしました。やはり、大きいものを壊して小さくするのは爆発させるのが私の好みです。

そのため、ロボット掃除機に大砲を取り付けて、大きいゴミを撃つようにしました。ちなみに、ごみを片付けることが目的なので、壊して終わりではなく、ちゃんと小さいゴミを吸い込まないとスコアが増えないようにしています。

おそうじタンク

まとめ

1週間ゲームジャムではいろいろな解釈のできるお題が出されます。ゲームを作る機会として活用するのも良いですが、この機会に自分の知らない言葉を調べてみるのも良いと思います。

unity1week「そろえる」振り返り

今回作成したゲーム

unityroom.com

目標「一目で操作方法がわかる」

今回はゲーム内の表示や障害物のデザイン、操作説明欄を見て、どのように操作すればよいかが、すぐにわかるゲームを目指しました。そのおかげか、「操作性」の評価は過去最高の3.6点でした。

『進め!突貫ハイウェイ』の評価点

まず、初めて登場する障害物を使用するステージには他の障害物は配置せず、代わりに操作説明を付けるようにしました。ただ説明を付けるだけでは不自然なので、道路標識の様に青地に白文字で説明を書いています。

また、プレイヤーが移動させる障害物「動く床」には矢印やタイヤを付けました。ゲームをプレイしながら説明を行っていますので、どのように動くかイメージしやすいデザインの方が良いと思ったためです。

初めて使用するギミックが登場するステージには操作説明を表示しました

結果として今回の試みは成功したと思います。プレイした方々からは良いコメントをいただきました。それに加えて、「操作性」の評価は3.6点となりました。この点数は、私がこれまでに投稿したゲームの中で最高得点です。

プレイしていただいた方々、ありがとうございました。

『進め!突貫ハイウェイ』ができるまで

イデア出し

今回のゲームでは、「そろえる」から連想される言葉を書き出すことから始めました。

中には「そろえる」に関係しそうなゲームの名前も記入しています。

「そろえる」から連想したワード

自分の中で、アイデアが出尽くしたら、「○○を××する」の形式でどんなゲームを作るか書き出します。

最終的には「道路の高さをそろえる」ゲームを作ることにしました。

ゲームのアイデア

今回、このアイデア出しには1日使いましたが、「○○を××する」の形で書き出せたものは少ないことは課題です。次は最低でも20個はアイデアを出したいところです。

今回新しく触れたもの

スプライトの9スライス

これまでも2Dゲームは投稿してきましたが、Unityで2Dゲームを作る際に使用できる便利な機能はほとんど使ってきませんでした。特に、色々な大きさの障害物を作るので、[スプライトの9スライス](https://docs.unity3d.com/ja/2020.3/Manual/9SliceSprites.html)は必須の機能でした。

動く床の長さを調整する際に、模様が連続して表示させています。また、道は横方向には連続して表示し、縦方向には柱の長さだけを変更するようにしています。模様を引き延ばす以外の表示ができるのはとても便利です。また、9スライスの機能を使用することによって、模様のどこを引き延ばしたり、連続して表示したりするかを決めることができるので、作る素材が少なく済みました。

Scroll View

Scroll Viewはタイトル画面で、プレイするステージを選択するボタンを並べるのに使用しています。これまでは、ステージを1種類しか用意していなかったり、順番にプレイしていくことが前提だったため、タイトル画面には「スタート」の1種類しか必要ありませんでした。対して、今回はステージ数も今までで一番多くするつもりでしたので、ステージを選択するボタンをいい感じに並べられる機能が欲しくなりました。

スクリプトを書かなくても機能するので、お試しとして手軽に利用することができました。

今後、会話シーンにログを実装する際にこの機能を利用することが出来そうです。今回はボタンをフリーハンドで並べただけなので、次に使う時には自動で並べる機能を追加してみたいです。

参考リンク

docs.unity3d.com

hirokuma.blog