ゲーム開発チーム「丸ダイス」の開発ブログです! 公式サイトはこちら

1週間で1時間規模のパズルアクションがなぜ作れたか

丸ダイスです!

unity1weekというオンラインのゲームジャムイベントで「さかだちの街」というゲームを3人チームで制作しました。

f:id:marudice:20200310061117g:plain:w200

さかだちの街 | フリーゲーム投稿サイト unityroom

unity1weekにはこれまでも何度か参加していたのですが、今回総合ランキング1位という栄誉を頂くことが出来ました。

丸ダイス喜びの感激ツイート

Twitterでもゲーム紹介ページでも多くのコメントを頂きましたが、

  • 完成度
  • クォリティ
  • (ステージ数など)ボリューム

といったものが多く、総合的に「1週間という期間に対して、作られたものの量と質が高い」と感じて頂けたようです。…なので

f:id:marudice:20200310013738p:plain:w50 1時間 プレイヤー挙動の実装

こんな感じで「誰が・どれだけ・何に」時間を使ったのかが分かるように書いてみようと思います。

※正確な記録ではなく、チャットログ・コミットログ・記憶からの概算です。また、あくまで丸ダイス目線なので、ほかの2人のものは知らなかったり精度が落ちます。

※フチヌローさんも振り返り記事を書いてくれました!こちらではあまり触れないアニメ作りについて詳しく書かれてます!

「さかだちの街」チーム制作振り返り|フチヌロー|note

登場人物は、開発に参加したこの3人です。

アイコン 名前 主な担当
f:id:marudice:20200310013738p:plain:w50 丸ダイス ディレクション・プログラム・UnityEditorを使うこと全て @dice_maru
f:id:marudice:20200310013956p:plain:w50 フチヌロー アートデザイン・キャラクタードット・背景グラフィック  @futinuro
f:id:marudice:20200310014011p:plain:w50 Puzzler.K レベルデザインの全て @k_puzzler

目次

-6日目 2人での共同開発を決定

f:id:marudice:20200310013738p:plain:w50 f:id:marudice:20200310013956p:plain:w50 1時間 共同開発の交渉

unity1week に限らず、画作りが出来る人と組みたいなぁ…と思っていた丸ダイスは

お会いした時に「絵は描けるけど、プログラムが難しくて…」と話していたフチヌローさんにDMを送ります。 快諾を頂いて一安心。2人開発が決定しました。

立て続けにクソ長DMを送り、

f:id:marudice:20200309043428p:plain:w200

  • コミュニケーション手段:Discord
  • 開発環境:UnityのVersion統一
  • プロジェクトの共有手段:Google Drive

を決めました。

ついでに、丸ダイス以外はunity1week経験が多くなかったので、知ってもらった方が動きやすかろうと思いスケジュール感を共有しました。

-5日目 ボイチャでのチームメイクMTG

f:id:marudice:20200310013738p:plain:w50 f:id:marudice:20200310013956p:plain:w50 1時間 ボイチャで打ち合わせ

お互い知らないことが多すぎたので、まずはDiscordのボイスチャットで打ち合わせをしました。

どんなスキルがあるか? 何を作りたいか? ゲームジャムに参加するモチベーションはなにか?

といったことを聞いたり話したりして、

  • フチヌローさんは絵作りに専念
  • 丸ダイスはそれ以外
  • 企画は二人で考える
  • たぶんドット絵の2Dゲーム
  • ドット背景を活かせると強い。ドットアニメも多分いける。

と、作業分担が決まって企画を考える方針が立ちました。

また、お題発表の24日(月・祝)にお互い企画を持ち寄ってリアルで打ち合わせ ということも決めて解散。

-2日目 開発環境の準備。『企画』と『アイデア』のフォーマットを共有

f:id:marudice:20200310013738p:plain:w50 3時間 Google Driveの事前準備
f:id:marudice:20200310013738p:plain:w50 1時間 Githubリポジトリ、プロジェクト準備
f:id:marudice:20200310013738p:plain:w50 2時間 『企画』と『アイデア』のフォーマットを共有

