- C# 93.1%
- ShaderLab 3.9%
- GLSL 1.6%
- HLSL 0.6%
- Shell 0.5%
- Other 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Replace the rescue campaign with a lone traveler, one Guest and fixed cottage exit returns. Define door-state consequences, atmospheric discovery, admission and an ordinary solo departure. Incorporate Claude Fable 5.1 CLI advisory feedback and align guides, including explicit future ghost ownership. Preserve current runtime and generated intro contracts. Documentation link and whitespace checks passed. |
||
| .agents/skills/beads | ||
| .beads | ||
| .codex | ||
| .cursor | ||
| Assets | ||
| docs | ||
| Packages | ||
| ProjectSettings | ||
| tools | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| 1.png | ||
| AGENTS.md | ||
| ARCHITECTURE.md | ||
| CLAUDE.md | ||
| GAME_DESIGN.md | ||
| MAPPING.md | ||
| PROJECT_STRUCTURE.md | ||
| README.md | ||
Tale1
Tale1 is the Unity project for Kaamos, a first-person supernatural horror game about a lone traveler renting a secluded Finnish winter cottage during polar night. Every attempt to leave returns inside until the player lets the figure waiting outside enter. The Guest is one embodied enemy in a snow-encrusted winter coat, its face packed with snow. Keeping it out is keeping yourself in.
The story and gameplay foundation owns narrative truth, the beat sheet, encounter rules and the ending. Game design summarises the intended player experience. One compact cottage, two exterior doors, a yard and the existing car define the scope. The target is approximately one hour, with an unverified 45–75 minute first-play range. Extra encounters and rooms must not be added to fill it. There is no living supporting cast, companion or rescue.
The repeated actions are observing, listening, opening and latching actual doors, and preparing a route through the stable interior loop. A folded outward crossing returns the player just inside the other exit, facing inward, and leaves the source door open. The Guest can enter through that opening naturally; once its body is inside, the exits lead outside and the cold draft returns. The player passes it and reaches the car. Latching both exterior doors contains it; the window image is used only if its actual position permits. An open door permits physical pursuit onto the porch. The ending honours the actual door states. The first production proof must make that reversal understandable and permit a clever early escape. The encounter, authored crossing transitions, latch rules, audio cues and save integration remain implementation targets.
See ARCHITECTURE.md for runtime composition and MAPPING.md for level authoring. Open with Unity
6000.6.0f1 from Assets/Scenes/Bootstrap/Scene_Bootstrap.unity. The only enabled scenes are
Bootstrap followed by Assets/Scenes/Gameplay/Scene_City.unity, loaded additively; direct City Play
Mode follows the same binding path. The earlier campaign scripts, gameplay contracts and sauna
prologue are retired; the current foundation does not claim full scripts or authored content exist.
World authoring follows the hybrid TrenchBroom-building and Unity-terrain workflow in
ARCHITECTURE.md and MAPPING.md, including map import commands and entity rules.
Gameplay lives as prefab instances under CityGameplay, with real asset references. Story authoring
uses typed StoryCondition and StoryAction values.
Runtime foundations cover movement, interaction, notes and story state, doors, signals, triggers,
props, atmosphere, audio, and durable progression. Chapter-specific behavior is assembled from those
foundations. The legacy ghost controller does not implement the Guest; P_Ghost remains inactive
in current binding pending an explicit reuse or replacement decision. Remote-camera and sleep
prototypes remain legacy capabilities.
The implemented arrival drive opens the campaign and keeps its assets,
shots, timings and vehicle handoff. It still starts on enable; no new campaign-entry gate is
implemented. The story revision does not change runtime code, Unity scenes or assets.
Run python3 tools/check_story_docs.py to check the current story documents and their local
references. This textual check does not validate narrative quality or playable encounters.
Edit Mode covers synchronous logic and asset contracts. Focused Play Mode tests use prefab
compositions; only Assets/Tests/PlayMode/Project/SceneSmoke/ loads shipping scenes.
Pipeline 0.6.0-exp.1 has a missing nullable return annotation in ScriptInterpreter.cs, uses
the deprecated DEVELOPMENT_BUILD define, and reads the obsolete linker inputDirectory in
its hot-reload code. These trigger CS8603, UAC0009, and CS0618 errors under the project's
warnings-as-errors policy. Assets/csc.rsp loads .editorconfig, which suppresses only those
diagnostics in the affected files of that exact package release. Remove the exceptions when
upgrading to a package that fixes the annotation (ResolveHostEnumType should return Type?)
and replaces the deprecated APIs. Keep package sources managed by Unity; edits under
Library/PackageCache are temporary.
Binary assets and Git LFS
sudo pacman -S git-lfs
bd hooks install --beads
git config --local core.hooksPath .beads/hooks
git lfs install --local --skip-repo
git lfs pull
LFS applies prospectively to the formats listed in .gitattributes; do not rewrite existing asset
history. See PROJECT_STRUCTURE.md, ARCHITECTURE.md, MAPPING.md, and AGENTS.md for workflow.