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

古いMacBook AirのOSをSierraからMojave経由でCatalinaに上げる

  • UnityアプリのiOS版を出そうにも、iOSビルド用MacのOSが古すぎて最近のUnity+iOSビルドのワークフローが使えなさそうなので、出来るだけ新しいバージョンに上げることに。
  • 普段はWindowsでUnity開発してます

環境

 

まずMojave(10.14系に上げた)

最新はCatalina(10.15系)だった。AppleのOSアップグレードサポートを見ると、SierraからはApp Storeで上げられるとのことだったのでやってみる。

f:id:marudice:20200411143841p:plain

 

この画面。本来はこの画像のように「ダウンロード」を押すと下に残り時間が出るはずが、ダウンロードを押しても下のバーがそもそも出ない。

App Storeのトラブル対応の記事を見て Wifiの確認、DNSを8.8.8.8、再サインイン など試して見るも、効果なし。

 

App StoremacOS Mojave(10.14系. ほぼ最新) のダウンロードを試してみたら、こちらは問題なくすんなり成功。AppleのOSアップグレードサポート によるとMojaveからだとCatalinaは上げやすいらしい。

 

次にCatalina(10.15系)に上げた

Mojave→Catalina へのアップデートは システム環境設定→ソフトウェアアップデートで上げられるそうなのでやってみる。

「今すぐアップグレード」を押すと、8GB程度のダウンロードが始まる。

これはいけそうだと思うも、プログレスバーが一杯になってもアップグレードが始まるわけでもなく、「今すぐアップグレード」がまた押せる状態に戻っている。

押すと平然とダウンロードが再スタート。え、アップグレードしてよ…

 

よく見ると、アップグレード先のOSバージョンの代わりに「(null)」と表示されている。なんか挙動が怪しい・・・。

 

調べると、同じ問題を踏んでいる海外のフォーラムを発見 。

f:id:marudice:20200411145440p:plain

こうなるらしい(上のリンクから転載)。表示も症状もほぼ同じ。さぁどうしたら治るの?

Apple Beta Software Programme に入ってると起こるから一旦抜けた方がいいよ!」とのこと。が、私のMacでは左の「Apple Beta~」の表示はなし。入ってない模様。詰んだ…。

 

ここでふと、App StoremacOS Catalina のページを開いてみる。

f:id:marudice:20200411150755p:plain

「入手」を押すが、先程の「ソフトウェアアップデート」が開くだけ。それじゃダメなんだよ~。と思っていたのですが…

 

f:id:marudice:20200411151048p:plain

なぜか正常にCatalinaのインストール画面が開きました。

「ソフトウェアアップデート」でOSのデータダウンロード後に開くはずだった画面遷移が、App Store経由だとなぜか開いた?理由は分かりません。

 

結局これらをやったことになります。

  • 「ソフトウェアアップデート」から普通にアップグレードしようとする(途中で止まる)
  • App Store経由で再度アップグレード

 

この後は画面に従ってボタンを押したり待ったりして、無事アップグレード出来ました。他事やりながらだけど、2,3日かかってしまいました。

 

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

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

オチ:

【Unity】Assetが未使用かプロジェクト全体をチェックする「ReferenceFinder」の紹介

こんにちは!丸ダイスです!

unityで開発していて、

「このAsset多分使ってないから消したい! でもホントに使ってないか自信がない…消してエラーのなるのは嫌だ…」

って時ないですか?私はあります。 複数人で開発してたりプロジェクトの規模が大きくなった時は特に。

そんなときに便利なのがこの「ReferenceFinder」というエディタ拡張です。 使用イメージはこんな感じ

f:id:marudice:20200113115552g:plain

Assetを右クリック→「Find References」で、プロジェクト内での全ての参照元を表示してくれます。 あるAssetが使っているAssetを洗い出してくれる「Select Dependencies」という標準機能がありますが、その逆ですね。

参照が0なら消してOKということですね。

参照元のAssetを選択したりそのAssetからさらに「Find References」をしたり出来るので、Assetの依存関係を整理する時に超便利です。

元はこちらのDave Lloydさんが公開されたものです。

www.powerhoof.com

これでも十分便利ですが、私が少し改良したコードも置いておきます。

未使用チェックではこちらの方が便利だと思います。

改良点:

  • Prefabからの参照のみチェック → Prefab/Scene/ScriptableObject すべてに対応
  • 孫参照を無視するかどうかを選べるようにした

Image Laboさんとの「Recolit」共同開発のお知らせ

ばんばんわ!丸ダイスです!

いくらか前から、みんな知らないけど実は丸ダイスが作ってるゲームがあるぞという報告ですよ!

それがこちら、「明かり」をたよりに進んでいくアドベンチャーゲームの「Recolit」です。

image-labo.com

RecolitはサークルImage Laboのむじさんがメインで作っているゲームです。

味のあるドット絵やシナリオなど、物語作りの中心はあくまでImage Laboなので

丸ダイスくんの役割はプログラムをモリモリ書いて挙動をいい感じに仕上げるところですね!

今の最新のPVはこちら。

www.youtube.com

本編はまだまだ開発で、この冬コミにバージョンアップした体験版が出せるかも!ということで丸ダイス共々頑張って制作中です!

アドベンチャーゲームはイベント固有の挙動が引くほど多いのが難しいところですが、そこはTreehouse Riddleの開発経験が活きてるのを感じながらキビキビ開発しています!

ちょっと言い訳…

「ま、プログラムだけなら並行開発でもいけるやろ!」…と、最初は思っていたのですが、意外と大変でした!

開発中にもお構いなしにゲームジャムに参加したり他にも原因はあるのですが、丸ダイスの開発スタイルはエクストリームかつなので、

メインで作ってるゲームがちょっと遅れても、気長に待って頂けると幸いです。ちゃんと進んでるよ!

【おしながき】コミックマーケット97

こんばんは!丸ダイスです!

コミックマーケット97の出展情報です!

場所は

12/31(火)4日目 南メ-45b

です!今回は、ぶっちゃけるとあんまりイケてないです!

1.「地球人の島」(C97体験場)100円

f:id:marudice:20191110184129p:plain

完成間近!・・・というほどではないです! でも、確実に進んでますよ!

もうちょっとお待ち下さい! 数はあまり持っていかないので、制作中のものでも触ってみたい!という人はぜひどうぞ!

ほか既作

f:id:marudice:20190727031518j:plain:w150

f:id:marudice:20180730013543p:plain:w150

f:id:marudice:20180730025011j:plain:w150

この辺はいつもどおりです!EQUALINEは委託・ストア販売などないので欲しい方はこの機会にぜひどうぞ!

デジゲー博でやるべきこと・やるべきでないこと

こんにちは!丸ダイスです!

今回初めて参加したデジゲー博2019の振り返りとして、

展示する時に気付いたやるべきこと、やるべきでないことをまとめてみました!

今後参加される方の参考に、何よりも自分が忘れないために!

○ チラシは嫌がられない!持っていってOK

デジゲー博は知ってもらう機会と考えた丸ダイスはこんなチラシを張り切って500枚 持ってきました

f:id:marudice:20191118024832p:plain:w250

街中で配られるチラシって好きですか?私は結構避けちゃいます。

なので、デジゲー博でも嫌がられながら頑張って配る覚悟でいたのですが、実は意外と好意的にもらってもらえます。差し出して払われるようなこともなく、置かれたチラシをもらっていいですか?と聞かれるほど。

わざわざデジゲー博に来るからには、一般参加する側もゲームの情報収集には貪欲な傾向があるのかなと。

気軽にもらえるチラシ(または記念品)はゲームを気に入った方にとってちょっと嬉しい小さな戦利品になるはずです。ぜひ持っていきましょう。

まぁ、流石に400枚ほど余りましたけどね。安いからいいんです。

○ 数分で1サイクルするビルドを用意しよう

ゲームを試遊する側だって、その場でゲームを遊びつくそうだなんて思ってません。

でもいつもの開発中ビルドを置いていたのでは、延々遊んでほかの来場者に触ってもらえなかったり、中途半端なところで終わってしまったりします。

タイトルまたはメニューから初めて、初めて遊んでもゲームの魅力が一番伝わるところを何ステージかを遊んだらまたタイトルに戻る…。

こういうゲーム遷移を用意しておけば、来場者もスッキリと試遊体験を終えることが出来ます。

○ ノートPCは台で底上げをしよう

つまり

f:id:marudice:20191119211116p:plain

こうではなく

f:id:marudice:20191119211650p:plain

こうするということです。

展示会の机は高さ72cm。

来場者は立ったままプレイするので大人の身長ではイスのポーズ!

f:id:marudice:20191119212046p:plain:w300
©Nintendo リングフィットアドベンチャー

になってしまいます。腰が死にます。

来場者の腰を破壊しないためにも、ノートPCは空箱やダンボール(+かけ布)での台での底上げをしましょう。

マウス・キーボード操作の場合は特にそうですが、PV動画を流すだけでも目線に近いので遠くからでも見えやすくなります。