開発の準備 f:id:marudice:20200310013738p:plain:w40

Githubは私しか使ったことないようなので即諦めました。ぶっつけで使うにはGitはあまりにも難しい。

Google Driveの自動共有について調べて、「素材共有用」「プロジェクト共有用」の2つのフォルダを作って終了。

Unityのキャッシュファイルが大量に共有されてしまうのが懸念でしたが、なんとかなるやろと思ってました(なりませんでした。地獄を見ます)。

自分で使うリポジトリや最小プロジェクトのセットアップはいつも通りなので苦もなく完了。

持ち寄る『企画』と『アイデア』のフォーマットを決めた f:id:marudice:20200310013738p:plain:w40

『企画』は、こちらのフォーマットをそのまま使うことにしました。

ゲームジャムで役立つ超速ゲーム企画 – Unity Learning Materials

(私はこれを、去年7月のゲームジャムで たアケイクさんとryosukeさんがRECを共同開発された時のレポートで知って感銘を受けました。 ゲームジャムとチーム開発がイメージしやすい筆致で書かれていて、必読です。 たアケイクさんの企画のノウハウ、もっと知りたい。)

この『企画』のフォーマットは、形式に従おうとすると自ずと何をするゲームなのかが明確な企画になる点で非常に優れているのですが、その分書く難易度は高いです。

より良いゲームジャムを経験してもらうために、受け身でなく企画に参加出来るようにしたかったです。

なので、ネタを出すハードルを下げるため、面白そうなキーワードを書いた『アイデア』だけでも出来るだけ持ってきて下さい!と伝えました。

0日目深夜 各自で「アイデア」と「企画」を出した

f:id:marudice:20200310013738p:plain:w50 3時間 企画・アイデア出し
f:id:marudice:20200310013956p:plain:w50 ?時間 企画・アイデア出し

お題発表後の深夜1時。まず『アイデア』を思いつく限り出しました。最終的にはこんな感じに。

f:id:marudice:20200312021345p:plain:w400

予想以上に難しく、「逆」っていじわるなお題だな…と思ったのをよく覚えています。

一人でやってますが、いわゆるブレストです。 思いついたキーワードを片っ端から書いては貼ります。

カテゴリに分類出来ることには途中で気付き、シチュエーションありきで一発ネタで終わりそうな「立場が逆転」系よりも

動きや見た目に結びついている「ひっくり返す」系の方が筋が良さそうだと悩んでいたのですが……

企画1.「Shooting Me(Second Person Shooting)」

  • テーマと表現
    • 無機質なハコ頭人間(なんでもよい)
  • プレイヤーの行動
    • 敵視点の画面を見ながら自分を操作して敵を撃ち殺す
  • メカニクス
    • 人物視点型シューター

f:id:marudice:20200312021550p:plain:w100

企画2.「逆立ちのアリス」

  • テーマと表現
  • プレイヤーの行動
    • 逆立ちすると自分以外の重力が反転。スイッチを押すと世界が反転して、逆立ちはぶら下がりになる。
  • メカニクス
    • 2Dパズルアクション

f:id:marudice:20200312021633p:plain:w100

最終的には「いけそう」な企画として思いついたのはこの2つでした。

まずシューターの方を思いつき、そこそこ「いけそう」でしたが、ドット絵とは相性最悪だったので抑えの企画としました。

本題はもう一方。ポストイットに「逆立ち」と書いた時は、内心「…で?」とセルフツッコミを入れたゴミアイデアでしたが、絵が「ぶら下がってる」ように見えた瞬間に脳に電撃が走りました。

後の思考プロセスは(逆立ちで世界をひっくり返すとぶら下がり。これだと逆立ちに意味がないから周りが「自分の下」に落ちる。 おまけで逆立ち時の性能差。 一貫性があって少し変な挙動のルール=新しいパズルゲームが作れる。 逆立ちで走り回るゲームはほぼ見たことないしインパクトもよし)と、「逆立ちを反転=ぶら下がり」を起点に企画が固まりました。

