adminUnity1週間ゲームジャム恒例の1週間ゲームジャムに参加。今回のお題は「さがす」ということで、「何」を「どのように」探すかを考えた。2019サーチ&デストロイするアクションゲームとかも作ってみたいもんだけど、1週間で完成する気がしない。毎回遅刻するのが当たり前みたいになっているので、手堅くコンパクトなゲームを目指した。「対になるカード」を「ソナー」で探す。これならゲーム本体はサクッと作れて余った時間を細かい作り込みに費やせるはず。神経衰弱のルールは単純なので実装はさほど難しくない。13組+ジョーカーの27枚を縦横9×3に並べて、選択したカードをひっくり返すところまでは順調に進んだ。神経衰弱って不規則に配置されたカードにこそ趣があると思う。カードの向きや周辺のカードとの位置関係が記憶の手掛かりになったりもする。一定の範囲内で重ならないようにカードを配置するこれが難しかった。一枚ごとに「ランダムな位置と向きで配置してみて他のカードと重なったらやり直す」という方法だと永遠に終わらない可能性がある。思い通りにならないのが物理演算だと再確認する結果に終わった。最終的には前述の方法の改良版「ランダムに配置するが再試行するたびに重なり判定を緩くする」という方法で実装した。再試行が一万回に達するとほぼ完全に重なっても許容する。良い方法はないのかなぁ。締め切り前日のゲーム設計変更ソナーがついたところで神経衰弱が楽しくならないことに気づく。神経衰弱は一人で遊ぶものではない気がする。一定回数のお手付きでゲームオーバーだと難易度が高すぎるし、何度もカードがめくれるようにすると時間をかければ簡単にクリアできてしまう。いうか時間をかけてまでクリアするモチベーションがない。一度めくったカードは開いたままにして、カードを取る順番を考えるゲーム性に方向転換した。高得点を得るには数字の大きいカードを倍率の高まる後半まで取らない戦略が求められる。今回の開発で得たものTextMeshProを初めてちゃんと使った文字装飾が簡単につけられるのが嬉しい。Physics.CheckBoxメソッドの存在を知ったいわば飛ばないBoxCast対象物が動くと次フレームまで反映されない自前のeasing関数を書けるようになった単純なものならアセットをインポートするまでもないまとめ今回も有意義な一週間でした。naichiさんと参加者の皆さんに感謝。