ja/Aicard を更新
63
ja%2FAicard.md
Normal file
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`のところに依頼したユーザー名を載せる。そういったアイデアがあります。
|
||||
Reference in New Issue
Block a user