私はメカニクスや行動から考えるタイプなので、どちらもテーマと表現は後付けです。このフォーマットをちゃんと書くのは初めてでしたが、確かにそこまで考えている方が企画に説得力がありそう。

企画出来ますオーラを出した手前もう1つ出したかったですが、思いつかなかったのとAM4時を回っていたので仕方なく終了……。

フチヌローさんが考えてたアイデア類はこちらから。

1日目 企画決定!Puzzler.K参戦!仕様を固めて制作開始

f:id:marudice:20200310013738p:plain:w50f:id:marudice:20200310013956p:plain:w50 2時間 企画MTG
f:id:marudice:20200310013738p:plain:w50f:id:marudice:20200310013956p:plain:w50 1時間 グラフィックのタスクと仕様MTG
f:id:marudice:20200310013738p:plain:w50f:id:marudice:20200310014011p:plain:w50 1時間 パズルの仮仕様MTG
f:id:marudice:20200310014011p:plain:w50 ?時間 パズルの作問開始(+6問)
f:id:marudice:20200310013956p:plain:w50 ?時間 アートデザイン
f:id:marudice:20200310013738p:plain:w50f:id:marudice:20200310013956p:plain:w50 1時間 プレイヤーデザイン相談
f:id:marudice:20200310013738p:plain:w50 6時間 プレイヤー基本挙動の実装

時は2/24 月・祝 振り返れば長い一日の始まりです…。

9:30 企画MTG f:id:marudice:20200310013738p:plain:w40 f:id:marudice:20200310013956p:plain:w40

都内の喫茶店。フチヌローさんと直接あっての企画会議。早朝のおかげでノートやiPadを広げて話しやすかったです。

私は企画2つとアイデアノート。フチヌローさんは企画はなし、iPadにアイデアをたくさん書いてきてくれました。

フチヌローさんも「鮭の遡上」「逆脱出ゲーム」「北風と太陽」「聖剣を抜かない」といった企画に近かったり面白くなりそうなアイデアがありましたが、話し合った結果『逆立ちのアリス』に決定。

ただしデザインについては一度考えてみたいとのことで宿題になりました。

12:00 グラフィックのタスクと仕様MTG

そのままグラフィックタスクと仕様を決めました。

プレイヤードットは、「立ち・走り・逆立ち・逆立ち走り・ジャンプ」など必須なものから、「箱押し・逆立ち開遷移・逆立ちジャンプ・ゴールダンス」 などゲーム仕様や余力次第なものがあると伝えてリストアップ。

プレイヤードットはどうしても最優先だけど、ギミック・背景・エフェクトも余力があればやろうというところまで決定。 得意なドット背景を遊びに活かせないのを申し訳なく思いつつ…。

14:00 パズルの仮仕様MTG f:id:marudice:20200310014011p:plain:w40 f:id:marudice:20200310013738p:plain:w40

午後1時。『逆立ちのアリス』はPuzzler.Kさんなら素晴らしいパズルを作れるゲームだという確信はあったので、帰りの電車に乗ったらすぐさま連絡を取りました。

幸いにも時間が取れるとのことだったので、正式にチームに入ってもらえました。(Puzzler.Kさんは以前から一緒にゲームを作ってる丸ダイスのサークルメンバーです)

帰着後すぐにDiscordでMTGです。 経緯の説明から、ゲームの基本アイデアを伝え、作れそうか?どんなギミックが欲しいか?を聞きます。

Puzzler.Kさんは硬派なパズラーなので、ギミックを増やしたがる丸ダイスを気にせず

  • 押せるブロック
  • 押すと世界が反転するスイッチ(=逆立ちが「ぶら下がり」になる)

だけで作ることに。 作ってみないと分からない点は仮として、基本的なパズル仕様はここで決めました。

15:00 パズルの作問開始(+6問) f:id:marudice:20200310014011p:plain:w40

実際に作ってもらいながら、疑問点はDiscordで適宜相談。 箱は押せないとあまり面白くないことが分かり、箱に潰されたらどうするかが問題に。

