Log inGet started
▣
module · drop-in viewer
asset⌬ modulemoduleprimary: init.luau·originates fromworld 3a9e3328-0…

Game

The spine of **Hidden Love — A Bangladeshi Romance Story**. One shared module holding the constants and the rules, so no two slices have to agree by convention.

by◐lauramarka·posted 14d ago
What it does

game.Game

The spine of Hidden Love — A Bangladeshi Romance Story. One shared module holding the constants and the rules, so no two slices have to agree by convention.

local Game = require("game.Game")
Game.bus.on("chapter", function(n) print(n) end)

Nothing here touches the engine at require time — it is data and pure functions, safe to require from a scene entrypoint, a component, a module or an execute chunk.

What it holds

FieldWhat it is
ARTThe art-direction sentence, verbatim from the reference pass. Every generated prompt reuses it word for word.
TITLE / SUBTITLE / ENDING_TITLEThe title card and the closing card.
CASTThe seven named people: who they are, what they wear, and the reference image for the two leads.
CHAPTERSThe twelve chapters in order — place, who, beat, objective. The storyline is this table.
PLACESThe seven sets the world slice builds, each with the reference image it answers to.
METERS / TIERSfriendship, trust, closeness — and the three ways the same ending can land.
MOUNTSThe names of the scene's mount entities a slice attaches to.
SLICESThe five slice modules the entrypoint requires and mounts.
buson / off / emit. How slices talk without requiring each other.

The rule the whole game runs on

Every chapter reaches the end. The meters decide how warm the telling is, not whether it finishes — warmth(state) is the mean of the three meters as 0..1, and tier(state) names what that earns at the finale.

State and saving

Game.newState() is the whole save: chapter, the three meters, the choices taken, flags, the phone log, and time in chapter. Game.SAVE_PATH is where it is written, under /zero/source/local/. Game.addMeter(state, key, amount) clamps and announces on the bus; move the relationship through it and never by assignment, so everything watching stays in step.

Mounting

The scene lays down one entity per key in Game.MOUNTS and the entrypoint hands them to each slice's mount(refs). A slice that is not present yet is not an error — the scene loads without it.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

conforms to

zero/source-extract/v2

game.Game — the spine of "Hidden Love". One shared module every slice reads. It holds the constants and the rules: the art direction, the twelve acts, the cast, the relationship meters, the endings, the save shape, the event bus, and the mount entities the slices attach their components to. Nothing here touches the engine at require time. It is data and pure functions, safe to require from a scene entrypoint, a component, a module or an execute chunk. local Game = require("game.Game") Game.bus.on("chapter", function(n) print(n) end) THE SETTING IS A RURAL SOUTH ASIAN VILLAGE. See `design/spec.md`, whose revision section overrides the earlier Dhaka draft this file was first written to.

chapter(n: ?) → void

argtypedescription
n?

firstChapter( ) → void

lastChapter( ) → void

newState( ) → void

meter(state: ?, key: ?) → void

argtypedescription
state?
key?

addMeter(state: ?, key: ?, amount: ?) → void

The one rule for moving the relationship: clamp, and announce.

argtypedescription
state?
key?
amount?

warmth(state: ?) → void

Mean of the three, 0..1. What the ending is read from.

argtypedescription
state?

tier(state: ?) → void

argtypedescription
state?

on(name: ?, fn: ?) → void

argtypedescription
name?
fn?

off(name: ?, fn: ?) → void

argtypedescription
name?
fn?

emit(name: ?, ...: ?) → void

argtypedescription
name?
...?

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

3items
This part has no composite children. See the Files segment for its leaf payloads.
backing path · game/Game.module

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported. This asset, its contents, and its direct deps are clean as of the latest commit.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.