tarinai/docs/design_notes.md

163 lines
6.7 KiB
Markdown
Raw Normal View History

2026-06-18 18:59:56 +09:00
# たりないコロニー観察所:仕様メモ
## コンセプト
「不足を解決するゲーム」ではなく、
「不足を抱えた生き物が、それでも勝手に暮らす様子を眺めるゲーム」。
プレイヤーは神ではなく、観察者兼飼育係程度の立場。
すべてを最適化するより、少し足りない状態の揺らぎを観察することを主目的にする。
## 現在実装しているループ
1. 個体が空腹・孤独・眠気・不安を内部状態として持つ
2. 状態に応じて餌・仲間・寝床を探す
3. プレイヤーは環境にアイテムを置いて介入する
4. 介入と個体行動により、繁殖・死亡・観察ログが生まれる
5. 死亡個体は「たりない跡」を残し、環境に記録として残る
## 個体状態
| 状態 | 内容 |
|---|---|
| 空腹 | 高いほど餌・草を探す。上がりすぎると死亡 |
| 孤独 | 高いほど仲間に寄る。近くに仲間がいると下がる |
| 眠気残量 | 低いほど寝る。寝床があると回復が速い |
| 不安 | 高いほど慌てる。水・石・寝床などで下がる |
| たりない度 | 上記の総合的な不安定さ |
## 個体タイプ
9枚のスプライトに対応。
- にこたりない
- いかりたりない
- うるうるたりない
- じとたりない
- よだれたりない
- ぐしゃたりない
- すやたりない
- ぽかんたりない
- のびたりない
各タイプは、空腹速度・社交性・睡眠傾向・不安耐性・移動速度に差がある。
## 介入アイテム
| アイテム | 役割 |
|---|---|
| ふつうの餌 | 空腹を直接下げる |
| あまい餌 | 空腹と不安を下げるが依存的な挙動を生みやすい |
| 水滴 | 不安を下げる。時間で蒸発する |
| 草 | 軽い餌・落ち着き場・死後の循環要素 |
| ぬくい石 | 周辺温度を上げ、不安を下げる |
| ふわふわ | 寝床。睡眠回復を強める |
| つつく | 個体に一時的な不安と速度を与える |
| 迷い込み | 新規個体を追加する |
## 生死
死亡条件は現在、主に以下。
- 空腹過多
- 寿命
- 不安過多
- 空腹と眠気の複合
死亡時には「たりない跡」が生成され、一定確率で草も発生する。
これは観察ゲームとして「失敗」ではなく、生態系の記録として扱う。
## 繁殖
近距離にいる2個体が、以下を満たすと低確率で新個体が発生する。
- 空腹が高すぎない
- 眠気残量が十分ある
- 繁殖クールダウンが終わっている
- コロニーが過密でない
子は親のタイプ・足りないものを一部継承し、低確率で変異する。
## 設計上の注意
- 完全な最適化ゲームに寄せすぎない
- 数値を見せつつ、ログ文で生態観察感を出す
- 介入は強いが万能ではない
- 死亡や衰退も観察価値として扱う
- 「むらさき」は画像作成者名のため、ゲーム内の異常現象名には使用していない
## v3設計メモ
- 観察時間を伸ばすため、空腹・孤独の上昇をやや抑制し、寿命を長めにした。
- 図鑑は「達成」ではなく観察記録として扱う。スプライト、イベント、死因をゆるく解放する。
- 系譜は全個体を複雑なツリーで描画せず、出生ログとして読みやすさを優先した。
- 音は外部素材を使わず、Web Audioの短い合成音で実装した。ブラウザ仕様上、音 ON を押すまで鳴らない。
## v4 仕様追記
### 子の追従
繁殖で生まれた子は `childGrowTime` の間、親のどちらか近い方を追従する。成長すると通常AIへ移行する。
### 系譜
2026-06-19 14:00:48 +09:00
系譜は `family` レジストリで保持し、親子関係を樹状図で表示する。表示時は同じ個体を重複させず、共有された親子関係は複数の接続線で表す。
2026-06-18 18:59:56 +09:00
### 食事エフェクト
食事パーティクルは表示頻度を抑え、対象アイテムの色を反映する。
### 喧嘩
近距離、低気分、怒り個体、過密などを条件に小さな喧嘩が発生する。喧嘩中は 02_angry を優先表示し、互いにノックバックする。
### 昼夜
夜間・夕方の色を背景だけでなく、観察皿・アイテム・たりない本体にも重ねる。
## v5 仕様追記
### 草
草はコロニー内に自動で発生する。草アイテムは `amount` を草量として持ち、時間でゆっくり伸びる。食べられると `amount` が減り、描画本数も減る。
### 昼夜の描画修正
スプライト本体への色補正は `source-atop` の矩形塗りを廃止し、`ctx.filter` に変更した。これにより透過部分へ矩形状の色が乗る問題を避ける。
### 系譜
図鑑UIは削除し、系譜のみをメイン画面下部に配置する。
## v6 仕様追記
### 頭突き喧嘩
喧嘩中は一定周期で相手へ突進し、近距離でノックバックと喧嘩エフェクトを発生させる。
### 睡眠
睡眠状態では速度をゼロにし、移動処理を行わない。寝床が近くても寝ながら移動しない。
### カーソル反応
カーソルが近い場合、気分の良い個体は笑顔で寄り、不安・怒り・つつき記憶のある個体は逃げる。
## v7 ビジュアル改修
- 背景をシャーレ風から庭の観察区画風へ変更。
- 地面は木枠に囲まれた明るい土床とし、細かな土粒、苔色のムラ、縁の草、野花を加えた。
- たりないとアイテムの接地影を追加し、庭の上に実在している感覚を強めた。
- 右上HUDと下部ラベルを観察札のような見た目へ調整。
- 親子の追従を視認しやすくするため、近距離では薄い点線ガイドを描く。
## v8 ビジュアル / 実装改修
- 直射日光・月光の方向をもとに、たりないとアイテムへ投影影を付与。
- 背景では天体本体は描かず、空色と影方向のみで昼夜を表現する。
- 食事の蓄積で「ずんち」を排泄する消化処理を追加。
- 09_stretch は通常描画でも横にやや広く扱い、視認性を上げた。
- 系譜ツリーの接続線は擬似要素を再設計し、途切れにくい連結表現へ変更。
- 旧図鑑用の状態管理codexと未使用スタイルを整理。
## v9 修正
- `ctx.filter = blur(...)` を使った影を廃止し、低負荷な楕円描画へ変更。
- 背景装飾のループ数を削減し、毎フレームの描画負荷を下げた。
- 死亡時の `splat` は amount を連続的なアルファ値へ反映し、数分かけてフェードアウトする。