面白さ・納得感・手触り・パズルの作りやすさの観点で、

  • 16:9 に合わせて1画面1問の (8+上下0.5マス)x16
  • 順立ち: ジャンプ1マス・ブロックを押せる
  • 逆立ち: ジャンプ不可(仮)・ブロックを押せない
  • ぶら下がり: 左右移動と落下が可能
  • 空中移動: 可能だが重力強め
  • 逆立ち・世界反転はプレイヤーやブロックが接地しないと起こらない
  • 並んだブロックはまとめて押せる
  • ブロック落下と自分落下はブロックが勝つ。圧死はなしで1マスとして挟まる。

こう決まりました。

f:id:marudice:20200310060033p:plain:w250

こんな感じの「ブロックに乗って逆立ちで浮き上がる」問題を中心に6問完成。…まだ動いてもいないのに、おそるべき速度です。

25:00 プレイヤーデザイン相談 f:id:marudice:20200310013956p:plain:w40 f:id:marudice:20200310013738p:plain:w40

MTG後に描くと言っていたデザインが無事出来上がりました。

f:id:marudice:20200310053955p:plain:w200

(世界観がイメージしにくいプレイヤー単体のデザインが上がってきたらどうしよう……)というのはとんだ杞憂。

どれも世界観もイメージしやすい素晴らしいデザインでしたので、一番好みのものを選んでもらいました(真ん中に)

「現代的な町並みを、平然とした顔で女の子が逆立ちで疾走」…見た目のインパクトも十分そうでした。

デザインに一日使ったので、最悪マップチップは素材を活用するかもとだけ伝えて終了。

20:00 プレイヤーの基本挙動実装 f:id:marudice:20200310013738p:plain:w50

パズルの仮仕様MTGまで昼食すら取らずに話し続けて疲れ果てていたので、ぶっちゃけ午後はダラけててました(チャットだけは返してた)。でも夜には開始。

まずは初めて使うUnity TileMapEditorを導入。

棒人間と、フリーアセットで最低限の陸地を用意して、2Dプラットフォーマーの基本挙動をガリガリ実装していきます。

ジャンプのある2Dアクションを作るのは初なので割とイチからゴリゴリ書いていきます。歩行・ジャンプが出来るところまで実装して終了。28時頃に就寝。

どの距離でも1マスに乗りやすいように、カーブエディタで軌跡を描いて空中浮遊のようなジャンプ挙動にしました(結局ほぼ放物線になりましたが・・)

f:id:marudice:20200312024915p:plain:w100

www.youtube.com

2日目 アニメ出来始め。目標ステージ数追加。地獄のブロック実装

f:id:marudice:20200310013956p:plain:w50 ?時間 アニメ(立ち・逆立ち)
f:id:marudice:20200310014011p:plain:w50 ?時間 反転を中心に+10問
f:id:marudice:20200310013738p:plain:w50 6.5時間 逆立ち・ブロック挙動の実装

もちろん適宜話しつつですが、ここからは基本分業で作業です。

絵:「立ち・逆立ち」 f:id:marudice:20200310013956p:plain:w40

f:id:marudice:20200312035805p:plain f:id:marudice:20200312035747p:plain

描いてもらったら、すぐに組み込み!

細かな修正箇所はあったものの、無事2点完了!

問:反転中心に+10問 f:id:marudice:20200310014011p:plain:w40

f:id:marudice:20200312035856p:plain

昨日はあまり作らなかった反転スイッチ系の問題を作ってくれました。

5ステージx3ワールドの予定でしたが、既に15ステージを超えて1問が軽そうだったので 易10,中10,難5 くらいに目標アップ。

「逆立ちジャンプ」は、出来ないことを利用した問題が出た時点で正式に確定。(アニメの作成難度も高そうだった)

また、「天井にぶつかっても擦ったまま平行移動」といった遊びやすさの為の仕様で、一部修正が必要なのが発覚。

マ:箱挙動、さかだち を実装 f:id:marudice:20200310013738p:plain:w40

地獄の「押せて落ちる箱挙動」。せいぜいI字ブロックやL字のブロックを想像していたら、Puzzler.K先生からは既に

f:id:marudice:20200312040333p:plain

