Private
Public Access
1
0
2
ja/Aicard
syui edited this page 2026-01-13 07:55:19 +00:00

Aicard

カードを集めるiosアプリです。

{
 "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のところに依頼したユーザー名を載せる。そういったアイデアがあります。