Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

【イベントレポ】: Global Game Jam 2020

イベントのレポート(メモ)です。
参加したのはこちら「Global Game Jam 2020」
参加した会場はヒューマンアカデミー 秋葉原さんです。

peatix.com

ハッシュタグ : #ggj20_human

 

f:id:Raspberly:20200203204106j:plain

 

 

 

他の会場はこちら
会場ごとにハッシュタグが分かれているので、興味のある方は追ってみてください。

ggj.igda.jp

 

 

Global Game Jamとは

世界各地で同時に開催される大規模なゲームジャムです。
毎年1月末に行われ、テーマは直前に発表されます。

ggj.igda.jp

 

 

 

 

タイムスケジュール

事前にタイムスケジュールは公開されていました

1月31日(金)

18:30 開場
19:00 開会式
19:30 開発開始
22:00 企画発表(1チーム2分)

2月1日(土)

18:00 中間発表(1チーム2分)・ピアレビュー(参加者同士の試遊会)

2月2日(日)

15:00 開発終了・アップロード
17:00 作品発表会(1チーム5分)
18:00 閉会式・懇親会
20:00 懇親会終了
21:00 完全撤収

 

 

 

 

 

1日目 

基調講演&テーマ発表

要約すると健康に気をつけろという内容。
・休憩をとれ(2時間に15の休憩)
・お互いに気を配り、何が必要か伝える
・集中できる環境を作る
なぜこんなに健康を推すかというと訴えられないようにするためらしい。

 

今年のテーマは「Repair」です

 

チーム

会場側ですでにチーム分けがされていました。私は7人組のチーム3です。
内約はプランナー1、サウンド1、プログラマー5。内3人が学生。
(2日目からプログラマーが急用のため一人離脱しました)

ゲームエンジンUnity 2019.3.0f6、バージョン管理はGitホスティングサービスはGitHub
コミュニケーションツールはSlack、タスク管理はTrello

 

Trelloは付箋をつ付け貼りする感覚で使えるタスク管理ツールです。
どこまで終わっているのか、どのタスクが残っているかを可視化できます。

f:id:Raspberly:20200205103436p:plain

 

Unityのバージョンは秋葉原会場のSlack内で2019.3.0f6が推奨されていたため、
開発時に苦労することはありませんでした。

 

 

 

企画

ブレインストーミングからアイデアを出し、どれがいいか投票をして決定。

f:id:Raspberly:20200203142447j:plain

その後は具体的なメカニクス、ゴールの設定などを深堀していき仕様を固めて。

f:id:Raspberly:20200203142936j:plain

各要素ごとに役割を分担しました。私の担当はUI周りです。

f:id:Raspberly:20200203143151j:plain

 

企画は「カワイイは心のリペア」をコアに、かわいい女の子がでるゲームになりました。
内容としては女の子が服を拾ったり、おじさんに奪われたりしつつ彼氏との関係を修復することです。

↓は初期のイメージ画像

f:id:Raspberly:20200205103028p:plain

 

 

UI作成

プランナーの方から画面のラフ案をいただいて、それ通りに作っていきます。
せっかくのチーム開発なので、MVPパターンで実装しました。

qiita.com

qiita.com

 

PresenterModel(キャラクターとか)の状態に応じてView(UI)を更新するシステムです。
見よう見まねでやったのでなんか違うかも。

 

 

 

 

 

2日目

ユニティ・テクノロジーズ・ジャパンさんより、缶パン(乾パンじゃないよ)が届きました。
他にも回復アイテムがいっぱい!

f:id:Raspberly:20200203151718j:plain

f:id:Raspberly:20200203151803j:plain

去年と同じパンですが今年は一味違います!


つい最近LINEスタンプでUnityチョットデキルが発売されましたが、
そちらのシールがおまけとしてついてきます!

store.line.me

 

 

 

UI作成

ロジック面ではUniRxDOTweenを使っています。

ゲーム画面

初期ラフ案はこんな感じ。

f:id:Raspberly:20200205105129p:plain

要素を分けると以下の5つ

・タイマー
・ライフ
・スコア
・スタミナ
・アイテム

Modelに当たる部分は他の方の担当なので、ViewPresenterを作成します。

 

View

