Skip to content

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Masked Identity

Masked Identity is a bilingual historical browser narrative set beneath a Soviet military psychiatric hospital in November 1989. Over six days, you examine the file of a discharged pilot whose name exists on paper but no longer counts. What you preserve, redact, destroy, or return to him determines not only what can be known, but whose version becomes official.

Play it here: https://kydchen.itch.io/masked-identity

Full web version (with the on-chain archive): https://masked-identity.vercel.app/

You play the physician assigned to Case █-17. Every case note changes which records return from storage, and every document shown to the patient creates another reader of the file. The story is historical fiction; its characters and institutions are fictional.

Features

  • Chinese and English text, with English as the default language.
  • 16 interviews, 2 security encounters, 39 documents, 11 hidden archive threads, 9 endings, and 4 early dead ends.
  • A no-build, vanilla HTML/CSS/JS implementation.
  • Local save, ending index, and first-run guidance through localStorage.
  • Desktop and mobile layouts.
  • An optional on-chain epilogue revealed after an ending: the player may deposit a minimal sealed-case receipt in the Common Knowledge Base — a permanent, unspendable cell on the CKB mainnet, written through CCC. Every deposited copy appears on the public archive wall. The receipt contains the ending, three assessment values, language, date, and an optional player codename — never the case text. No wallet is required to play; the game is complete without it.

Run Locally

Serve the folder over HTTP. Opening index.html through file:// will not load the JSON case files.

python3 -m http.server 8000

Then open:

http://localhost:8000

Files

index.html            Page shell
style.css             Visual design and responsive layout
game.js               Game state, interactions, save data, endings
cases.json            Chinese narrative data
cases.en.json         English narrative data
archive.html          Public archive wall (reads records from CKB, no wallet needed)
story-smoke.mjs       Bilingual narrative structure and reveal-timing smoke check
web3/archive-chain.js On-chain archive protocol module (lazy-loaded on the ending page)
web3/ccc.js           Committed esbuild bundle of @ckb-ccc/connector
web3/e2e-testnet.mjs  Dev-only testnet end-to-end check
assets/               Runtime visual/audio assets
assets/itch/          Storefront images for itch.io

Deployment

This project has no build step. Any static host can serve the repository root.

The itch.io upload package is generated as:

zip -r -FS dist/masked-identity-itch.zip \
  index.html style.css game.js cases.json cases.en.json \
  assets/Soviet_Red_Army_Hammer_and_Sickle.png assets/zhuravli.m4a

Rights

Some media assets may have separate rights. Do not reuse the included images or audio outside this project without confirming permission.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages