2作目のことを考えていて、ログインで行き詰まった。
POTENTIAは、ゲームの中で直接Googleと連携していた。でも、Mukkit Listも2作目も同じようにしたら?
テスターは作品ごとにGoogle連携をやり直さなければならないし、自分は作品ごとにログインをまたつくって、また管理しなければならない。
そこで、ログインだけを受け持つものを別につくった。名前はSTUDIO GOAT アカウント。
どう動くのか
- 作品は「この人は誰?」とだけ聞く
- アカウントサービスがGoogleに確認して、作品には番号札ひとつだけを返す
- 一度ログインしておけば、次の作品ではGoogleの画面なしで、そのまま通れる
作品が知っているのは、その番号札だけだ。Googleアカウントの情報は作品まで届かない。
守ったこと
- **ゲストですぐ始められるのは、そのまま。**アカウント連携は、望むときだけ
- **Cookieはサービスごとに別。**一か所が破られても、ほかのログインまで広がらないように
- **ゲームからGoogleのスクリプトを外した。**ログインが外に出たので、ゲームはかえって軽く、引き締まった
移す日
すでにGoogleで連携したテスターがいたらどうしよう、と心配した。
同じGoogleの設定をそのまま使って、連携していた人は何もしなくていいようにした。
いざ数えてみると、Googleで連携していたのは自分ひとりだった。
テスターはほとんどがカカオトークのアプリ内ブラウザから入ってきていて、そこではGoogleログインがブロックされていた。
スイッチひとつで新しいやり方と古いやり方を行き来できるようにしてから、オンにした。
問題がなかったので、数時間後に古いコードを取り除いた。一日で終わった。
AIとはこうやった
- 企画するClaudeが設計文書を書き、作業をカード三枚に分けた — アカウントサービス・ゲーム連携・ホームページ
- リポジトリが三つなので、Claude Codeもリポジトリごとに別々に作業した
- ゲーム側のカードは、ゲームを企画するClaudeがもう一度読んで書き足した。ホーム画面アプリやカカオトークのブラウザといった話は、そこから出てきた
企画が一か所にあるので、リポジトリが三つでも混乱しなかった。
学んだこと
ログインは、早く切り離すほど安くつく。
移す人が少ないうちに移すのが、いちばん安い。
ログインが進む順番
- 作品で「STUDIO GOAT アカウントで連携」を押す
- アカウントページに移る。すでにログインしていれば、すぐ3へ進む
- Googleログイン → アカウントサービスが確認する
- アカウントサービスが、一度しか使えない短いコードを持たせて作品へ戻す
- 作品のサーバーがそのコードをアカウントサービスに見せて、番号札を受け取る。コードは1分たつか、一度使えば終わり