Lu Zhiwei 陸知微
Reserved and thoughtful. Loves reading and a tidy home, and would rather listen fully before agreeing to anything.
Inner contradiction: she wants to say what she really needs, but worries a short “no” will sound cold.
Portfolio → Heart Apartment
A cozy life-sim for Windows about two roommates you can simply watch, or step into at the moments they hesitate — a small “life movie” that keeps going after each choice.
15-second showcase with the game's own title theme. Recorded 2026-09-22 from the current build.
Characters need room to act and remember, while player choices remain meaningful. AI suggestions must still obey the game's current state and rules.
I set the concept and art direction, selected the soundtrack, and playtested builds to define acceptance rules. AI collaborators implemented code, art, and story integration under that direction.
See the recorded gameplay, the rules that check AI proposals, and the playtest that led to the no-face-overlap rule.
Leave both women alone and they live their own days — home, work, shopping, the park, the cinema.
Click one of them to suggest or order where to go and what to do. A suggestion can be declined; an order is obeyed, but she remembers it. When she hesitates, a thought cloud lets you pick.
Story moment · whose turn to cook
Her memory“I said I'd cook tonight and told her to just wait and not forget the dishes.”
Her roommate's“My roommate said she'd cook tonight and told me not to forget the dishes.”
Each story moment writes one line to her memory and a different one to her roommate's. Later scenes check those memories before they appear.
Current build, as of 2026-09-15.
A language model can make characters sound alive, but it can't be trusted to change the world. Every action is checked by the game before it happens. Example →
Hearing about something from her roommate is stored differently from being there. How →
On the target PC the 4B answered about six times faster than the 9B, which did not fit fully in GPU memory, and in eight test scenarios the 9B showed no clear quality advantage. Numbers →
Reserved and thoughtful. Loves reading and a tidy home, and would rather listen fully before agreeing to anything.
Inner contradiction: she wants to say what she really needs, but worries a short “no” will sound cold.
Upbeat and direct. Loves music and sharing the small things she likes, and wants a real reaction back, not polite agreement.
Inner contradiction: she wants to get close right away, but doesn't want her enthusiasm to become a burden.







Also: a department store, a lifestyle store and two offices. Screenshots captured 2026-09-22 at 1920×1080 from the current build.
A real rejection: the model proposed putting on an album and making tea. The game refused — “the character's state has changed; this old proposal is void.”
Each story moment writes one memory line for the person who was there and a different one for the roommate who only heard about it. Later scenes check which.
Five tests per character: a reason, a contradiction, continuity, a difference — from her roommate and from herself when tired — and visible to the player.
| What | How it was made | License |
|---|---|---|
| Scenes and buildings | Built in code — 3D blocks, custom shaders, a code-drawn cinema screen | Project-owned |
| Lead characters | Codex image generation from original designs | Commercial use |
| 9 side characters, 8 expressions | Local ComfyUI (animagine-xl-4.0 + IPAdapter) | CreativeML Open RAIL++-M; IPAdapter Apache-2.0 |
| Music, 76 tracks | Made by me with Stable Audio 3 Medium — the pipeline | Stability AI Community License |
| Sound effects | Synthesised live in code | Project-owned |
| Title font | jf open 粉圓 (Huninn) 2.0 | SIL OFL 1.1 |