盆栽SOUL
「カメラの前に座るだけ。あなたの呼吸と表情が、世界にひとつの盆栽になる。」 BONSAI SOULは、Googleの最新AI技術を活用し、プレイヤーの生体データ(表情・視線・呼吸・動作)からリアルタイムでデジタル盆栽を生成・育成するAI駆動型体験ゲームです。 1.
Core trick
Computes bonsai traits from MediaPipe face and pose landmarks, storing only hashed numeric values instead of face images.
Description
「カメラの前に座るだけ。あなたの呼吸と表情が、世界にひとつの盆栽になる。」
BONSAI SOULは、Googleの最新AI技術を活用し、プレイヤーの生体データ(表情・視線・呼吸・動作)からリアルタイムでデジタル盆栽を生成・育成するAI駆動型体験ゲームです。
1. 従来のゲームが抱える「4つの壁」を打破
本プロジェクトは、現代のゲームが持つ課題をAIで解決します。
身体能力の差を解消: 反射神経や操作スキルではなく、その人なりの「安定性」や「表現」を評価。子供から高齢者、障がいを持つ方まで対等に楽しめます。
世代間の孤立を防ぐ: 複数人でカメラの前に立つと「共創モード」が起動。家族全員のデータが1本の木に刻まれる「家族の木」体験を提供します。
競争ストレスからの解放: 「最強」を目指すのではなく、全体の「調和」と「個性」をスコア化。自分らしさが評価される、マインドフルネスな設計です。
使い捨てコンテンツの脱却: 育てた盆栽は、顔認証と紐づいた「盆栽棚」に永続保存。SNSでの共有や、時間経過による風合いの変化(冬眠ボーナス)を楽しめます。
2. 活用されているGoogle AIテクノロジー
MediaPipe: 顔の468点や姿勢を解析し、コントローラー不要の直感操作を実現。
Gemini 2.5 Flash: 盆栽への命名、パーソナライズされた改善アドバイス、鑑定コメントを自動生成。
Firebase: ユーザー認証や、盆栽データのリアルタイム管理・共有を支えます。
3. 技術的オリジナリティ
独自の**「DNA Tree Architecture(年輪アーキテクチャ)」**を採用。複数人でプレイしても、データが分裂することなく一つの「年輪」として蓄積されるため、遊べば遊ぶほど盆栽に深みが生まれます。また、プライバシーに配慮し、顔画像そのものは保存せず数値データのみをハッシュ化して管理する安全な設計です。
README excerpt
# React + TypeScript + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
## Expanding the ESLint configuration
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
```js
export default tseslint.config({
extends: [
// Remove ...tseslint.configs.recommended and replace with this
...tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
...tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
...tseslint.configs.stylisticTypeChecked,
],
languageOptions: {
// other options...
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
})
```
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
```js
// es