○ デュアルモニターでブース側に「複製」しよう

これホンマ最高です。見た瞬間にパクろうと思いました。

まず、何も考えずに試遊の展示をするとこうなります。

f:id:marudice:20191119212652p:plain

展示が始まるとすぐに気付きます。

f:id:marudice:20191119213048p:plain

人生の敗者です。曖昧な笑顔をして待つかジャマを承知で上から覗き込むしかないです。

ところが、試遊していて「そこはAのジャンプで超えられますよ~」などとまるでプレイ画面が見えてるかのようなセリフを

ブースの中からかけられた覚えはないですか?それはデキる開発者です。

彼らは

f:id:marudice:20191119214714p:plain

こうなってます

『画面を複製』でデュアルモニターにしているところがポイント。 来場者側とブース側で同じ画面が見えるようにすることで、ブースの中にいながらどこで詰まったか、どれがウケたか、どの操作が伝わっていないか手にとるように分かります。 来場者からノートPCのキーボードのような余計なものを隠しているのも素晴らしい(事情次第ではノートPCが表のパターンもあり)。流石にここまでやる方は多くはなかったですが、試遊展示の品質としては最上級でしょう。

ホンマ真似しよ…。

✕ 頒布物を大量に持ってこない(試遊メインの場合)

  • 試遊はスペースを占有する
  • そもそも時間がやや短い(コミケは10:00~16:00)

という関係上、試遊展示をする限り頒布出来る数は限られます。

開発中の作品以外に過去作がある場合でも、頒布物の持ち込み数はかなり控えめでいいでしょう。

ちなみに今回の頒布実績は…

コミケの既作持ち込みの感覚で合計100部の持ち込みをして…

f:id:marudice:20191119215832p:plain:w400

100部のPC同人ゲームはこの量。キャスターで1人で運べる量はこれが限度です。

頒布数は24部でした。

一番頒布されたEQUALINEはメイン展示な上イベント会場でしか頒布しない作品です。 実際はもっと少なくて見積もって良いでしょう。

機会があれば出せる分を手荷物で少し持っていくか、思い切ってなしでも良さそうです。

(もちろん、「新作の完成版を出す!試遊もナシ!」という方針なら話は別!)

✕ 展示作品は1スペース1つにしておこう

今回のスペースはこんな感じでした(写真取ってなかった・・・)

f:id:marudice:20191119221708p:plain

明らかに詰め込みすぎです。真似しないで下さい(遊んでくれた人、せまくてごめんなさい・・)

PCまたはモニターを並べられるのは1スペース2つが限度。 ゲームのPV映像を流すPCを置くと2作展示は難しいです。

どちらを遊んでいいか迷ってしまうことを考えても、1作に注力した展示にするのがいいと思います。

○ (おまけ)ゲームの感想は声に出しながら遊ぼう

How To ではないですが、他のサークルさんとの交流する上で今回良かったポイントです。 ほかのサークルさんのゲームを遊ぶ時、良いところ、面白いところ、難しいところ、分からなかったところをどんどん口に出す(ex「ここのアクション手応えいいですね!」「こういうテーマのゲームだからこの衣装なんですね!」「この敵強すぎじゃないですか!?」「あのアイテムどうやって取るんだろう?」…)スタイルにしてみました。

ちょっと実況っぽい。本物のゲーム実況は大衆に向かった話すので難しいですが、展示会では誰よりもそのゲームに詳しい開発者が目の前に居ます。

そこから苦労話やこだわりポイントを聞かせてもらったり、好意的な会話に発展しやすかったように思います。

未来の良き開発仲間としてほかのサークルさんと仲良くなりたいな…と思っていた私にとって、「まずは好意的に作品に触れて、感想をどんどん伝える」スタイルはデジゲー博を有意義に体験するとても良い方法でした。

(この後、その場で話して終わりにしないために名刺を渡して名乗ると途端に営業っぽくなります。が、仕方ないです…心を強く持ちましょう…)

まとめ

以上です!!いろいろありましたが、楽しいデジゲー博でした!みなさんお疲れ様でした!

【EQUALINE】ver 1.3.1 アップデートパッチ

「EQUALINE」のver1.3.1アップデートパッチを配信しました。

ご購入の方は下記URLよりダウンロード&実行で最新版に更新可能です。

https://drive.google.com/uc?id=161wcYrzuG7ch_oU_A2dfhosnCKAtg22b

どのバージョンからでも最新版に更新可能です!

ver1.3.1での修正内容は以下の通りです

・Endlessでの問題探索に関するバグを修正

・Mission 21の説明文の誤字を訂正