こんな問題が上がって頭を抱えていました。要件は

  • サイズ1.0の箱がサイズ1.0の穴にハマる。横からも上からもあり。
  • 箱が任意の形に連結する
  • プレイヤーの上に落ちると、1.0の高さで止まる(プレイヤーは高さ1.0を走り抜けるため、当然1.0より小さい)
  • 直感的に共押し(押されたブロックが他のブロックを押す)が起こる

こんな感じです。つらい。 が、気合で実装しました。 大ざっぱに言うと、

箱は常にKinematicで動かし、速度に直交した方向に縮めた形で全ての連結箱を同時にBoxCastしました。

この時点ではバグだらけ。適宜直しました。 箱挙動NG集だけで記事がかけそうなくらいヤバイ仕様。

逆立ちは箱の速度を変えて全部止まるのを待つだけなので簡単でした。29時前に就寝…。

www.youtube.com

3日目 マップチップは素材利用に決定。ステージ遷移と量産の準備完了。

f:id:marudice:20200310013956p:plain:w50 ?時間 アニメ(走り・逆立ち走り)
f:id:marudice:20200310013738p:plain:w50 f:id:marudice:20200310013956p:plain:w50 1時間 残りの絵タスクMTG
f:id:marudice:20200310014011p:plain:w50 ?時間 既存の修正と、+5問
f:id:marudice:20200310013738p:plain:w50 5時間 パズル量産準備、エリア遷移

絵:「走り・逆立ち走り」 f:id:marudice:20200310013956p:plain:w40

f:id:marudice:20200312044141p:plain:w80 f:id:marudice:20200312044245p:plain:w80

歩きっぽい絵か走りっぽい絵か迷ってたようですが、どちらも良かったのでお好みにしてもらいました。

移動アニメが入っていい感じに!

絵:マップチップはAssetを使うことに f:id:marudice:20200310013738p:plain:w40 f:id:marudice:20200310013956p:plain:w40

必須のプレイヤーアニメの進捗的にマップチップ手作りはキツそうだということで、素材を使わせてもらうことにしました。

頑張って探して、合いそうなものを発見。 背景も、これを張り合わせて作ろうという話になりました

opengameart.org

問:既存の修正と、+5問 f:id:marudice:20200310014011p:plain:w40

f:id:marudice:20200312052326p:plain

発覚した仕様に合わせて既存のパズルを修正しつつ5問を追加してくれました。

ただし、パズルの右端・左端を揃える・開放的な街なかのイメージにするため左右の端は広めに取る といった新たな修正項目も発覚…。

マ:パズル量産準備、エリア遷移 f:id:marudice:20200310013738p:plain:w40

反転スイッチ以外の仕様が揃って、素材でマップチップを作る許しも出たので、初めて使うTileMapEditorと格闘します。

公式のRule Tileは少し試してやめて、ウディタ形式でタイルを作れるプラグインを使いました。

assetstore.unity.com

↑のドット絵CityをPhotoshopに放り込んでタイルを作り、最低限の地形と箱は爆速で配置出来るようにしました。

youtu.be

どのパズルからでもすぐに確認&ミスなく編集&後から並べ替え」が出来るようにするため、

ショートカット一発で選択中のパズルの開始状態に飛べるようにEditor拡張も整備して、Editor側の量産準備は完了!

youtu.be

クリア判定・ステージ遷移も作りました。クリア演出を凝りたい思いをグッと抑えて、右端に達してたらクリア扱いにしてカメラが遅れてついてくるだけ。29時半就寝。

www.youtube.com

4日目 パズルの並びを本格的に考え始める。必須アクションは実装完了。

f:id:marudice:20200310013956p:plain:w50 ?時間 アニメ(押し)
f:id:marudice:20200310014011p:plain:w50 f:id:marudice:20200310013738p:plain:w50 1時間 パズルの並べ方MTG
f:id:marudice:20200310013738p:plain:w50 5時間 世界反転、ぶら下がり、軽い演出を実装

絵:「押し」 f:id:marudice:20200310013956p:plain:w40

f:id:marudice:20200313020437p:plain:w80

> ロ<)

