tabletopkit は何をしますか?
visionOS上でTabletopKitを使用してマルチプレイヤー空間ボードゲームを作成します。ボード、駒、カード、サイコロを使ったテーブルトップゲーム体験の構築、プレイヤーシートとターンの管理、Group ActivitiesによるFaceTimeでのゲーム状態の同期、RealityKitによるゲーム要素のレンダリング、仮想テーブル表面での駒のスナップと物理的挙動の実装に使用します。
はじめに
dpearson2699/tabletopkitは、AppleのTabletopKitフレームワークの上に構築されたライブラリで、visionOS向けのマルチプレイヤー空間ボードゲームの作成を簡素化します。
インストール
Swift Package Manager
Package.swiftファイルに依存関係を追加します:
let package = Package(
name: "MyGame",
dependencies: [
.package(url: "https://github.com/dpearson2699/tabletopkit.git", from: "1.0.0"),
],
targets: [
.target(name: "MyGame", dependencies: ["TabletopKit"]),
]
)
CocoaPods
Podfileに以下を追加します:
pod 'TabletopKit', :git => 'https://github.com/dpearson2699/tabletopkit.git'
使い方
ゲームテーブルのセットアップ
import TabletopKit
let table = TabletopGameTable()
table.setupTableSurface() // 仮想テーブルを設定
table.addBoard(named: "Chessboard") // ボードを追加
table.addPieces(["Piece1", "Piece2"]) // 駒を追加
table.addCards(deck: myDeck) // カードを追加
table.addDice() // サイコロを追加
プレイヤーの管理
let seatManager = SeatManager()
seatManager.addPlayer(id: "player1", name: "Alice")
seatManager.addPlayer(id: "player2", name: "Bob")
seatManager.setTurnOrder(["player1", "player2"])
ゲーム状態の同期
table.enableGroupActivity() // FaceTimeでの同期を有効化
table.syncState() // 状態を自動同期
機能
- ボード: カスタムボードのサイズと形状をサポート
- 駒: スナップ動作と物理的挙動(衝突、重力)を実装
- カード: シャッフル、ドロー、プレイ可能
- サイコロ: ランダムロールとアニメーション
- プレイヤーシート: 最大4人までのプレイヤーをサポート
- ターン管理: 順番または自動ターン切り替え
- RealityKit統合: 3Dゲーム要素のレンダリング
ライセンス
MITライセンスの下で公開されています。詳細についてはLICENSEファイルを参照してください。