Skip to content

Companion: care, kind wishes and expressions (#9) - #27

Merged
cmena92 merged 1 commit into
mainfrom
feat/9-cuidado
Oct 29, 2026
Merged

cmena92 merged 1 commit into
mainfrom
feat/9-cuidado

Conversation

@cmena92

@cmena92 cmena92 commented Oct 29, 2026

Copy link
Copy Markdown
Owner

Closes #9

«Wishes, never needs». The companion can want things, but nothing gets worse with time, nothing is lost by not opening the app, and fulfilling a wish is always optional.

What is here

  • www/games/companero/cuidado.js: pure logic with the clock and the dice passed in.
    • One kind wish per visit (opening the space), never the last visit's. It is fulfilled by the matching food, a bubble bath, any garment worn, play or a cuddle.
    • A bond of five levels at 0/10/25/50/100 (the maximum, shown from the start), that never goes down: +1 per care, +3 for a fulfilled wish. A free action adds at most once every 30 s, but is never blocked.
    • The face on opening depends only on the wish: eager or content, never asleep or sad.
  • www/games/companero/expresiones.js: one source with design/companero/expresiones.mjs. Its 40 outputs and the preview are byte for byte the same (SHA-256 before and after).
  • The page wears the expression first, then the design, then the clothes:
    • eager while the wish waits; happy for a moment after each care or a fulfilled wish; surprised after a purchase;
    • asleep only if the screen stays open and untouched for 45 s, and it wakes on touch.
  • Care region: pet, brush and play (free); fruit, carrot, cake and bubble soap (bought with the usual confirmation and used at once). The wish bubble and the bond (hearts, «level N of 5») sit by the companion.
  • Under reduced motion, a reaction is the same face without the jump.
  • Texts in the five languages; both modules added to the entry's files.

Checks run locally

  • node tools/test-companero.js: 151 green. New, with an injected clock and dice:
    • free actions cost nothing; the 30 s window; feeding needs a unit;
    • the seven wishes; each wish different from the last visit's; fulfilling once (+1 +3); not fulfilling changes nothing;
    • the bond capped at 100 (level 5 of 5);
    • after 1 hour, 30 days or 1 year away: the same bond, wish, face and coins as with no absence;
    • care saved only under chogan.companero.;
    • the app draws the 40 expressions identical to the approved art.
  • Every wish text in the five languages runs against a list of words of need (hunger, sad, dirty, alone, missing… in each language).
  • In a browser: the bubble with its wish and the eager face, a free action (no charge, +1, happy), fulfilling whatever the visit wished for (marked done, +3), the bond after a reload, another wish on the next visit, and the same happy face with no jump under reduced motion.
  • node tools/test.js: 5,482 green · ./tools/browser-check.sh: 50 of 50.
  • Screenshots of the wish, the reaction and the care region, checked by the owner's agent.

Note

The consumables show system emoji (🍎 🥕 🍰 🫧). Android draws them with its own font; nothing is downloaded.

«Wishes, never needs». www/games/companero/cuidado.js is pure logic with
the clock and the dice passed in: one kind wish per visit, never the last
visit's, fulfilled optionally by food, a bubble bath, a new garment,
play or a cuddle; a bond of five levels up to 100 points that never goes
down, +1 per care and +3 for a fulfilled wish, with each free action
adding at most once every 30 s but never blocked. Nothing depends on
time away: after 1 hour, 30 days or 1 year the bond, the wish, the face
and the coins on opening are the same.

The expressions move to www/games/companero/expresiones.js, one source
with design/companero/expresiones.mjs; its 40 outputs and the preview
are byte for byte the same. The page wears the expression first, then
the design, then the clothes: eager while the wish waits, happy for a
moment after each care, surprised after a purchase, and asleep only if
the screen stays open and untouched for 45 s.

The care region is visible: three free actions and four consumables;
the bubble and the bond sit by the companion. Reactions are the same
face without the jump under reduced motion. A test runs every wish in
the five languages against words of need (hunger, sad, dirty, alone,
missing and their equivalents).
@cmena92
cmena92 merged commit 6e99831 into main Oct 29, 2026
3 checks passed
@cmena92
cmena92 deleted the feat/9-cuidado branch October 29, 2026 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cuidado, deseos amables y expresiones del compañero

1 participant