ここから遊べる(?)
https://building-microservices.gomiba.co/
Balatroのような目標クリア型のローグライトや、CookieClikerのようなインクリメンタルゲームを、自分の近しい領域に持ってきたら面白いんじゃないか?と思ってGeminiとおしゃべりしながら作っている。
全然違うけれどUpload Labsは比較的雰囲気が近いかもしれない: Steam:Upload Labs
考え方はこんなかんじ:
- クライアントがリクエストを送ってきて、そのリクエストに応えるレスポンスを返すとスコアが増える
- リクエストを処理するために、サーバとDBが必要で、それぞれ負荷がかかる
- より多くのリクエストを処理するために、サーバやDBを増やしたり、用途ごとに分離したりが必要
- 特定のリクエストはキャッシュを利用できたり、非同期で処理をしてもよいので、これらを処理すると更にスコアを伸ばせる
- サーバは一定時間でデプロイが発生して、その間はダウンタイムになる
- ので、エラーを回避するために冗長化してローリング or Blue/Greenデプロイが必要
- サーバやDBを増やすとコストも増加する
ISUCONのゲーム化、といえば、そうね、という感じもする。あれは限られた状況でやるのでまたちょっと違いそうだけど。
とはいえ、まだ土台部分しかなく、ゲーム要素はない。
ここからいくつかパターンがありそうで、どうしようかな〜という感じ。
- 例えばお題と条件が提示されて、達成すると要素が開放されていくとか
- お題
- 「3req/s以上」
- 負荷の高いリクエストうまく処理するには…
- 「サクセスレート99%以上」
- エラーが起こらないようにするために、冗長化をしないと…
- 「3req/s以上」
- 要素の開放
- 決まった路線で要素が開放されていく
- インクリメンタルっぽさ
- ゲームオーバーがなくて、攻略方法が常に存在する
- ランダムなカードを選んで開放される
- ローグライト
- 「サーバをゲット」→「次のお題からサーバを1台ふやせるぞ!」
- 「キャッシュをゲット」→「Readリクエストの負荷を下げられるぞ!」
- 「スケールアップをゲット」→「よく高負荷になっちゃうここをスケールアップだ!」
- 「クライアントをゲット」→「よりリクエストを増やせるけれど負荷大丈夫かなあ…」
- 選択によっては詰む
- 決まった路線で要素が開放されていく
- お題
- お題もなくて、一定のスコアになると要素が開放されていくのもあり
- より放置ゲーム感がでてくる
ローグライトな方向性が一番面白そうな気もするので、それで進んでみようかな〜