これの時に、横何ピクセルが当たり判定か決めました。

問:パズルを並べるには反転ゴール考慮が必須と判明 f:id:marudice:20200310014011p:plain:w40 f:id:marudice:20200310013738p:plain:w40

パズルを正確に理解しないとワールド内のパズルを並べられないことが分かったので、Puzzler.Kさんにやってもらうことになりました。

例えば、「2-4 ほかくのわな」のパズル原案はこれですが、

f:id:marudice:20200313022751p:plain:w300

完成形では上下反転して配置されています。

f:id:marudice:20200313022903p:plain:w400

どういうことかというと、原案のパズルは問題によって上下が反転したままゴールすることがあるので、その次に配置するパズルは上下反転しておかないと

パズルが成立しないです。実際、1つ前の「2-3 ぐるぐるぐる」は反転ゴールなので、

f:id:marudice:20200313024201p:plain

無事原案通りになります。これがこの日に判明し、Puzzler.Kさんに並び替えをお願いすることに。

マ:世界反転、ぶら下がり、BGM f:id:marudice:20200310013738p:plain:w40

「世界反転はこれをY Scaleで多分出来る」、という下準備はしていたのでやってみたらあっさり完了。

箱も親にスケールが入る前提で実装していてよかった…。

プレイヤーだけが反転のルールに背くので、反転が終わった瞬間スケールリセットして座標を身長分ズラしました。意外と違和感なく繋がりました。

youtu.be

このあたりからBGMやSEも適宜入れてました。

ドット絵なので音も可能な限り電子音やピコピコ系で揃えることに。初の試みだったので苦労しました。

www.youtube.com

もう4日目なのに ザ☆チュートリアル みたいなパズルが4つ並んでるのが世界の全てだったことに不安を覚えてました。29時半にコミットが切れてました。

f:id:marudice:20200313032118p:plain

5日目 怒涛のワールド配置とあふれ出るバグ

f:id:marudice:20200310013956p:plain:w50 ?時間 アニメ(逆立ち開始)・反転スイッチ
f:id:marudice:20200310014011p:plain:w50 ?時間 ワールド1,2の並び替え
f:id:marudice:20200310013738p:plain:w50 ?時間 ワールド1,2の配置

絵:「逆立ち開始」・スイッチ f:id:marudice:20200310013956p:plain:w40

www.youtube.com (フチヌローさんのYoutubeお借りしました)

完成のために必須なアニメではないのですが、逆立ちアクションの感触が段違いに良くなる確信があったので入れてもらいました。

当たり前に見えてすごく工夫されたアニメなので、フチヌローさんの振り返り記事を是非ご覧下さい。

(逆回し出来そうだったので、「逆立ち解除」にも使いました。こっそりと…)

仮で作ったプログラマー臭い世界反転スイッチの画像が

f:id:marudice:20200313042803p:plain

秒でキレイな画像に!スゴイ!

f:id:marudice:20200313042839p:plain

問:ワールド1,2を並べ替えて、配置 f:id:marudice:20200310014011p:plain:w40 f:id:marudice:20200310013738p:plain:w40

Puzzler.Kさんが並べ替えたのを、丸ダイスがガンガン配置していきます。

このあたりで、W1:逆立ち W2:世界反転 W3:箱リフト と、必須要素が増えるタイミングと、各ワールド10問ずつになることが決定。

並べるf:id:marudice:20200310014011p:plain:w40はパズルの左右端をつなげたり上下を気にしたりと考えることが多くて大変です。

配置するf:id:marudice:20200310013738p:plain:w40の方が早いですが、新しいパズルで起きたバグやワールド2から登場する上下反転配置で時々実装してたのでどっちもどっち。

f:id:marudice:20200313040256p:plain

f:id:marudice:20200313040324p:plain

ちゃんとしたパズルがゲームっぽくつながって、急激にゴールが見え始めました。最終コミットが28時半でした。

ワールドクリアしても虚無の空間に落ちて Index out of Exception になる以外は

6日目 全アニメ完遂! 全配置完了! デバッグしながら演出強化