Viewには画面の更新処理を記述します。
今回のゲームはゲームパッドで操作するため、View側でイベントが発行されることはありません。

 

Presenter

PresenterはModelとViewの橋渡しをする存在です。

これでModelのパラメーター(ReactiveProperty)が変更されるとPresenterがViewを更新するようになります。
これと同じような感じで残りの4つのUIも作ってしまいます。
本当はインターフェースとかも使うらしい。

 

タイトル画面

何かボタンが押されたらシーン遷移する簡単もの。後でブラッシュアップしました。

 

チュートリアル画面

ゲーム開始時にチュートリアル画面を出します。
この時キャラクターが動かないようtimeScaleを0にしましたが、他のコルーチンも全て止まるため断念。
代わりにUniRxで状態管理を行うようにしました。

nimushiki.com

 

リザルト

初期ラフ案はこんな感じ。

f:id:Raspberly:20200205110742p:plain

しかし、ライフやスコアは常時ゲーム画面に映っているため
わざわざリザルトで出す必要性がなく廃止されました。
最終的にはボタンプッシュを促す簡素なものに。

f:id:Raspberly:20200206160548g:plain

 

スタートカウント

チュートリアル画面後にカウントダウンが始まってからゲームが開始します。
カウントダウンがだんだん早くなるようにしたのはただの遊び心

f:id:Raspberly:20200206160731g:plain

 

 

 

中間発表会&懇親会

この時点ではメインシーンのみとりあえず遊べる感じです。
懇親会ではピザとシャンメリーとリンゴジュースがでました。
飲み物にはVTuberのイラストがついています。

f:id:Raspberly:20200203152623j:plain

f:id:Raspberly:20200203152641j:plain

これらはスポンサー様の信州油屋清右衛門さんによるものです。

 

懇親会後も少し作業を進めて、タイトル→ゲームまで推移できるようにしました。

 

 

 

 

 

3日目

UIまわりは大方できたので、
最終日の作業は他オブジェクトとの連携とブラッシュアップがメインです。

f:id:Raspberly:20200203152754j:plain

 

ブラッシュアップ

残り時間がわずかのため、大幅にコードを書く作業ではなく演出強化系の要素をいくつかいれました。

アイテムエフェクト

アイテムを取ったときにエフェクトを追加しました。エフェクトはアセットストアから。

エフェクトの設定はこちらを参考にしました。

baba-s.hatenablog.com

ParticleSystemのPlay On Awakeにチェックを入れると自動的に再生されるようになり、
Stop ActionをDestroyにすることで再生終了後にParticle Systemが自動で削除されます。
Scriptで管理する必要がないため、使い捨てのエフェクトをポンと出したい時に便利。

 

画面揺らし

プレイヤーがおじさんにぶつかった時に画面を揺らします。
個人でやる場合はCamera Playなどを使いますが、今回はこちらを使用しました。

baba-s.hatenablog.com

f:id:Raspberly:20200206161121g:plain

 

タイトルロゴのアニメーション

一見ただタイトルロゴですが、Kawaiiのi二つがぴょんぴょん跳ねるアニメーションを入れました。

f:id:Raspberly:20200206154034g:plain

 

タイトル画面背景のUVスクロール

こちらは最終コミットに間に合わなかった部分。
タイトル画面の背景は直前に追加されましたが、動きがないのは寂しいのでスクールさせました。

 

 

 

 

 

完成品

完成したものがこちらになります。

globalgamejam.org

説明文:
ある日、女の子と彼氏が喧嘩。彼氏が激昂し、彼女の私物をマンションの80階から地上に撒き散らしてしまった!しかも、家を追い出されてしまう始末! 出来るだけ私物を回収して、彼氏との絆を修復させよう!アイテムが散らばるフィールドには変なおじさんがたくさんいるぞ!捕まってしまうと、服を剥ぎ取られてしまう!(エンディング分岐あり)

 

簡単に説明すると、おじさんから逃げながらフィールド内に散らばっている服を集めるというもの。
ルールとして、
・服がそのままスコアになる。
・服を集めれば集めるほど移動が遅くなる。
・おじさんにぶつかると服が奪われる
・奪われる服がなければライフが減る
・おじさんはスコアに応じて増える
・ライフが無くなるか時間経過でゲーム終了

 

 

