Inspiration

We all confidently share "facts" that turn out to be wrong. Confirmation bias, the illusory truth effect — these shape how we scroll through news daily. We wanted to build something that shows you your biases instead of lecturing about them. Fast, visceral, slightly humbling. Reddit — where skepticism and community collide — felt like the perfect home.

What it does

Statements drop on textured tiles. Whack (tap twice: crack, then shatter) if you think it's fake. Swipe if you think it's real.

The twist: your score is hidden. You see "Calculating..." the whole round. Tap it and the game taunts you with "Smart eh?" — maybe showing a real score, maybe a fake one. You don't know how you're doing until it's over. No safety net. Just your gut.

Three modes:

  • News Mode — real vs. fake headlines, 30-second rounds
  • Daily Special — themed challenges, weekend topics chosen by community vote
  • Endless Mode — keep going until you wrongly whack a true statement

Share any tile to the subreddit without revealing if it's fact or fiction — sparking genuine community debate.

How we built it

  • React + Phaser 3 hybrid on Reddit's Devvit platform
  • React handles UI/menus; Phaser dynamically loads for gameplay
  • Pure-function tileStateMachine (active → cracked → shattered)
  • Custom tap-vs-swipe gesture detection for mobile
  • Hono REST server on Devvit with Redis persistence
  • Custom EventBus bridging React and Phaser without tight coupling
  • Fetch-based API client replacing Devvit's older postMessage pattern

Challenges we ran into

  • Phaser inside Devvit's webview — had to block touchmove to prevent Reddit's app from stealing our swipe gestures
  • Redis format inconsistency — Devvit's zRange returns different formats depending on context; required defensive parsing
  • Hiding score without killing engagement — the "Smart eh?" taunt was our solution to keep players curious
  • 320px mobile viewport — ratio-based sizing instead of fixed pixels to fit tiles, text, and HUD on small screens

Accomplishments that we're proud of

  • The hidden score genuinely makes players confront their biases — no feedback loop to game
  • Two-click whack (crack → shatter + screen shake) feels satisfying — physical commitment mirrors cognitive commitment
  • Share feature turns every post into a community debate
  • Smooth 30fps+ on mobile with responsive scaling

What we learned

  • Bias is hard to gamify without being preachy — the hidden score lets the experience teach the lesson
  • Phaser and React coexist well when connected by events, not forced into one paradigm
  • Mobile gesture disambiguation (scroll vs. swipe) comes down to ~50px and ~500ms
  • Community-driven content is a retention multiplier

What's next for Fact or Whack

  • AI-generated statements from real news for infinite fresh content
  • "Bias Report" weekly summaries showing which categories you misjudge
  • Multiplayer head-to-head with the same tiles
  • Subreddit-specific content packs
  • Streak rewards with Reddit flair integration

Built With

Share this project:

Updates

Submission history