f:id:marudice:20200310013956p:plain:w50 ?時間 アニメ(ジャンプ)、背景作成開始
f:id:marudice:20200310014011p:plain:w50 f:id:marudice:20200310013738p:plain:w50 ?時間 別解潰し、通しデバッグ
f:id:marudice:20200310013738p:plain:w50 10時間 にぎやかしデブリ、反転エフェクトなど演出

土曜日。寝て起きたら午後でした。

問:ワールド3の配置。パズルの通しチェック f:id:marudice:20200310014011p:plain:w40 f:id:marudice:20200310013738p:plain:w40

ワールド3は仕様的に新要素はないので手早く配置。 17時頃には全10x3ステージの配置は終わってました。

物量的には十分すぎたのでレベルデザインは品質上げのフェーズへ。

ここでGoogle DriveによるUnityプロジェクト共有」という罠がついに牙を剥き、

Puzzler.Kさんはプロジェクトの丸ごとダウンロードを何度かやるハメになりました……。

…ともかく、私以外で初めてEditorを触るPuzzler.Kさんがパズルの別解チェック兼、問題なく遊べるか通しデバッグしました。

パズルをどう直すかはPuzzler.Kさん次第なので、丸ダイスは他の作業と平行して言われるがまま配置を修正…。

絵:「ジャンプ」 f:id:marudice:20200310013956p:plain:w40

www.youtube.com

祝!全アニメ完成です!

絵:ストーリー共有。背景を作り始める f:id:marudice:20200310013956p:plain:w40 f:id:marudice:20200310013738p:plain:w40

ワールド構成が決まった時点で脳内確定してたプチストーリー

  • 朝: 登校中
  • 夕方: 下校中
  • 夜: 夜遊び

を、いよいよ背景に取り掛かる段階でフチヌローさんに共有。

朝・夕方・夜 さえ合ってれば良いので、背景画像の構成(画像の分割方法、枚数・ピクセルサイズ、リピート有無)はおまかせしました。

マ:演出面の強化 f:id:marudice:20200310013738p:plain:w40

無音で地味な演出、どこまでも同じ背景、タイトルなし、ワールドの終わりは虚無の空間…という状態だったので、

 にぎやかしデブリシステム

「適当な小さいアイテムをばらまいたら絵的にハデだし、重力の変化が視覚的に分かっていいジャン!」と思ってたので作ってみた。

youtu.be

↑多すぎることに気づいてない頃

配置もスプライトのランダム化も自動化すると、なんかジャラジャラ出したくなっちゃう病気。

さらにプレイヤーが蹴飛ばしたり出来るようにもしたけど、処理も重かったし気が散る、プレイヤー接地がなぜかまれにバグる という最悪の自体で正気に戻りました。

f:id:marudice:20200313052149p:plain:w200

↑正気に戻った後

箱としかインタラクションしないようにして、数も2~4コ。地味だけどアクセントになりました。

(ゲームと関係ないのに、開発中一番バグ調査に時間を浪費しました・・・)

 逆立ちエフェクト・世界反転エフェクト

youtu.be

合わせて遷移時間とかも調整。ここで「逆立ち」「世界反転」の感触が一気によくなりました。

特に、曲調が変わって2-1で初めて出会う「世界反転」は、いまだ未知の不思議なことが起こるワクワク感を出したかった。

寝ないつもりで朝を迎えたのに起きたら昼だったので、30時(6時)~11時くらいが睡眠時間だったようです。

7日目 背景滑り込み完成!いろいろねじ込んで間に合…ってないけど完成!

f:id:marudice:20200310013956p:plain:w50 ?時間 ワールド2,3の背景素材・ゲームサムネイル
f:id:marudice:20200310014011p:plain:w50 ?時間 デバッグ・パズル最終調整
f:id:marudice:20200310013738p:plain:w50 10時間 ストーリー演出、タイトル画面、ポーズ・スキップ、ランキング、リリース作業

~12:30 マ:デモ作成 f:id:marudice:20200310013738p:plain:w40

Recolitの開発経験とコードを活かして、プチストーリーに合わせたセリフを入れました。

ワールドクリアとワールド開始が基本ですが、