一連のプレイはこちら(ブログに載せるため、フレーム数を削減しています)

f:id:Raspberly:20200206162411g:plain

 ゲームジャムでは世界観やストーリーを作りこむ余裕がなかったりしますが、
なんとエンディングとエンディングソングが3種類あるという充実っぷり。

・一定スコア以上でクリア → ハッピーエンド
・一定スコア未満でクリア → バッドエンド
・ライフが0になりゲームオーバー → おじさんエンド

 

そのうちUnity Roomにアップロードされるかも。されました。

unityroom.com

 

 

 

 

 

発表会&懇親会

終了後は発表を行い懇親会へ。 

f:id:Raspberly:20200206140416j:plain

f:id:Raspberly:20200206140408j:plain

 懇親会のスポンサー様はオルトプラスさんゲームクリエイターズギルドさんです。

 

 

 

 

体験会

懇親会後はゲームの体験会が開かれました。

Za Janku Mairu

Za Janku Mairu | Global Game Jam

壊れた車でより遠くを目指すゲームです。おかしい挙動を如何に活かすかがポイント。
タイヤやエンジンなど複数のパーツを組み合わせることができる。
ほとんどの場合ひっくり返って動けなくなりますが、稀に高速飛行する組み合わせがあるため、

 

 

ボードゲーム

タイムスリップ系ボードゲームで、彼女に告白をし成功させることが目的です。4人で遊べます。
先に告白を成功したプレイヤーが勝ちです。

 

プレイヤーの取れる行動は、全員を有利にするか不利にするかのどちらかなので、
どのタイミングで告白するかというのが重要そうです。

f:id:Raspberly:20200206133955j:plain

 

 

R.R.R. (Remove Reuse Repair)

R.R.R. (Remove Reuse Repair) | Global Game Jam

unityroom.com

工場でおもちゃを修理するゲームです。
おもちゃはクマのぬいぐるみロボットの三種類でそれぞれパーツが異なります。
ベルトコンベヤーからパーツが流れてくるので回収、
作れるものがあれば必要なパーツを載せて流していきます。

f:id:Raspberly:20200206133941j:plain

このゲームは最大4人までのマルチプレイができ、
お邪魔キャラとして、(プレイヤーの動きを止める)とロボット掃除機床のパーツを回収)がいます。

 

こちらのチームにはとりすーぷさんが在籍しており、開発は設計から行っています。
その時の知見はQiitaでまとめられているのでこちらもぜひぜひ。

qiita.com

qiita.comqiita.com

 

 

Planet Pocket

Planet Pocket | Global Game Jam

唯一のVRゲーム。惑星の修復を行います。
操作方法は銃を撃つ感覚で星にエネルギーを送り、無事送り届けられればクリア。
3回ミスするとゲームオーバーです。
宇宙のSkyBoxと星座をつなぎ合わせたようなUIテキストがとてもいい味を出しています。

 

 

Racing repairs

Racing repairs | Global Game Jam

二人対戦ができるレーシングゲームです。
車がだんだん壊れていくため、 パーツを拾って修理しながら進んでいきます。
壊れたままだと移動速度がものすっごい遅くなります。
(この状態だとバック走行の方が速いらしい)

f:id:Raspberly:20200206133917j:plain

 

 

 

 

修復先生 - Homeroom repair -

修復先生 - Homeroom repair - | Global Game Jam

生徒の関係性を修復し学級崩壊を防ぎゲームです。
席替えや、生徒の趣味嗜好を変化させてクラスの雰囲気を良くしていきます。

生徒はガリエース不良ギャルなど。
基本的に同じタイプの生徒を固めてあげればいいですが、
エースに限ってはライバル意識で反発するので離す必要があります。

趣味は同じもの同士であれば仲が良くなり、きのこ⇔たけのこ、
MacWindowsなど相反するものについては悪くなります。

 

私の場合、Mac好きのギャルを中心に回りをMac好きで囲む(Macサーの姫)戦法で無事クリアできました。
卒業式を迎えるとクリアですが、現状↓の画面で止まってしまうようです。

f:id:Raspberly:20200206133854j:plain

 

 

 

 

 

 

 

他の方の感想ブログとか

note.com

 

qiita.com

 

 

 

 

 

間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。