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