2.9 KiB
2.9 KiB
ai.card iOS App
atprotoベースのカードゲーム「ai.card」のiOSアプリです。
特徴
- atproto統合: 分散型認証とデータ主権
- リッチなアニメーション: ガチャの迫力ある演出
- カードコレクション: 美しいカード表示とフィルタリング
- ユニークカードシステム: 世界で一人だけが所有できるカード
アーキテクチャ
MVVM + Combine
Views/
├── LoginView # atprotoログイン
├── GachaView # ガチャ画面
├── CollectionView # コレクション画面
├── ProfileView # プロフィール画面
├── CardView # カード表示コンポーネント
└── GachaAnimationView # ガチャアニメーション
Services/
├── APIClient # REST API通信
├── AuthManager # 認証管理
└── CardManager # カード管理
Models/
├── Card # カードデータモデル
└── User # ユーザーデータモデル
技術スタック
- UI: SwiftUI
- データフロー: Combine
- ネットワーク: URLSession
- 認証: atproto (JWT)
- 最小対応OS: iOS 16.0
セットアップ
1. Xcodeプロジェクトを開く
cd ios/AiCard
open AiCard.xcodeproj
2. API設定
開発環境では自動的に localhost:8000
に接続します。
本番環境では api.card.syui.ai
に接続します。
3. ビルド & 実行
- シミュレーターまたは実機でビルド
- atprotoアカウントでログイン
- ガチャを引いてカードを集める
主要機能
認証
- atproto DIDベース認証
- アプリパスワード使用
- 自動セッション管理
ガチャシステム
- 通常ガチャ(無料)
- プレミアムガチャ(確率アップ)
- レアリティ別アニメーション
- ユニークカード対応
カードコレクション
- グリッド表示
- 検索機能
- レアリティフィルタ
- 詳細表示
プロフィール
- ユーザー情報表示
- コレクション統計
- データ同期機能
カードシステム
レアリティ
- ノーマル: 基本カード
- レア: 少し珍しいカード
- スーパーレア: とても珍しいカード
- キラ: 光る演出付きカード(0.1%)
- ユニーク: 世界で一人だけ(0.0001%)
視覚効果
- レアリティ別グラデーション
- キラカードのスパークル効果
- ユニークカードのオーラ効果
- 3Dフリップアニメーション
今後の実装予定
- Push通知
- カード交換機能
- AI.verse連携
- ダークモード対応
- iPad最適化
- ウィジェット対応
注意事項
- iOS 16.0以上が必要
- atprotoアカウントが必要
- インターネット接続が必要