1-1はあえてなしで1-2に最初のセリフを持ってきたのがにしたのがすぐに触れるゲーム体験に出来ていい感じに。

~17:30 問:デバッグ・パズル最終調整 f:id:marudice:20200310014011p:plain:w40

デバッグ・別解潰しを続けてましたが、17時ごろに最後の問題修正を入れたらもうやることはないので離脱してもらいました。

挙動バグは一応報告してもらいましたが、すぐ直せないものは諦めました。

~18:00 絵:背景素材全部! f:id:marudice:20200310013956p:plain:w40

昼に起きたらワールド1の背景は出来てました。

レベルデザインに合わせた背景になっててビックリ。Editorすら開いてないはずがどうやって・・・。未だに謎です(今度聞いてみよう)。

質が落ちても全部揃えることを優先してくれて助かりました。最後にガッツが出せるクリエイターは強いです。 おかげで2,3の背景も18時頃滑り込み。

サムネイル画像を作ってもらいつつ、丸ダイスはリリース作業に専念します。

~18:00 マ:タイトル画面 f:id:marudice:20200310013738p:plain:w40

少し悩んでゲームタイトルも決めました。逆立ちをひらがなにすると締まりがよかったのでシンプルに「さかだちの街」。

何気にマウス・キー両対応のUIです。

最後の追い込み f:id:marudice:20200310013738p:plain:w40 f:id:marudice:20200310013956p:plain:w40

~18:45 ポーズ・スキップ機能

一本道パズルは詰むと即「キミの冒険はここまでだ!」なのでねじ込みました

~19:20 ランキング

NCMBを使ったことあるとは言え、インポート等含めて30分なのでやっぱりスゴイ。全クリ自慢くらいしか意味がないのでおまけ。

naichiさんの「とにかく手軽に」の心遣いが染みる… GitHub - naichilab/unity-simple-ranking

~20:00 ビルド&リリース(ver1.0.0 公開出来ず)

IL2CPP重いよ~(いつもの)。ビルド失敗してない! 滑り込んだ! と思いきや、1-1で即地形抜け。

WebGLでPhysics2Dがそもそも動作しない最悪のケースが浮かんで真っ青になりました。 フチヌローさんに土下座して、まずは深呼吸。

~20:30 リリース(ver1.0.1 公開!)

よく考えたら落ちてるんだからPhysics2Dは動いてます。TileMapのコリジョンが死んでるいう感だったので、お願いGoogle!ですぐ対処出来ました。

(原因は、「Tile Mapに使うテクスチャはWrite Enableにしないとビルド時にTile Colliderが当たりを作れない」。知らんがな。)

最低限遊べることだけ確認して、公開!!! せっかく無遅刻ペースだったんだもの!

~21:50 リリース(ver1.0.2 バグ修正して完成!)

ほぼ空だった説明を書いたり、「遊んで下さい!」と言える状態に。 お二人と挨拶して解散!お疲れ様でした!!

~22:30 宣伝ツイート

バズりたい~!

振り返って

反省点

Google Driveでのプロジェクト共有はキツイです。代替手段、プリーズ……。

よかった点

フチヌローさんの可愛いドット絵やPuzzler.Kさんの解いて楽しいパズルは、ゲームに大きな魅力を与えてくれて、私には作れないものです。

ゲームはいいものを作るために求められる専門性があまりにも多いです。そこそこレベルなら「全部俺」も可能ですが、少なくとも私にはすべてを高いレベルで習得出来そうにないです…。

自分に作れない魅力を作り出せる人とのチームは、コミュニケーションなどの困難を補って十分なほど

私の目指す「より良いゲーム作り」を助けてくれるものだと、改めて確信することが出来たのがよかったです。

あとは単純にいいゲームが作れました!

で結局、「1週間で1時間規模のパズルアクションがなぜ作れたか」?

それはまぁ、3人いたからでは… f:id:marudice:20200313215638p:plain:w30

8日目~(?)

f:id:marudice:20200313221621p:plain

丸ダイスのゲームジャムは、もう少し続きました(続く?)

オチ: