Private
Public Access
1
0

ja/Aicard を更新

2026-01-13 07:55:07 +00:00
parent 534ea81241
commit 46b91391ad

63
ja%2FAicard.md Normal file

@@ -0,0 +1,63 @@
# Aicard
カードを集めるiosアプリです。
```json
{
"name": "Aicard",
"id": "ai.card",
"repo": "ai/card",
"bundle": "ai.syui.card",
"domain": "card.syui.ai"
}
```
## ゲームの分離
ゲームはいくつもの要素で成り立っています。しかし、それぞれの要素が独立して動くことが望ましいため、`Airse`というゲームで作っていた機能の一部を`Aicard`に分離しました。
そのため、アカウントの作成、ゲームデータの作成、保存を分離することにしました。
また、収益化に最も適したプラットフォームはios(app store)だと考えたことも要因の一つです。
これでデータと収益化がそれぞれ独立して動き、連携できる形になりました。
### Aicard [ローカルデータ]
- アカウントデータの作成
- ゲームデータをリモートに保存
- 課金システム
### Airse [リモートデータ]
- アカウントデータの読み取り、反映
## アカウントの新規作成
`syu.is`というatproto pds serverがあります。独自運用しており、ゲームアカウントとしても使用することにしました。
ただし、atprotoを採用する以上、知識がある人はリモートデータを書き換える事が可能です。これは、Airseに影響します。
これを防ぐため、新規作成されたアカウントは、一時的なuuidを発行することで、そのuuidを使ってsessionを復元できるだけにし、アカウントのrecord操作をできない仕組みにしました。
このような仕組みのため、`syu.is`のアカウントはデータ改ざんがないものとみなし、特別な扱いを受けます。
1. maxの値が通常よりも高く設定される
2. usernameの省略表記
## ゲーム性
Aicardは、カードを集めるゲームです。集めたカードは、Airseというアクションゲームに反映されます。
非常にシンプルな作りになっており、webでも動きます。
## UIを作る
ゲームエンジンでUIを作るのは大変でクオリティも低いことから、プレイヤー(user)のUIは`card.syui.ai`をueのweb browserで表示します。
AirseのUIを兼ねることで開発の負担軽減とクオリティの向上を図ります。
## カードの依頼
ユーザーが有料で依頼する形のものを用意すると面白いかもしれない。
その際は、カードの`© syui`のところに依頼したユーザー名を載せる。そういったアイデアがあります。