ShadowOfTheColossus-PC
Shadow of the Colossus(PS4, CUSA08809)의 네이티브 윈도우 포트 – 직접 게임 덤프를 가져와 실행
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
civic engagement tool
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A civic engagement tool and strategy game for Nigerian politics: a 21-question positioning quiz (plus 10 optional Afrobarometer-calibrated civic questions), a candidate directory, and an 8-year "govern Nigeria" decision game. Live at ifnayou.com.
index.html is a single static file (all CSS and JS inline, no build step, no framework) and is the entire frontend — quiz/game logic, scoring, everything runs client-side. It works with zero backend configured.
Alongside it, /api holds two small Vercel serverless functions that add a minimum analytics/research backend: anonymous participant + session tracking, and the outcome of each experience (quiz archetype + dimension scores; President game final outcome, decisions, fidelity to stated positions). Since November 2026 it also records each game decision and each quiz answer as events, still against an anonymous id only — see ROADMAP.md for the fuller schema this can grow into if that's ever worth the added surface area.
The game is edited in a Claude artifact, and the repo has things the artifact lacks (analytics, share tags, the home and ballot pages). Use artifact-sync/merge.sh, not a copy-over. See artifact-sync/README.md.
Frontend: no build tooling required — open index.html directly, or serve it locally:
npx serve .
Backend: install dependencies and run everything (static file + /api functions) together with the Vercel CLI:
npm install
vercel dev
Copy .env.example to .env.local and fill in your Supabase project's URL + service role key first — vercel dev reads .env.local automatically. Never commit .env.local. Without it configured, the site still works fully — tracking calls just fail silently.
supabase/migrations/0001_init_schema.sql.anon key — the service role key is what the serverless functions use, and it must stay server-side, never in frontend code).SUPABASE_URLSUPABASE_SERVICE_ROLE_KEYCOUNTER_ENABLED (true/false — the public completion counter is off by default; flip this on later with no code change)Ad pixels: only the Meta Pixel is installed, and it receives PageView plus generic conversion events only (mpx() allow-list). Its automatic event collection is switched off (autoConfig), because left on it sends the text of every button clicked, which here is the exact quiz answer or game choice. There is no PostHog or Google Ads tag in the page.
supabase/migrations/0002_add_content_version.sql and 0003_session_progress.sql too (and 0004_play_together.sql to turn on Play with friends). Without 0003 everything still works; the dashboard just cannot show where unfinished runs stopped.Every table has Row Level Security enabled with zero policies — only the service_role key (server-side only) can read or write anything, so nothing in the database is reachable from a browser even if a key leaked.
localStorage), with first/last seen and first-touch acquisition (referrer, UTM params, device type, country).| Area | Event | What it records |
|---|---|---|
| Core | landing_viewed | A page load (the plan's session_started) |
| Core | return_visit | A visit 30+ minutes after the last one on that browser (days_since) |
| Core | experience_selected | president, compass or ballot; from a click or a link |
| Core | president_started, compass_started | The plan's experience_started |
| Core | president_completed, compass_completed | The plan's experience_completed |
| Core | experience_restarted | A second start of the same experience in one visit, after a completed or unfinished one |
| Core | experience_abandoned | Best effort, on leaving the page mid-run, with where they stopped. The dashboard also counts any session idle for an hour as abandoned |
| Play President | game_decision_made | Decision number, term, year, kind (opening, desk, campaign, impeachment, runoff, third term, amendment), who asked, which button and its words |
| Play President | game_ending_viewed | The presidency title the player saw, why it ended, term, third-term state |
| Quiz | quiz_answer_submitted | Question id (E1, S3 ...), lens, position, value (-2..2; 0 both; null skip) |
| Quiz | result_viewed, result_shared | The plan's quiz_result_viewed / quiz_result_shared (also used for the game's share card) |
| Engagement | share_clicked, share_completed | Phone share sheet opened, and confirmed sent |
| Engagement | invite_link_opened | Arrival on a shared quiz or game result |
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