From d7316f14d1608e406c3f4a92db449e1bb45af249 Mon Sep 17 00:00:00 2001 From: syui Date: Tue, 5 Nov 2024 23:40:02 +0000 Subject: [PATCH] =?UTF-8?q?at=20=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- at.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 at.md diff --git a/at.md b/at.md new file mode 100644 index 0000000..fe45ca4 --- /dev/null +++ b/at.md @@ -0,0 +1,24 @@ +atprotoを利用したゲームの仕組みを解説。 + +# 配信 + +まずは配信の仕組みを解説します。 + +https://o.syui.ai/post/syui.ai/3l7lj463zbo2m + +この仕組みはatで作成されています。コメント(チャット)はoauthでログインしているaccount(bluesky)のpdsに保存され、投稿自体もpdsに保存されます。 + +https://at.syu.is/at/did:plc:uqzpqmrjnptsxezjx4xuh2mn/ai.unravel.syui.post/3l7lj463zbo2m + +プレイヤーはlive配信中にobsで録画もします。配信終了後にvideoをrestreamer(server)にuploadします。live playerをvideo playerに置き換えたページに更新すればokです。 + +ただし、この場合、liveするたびにurlが変更されますので、配信時には新しいurlを作って共有する必要があります。 + +# ゲーム + +ゲームアカウントもこのような仕組みで実装できればと考えています。つまり、oauthでログインして、例えば、collectionに`ai.game.syui.status`を作ります。スタート時にそれを読み込んでキャラクターのパラメータに反映させます。レベルが上がると上書きされるか新たに追加されます。 + +今までは自作apiを使っていましたが、独自のpdsを立てるか、blueskyのpdsを使うとこのようなことが可能です。ゲームデータはpdsに保存されるので個人のsnsアカウントに紐づいています。 + +ゲームを削除したいときは`ai.game.syui.status`などを削除すればいいでしょう。自分でapiを実行しなければならないので開発者用ではありますが、こちらでツールやuiを用意することもできます。 +