推しアイデア
「ぱいもん」を育てるとレベルが上がります。 レベルは2.9.0や3.10.0のようにPythonのバージョンに紐付いています レベルが上がるごとに「ぱいもん」は新しいスキルを覚えますが、スキルには使用可能バージョンがあり.......あとは察しの通りです
―
「ぱいもん」を育てるとレベルが上がります。 レベルは2.9.0や3.10.0のようにPythonのバージョンに紐付いています レベルが上がるごとに「ぱいもん」は新しいスキルを覚えますが、スキルには使用可能バージョンがあり.......あとは察しの通りです
今年はヘビ年、すなわちPython年なのでPythonを育てる育成ゲームという新年に相応しいプロダクトを作りました
CQRS + ES GraphQL
Python Monster、縮めて「ぱいもん」 この星の、不思議な不思議な生き物、VimにEmacsにVS Codeに、その種類は、100、200、300、いや、それ以上かもしれない。 君だけの「ぱいもん」を育て「ぱいもんマスター」を目指せ!!
このゲームは「ぱいもん」を育成し「ぱいもんマスター」を目指すゲームです。 「ぱいもん」はあなたのgithubのリポジトリから誕生し、Pythonのコードを書くたびに成長していきます。 たくさんPythonを書いて君だけの「ぱいもん」を育て上げましょう!
「ぱいもん」に紐づけられたリポジトリでPythonを書くとその差分を検出し1日1回ログインボーナスとして経験値がもらえます
1日3回「ぱいもん」をトレーニングすることもできます トレーニングをすると経験値がもらえます
決められた経験値を集めると「ぱいもん」はレベルアップします。 レベルの上がり方はPythonのバージョンのバージョンの上がり方と同じです 1.0.0から頑張ってレベルを上げていきましょう!
レベルアップするとランダムでスキルを覚えることができます スキルには最小使用可能レベルと最大使用可能レベルがあります。 スキルには後方互換性がないものが数多くあります。 スキルを覚えてもレベルが足りず使えなかったり、レベルが高すぎて使えなくなるものもあるので注意しましょう! スキルは最大4つまで覚えることができます(ポケモン方式)
1つレベルが上がると5SPもらえます。 「ぱいもん」にはHP、攻撃、防御、スピードの4つのパラメータがあり、SPを割り振ると各ステータスが上昇します。(ドラクエ方式) 育成したい「ぱいもん」の型に合わせてSPを割り振りましょう
サーバーサイドは CQRS + ES の構成です。 DBはEventStoreはDynamoDB、ReadModelはTiDBを採用しています。 使用言語はCommandもQueryもGoで、認証はFirebase Authenticationを用いています DynamoDBからTiDBへの同期はDynamoDB Streamsを用いて変更を検出しlambdaで処理してTiDBに反映させています クライアントとのinterfaceはGraphQLを採用しています
クライアントサイドはWebで Next.jsを用いた構成です。
Figjamを用いてイベントストーミングを行いイベントスキーマの設計を行いました Figjam イベントストーミング