{"id":50415324,"url":"https://github.com/codefoster/roadgame","last_synced_at":"2026-05-31T05:30:38.315Z","repository":{"id":358530950,"uuid":"1224222056","full_name":"codefoster/roadgame","owner":"codefoster","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-17T19:33:41.000Z","size":425,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T21:43:39.908Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codefoster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-29T04:30:34.000Z","updated_at":"2026-05-17T19:33:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/codefoster/roadgame","commit_stats":null,"previous_names":["codefoster/roadgame"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/codefoster/roadgame","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefoster%2Froadgame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefoster%2Froadgame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefoster%2Froadgame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefoster%2Froadgame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codefoster","download_url":"https://codeload.github.com/codefoster/roadgame/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefoster%2Froadgame/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33720897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-31T05:30:36.910Z","updated_at":"2026-05-31T05:30:38.303Z","avatar_url":"https://github.com/codefoster.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Road Game\n\nA road trip spotting game for iOS and Android built with React Native and Expo. Players watch for things out the window, rack up credits by holding the Watch button, spend those credits to score Sightings, and unlock a deep meta-game of badges, relics, power-ups, bosses, and bingo.\n\n## Running Locally\n\n```bash\ncd roadgame-expo\nnpm install\nnpx expo start\n```\n\nScan the QR code with the Expo Go app, or press `w` for web.\n\n---\n\n## Core Loop\n\n### Spot (A)\nPress when you see something out the window — an animal, building, sign, anything except the sky and the road itself. Costs **1 Credit** and scores **Sighting points**. Points depend on your region, weather, active badges, and equipped relics.\n\n### Watch (B)\nLock eyes on a target and hold Watch to accumulate **Credits**. The longer you watch, the more credits stack up — and the higher the tier of power-up you earn when you commit (by pressing A or stopping Watch). Credits are committed and converted to a power-up automatically.\n\n| Credits held | Power-up tier |\n|---|---|\n| 10+ | Level 1 |\n| 30+ | Level 2 |\n| 60+ | Level 3 |\n\n### Mode toggle\nFlips Watch between **hold-to-accumulate** and **tap-to-toggle** mode.\n\n---\n\n## Difficulty Scaling\n\nThe Watch timer slows as your score climbs. Credits also decay passively at high scores.\n\n| Score | Watch speed |\n|---|---|\n| 0–199 | fast |\n| 200–499 | ×1.25 slower |\n| 500–799 | ×1.5 slower |\n| 800–999 | ×1.75 slower |\n| 1000+ | ×2.0 slower |\n\nA **Level Up** flash appears when crossing each threshold.\n\n---\n\n## Power-ups\n\nPower-ups queue up as you commit Watch holds. Tap one to activate it immediately.\n\n**Level 1** — Infinite Credits (5s), Double Points (5s), Lucky Roll, Next Spot free, Double next hold  \n**Level 2** — Infinite Credits (10s), Double Points (10s), Hold 2× pts on looks, Grass bonus (3×, 5s), Next power-up is L+1  \n**Level 3** — Flip Switch, 2× pending now, Re-roll top, Spot = looks × pts, Jackpot hold\n\n### Crafting \u0026 Fusion\n\n- **Craft** — Spend 12 coins to upgrade an L1 power-up to L2, or 20 coins to upgrade L2 to L3\n- **Fuse** — Combine 3 power-ups of the same tier into 1 power-up of the next tier (free)\n\n---\n\n## Flash Events\n\nRandom events fire periodically and require a response or deal a penalty:\n\n| Event | Effect |\n|---|---|\n| Power-up stolen | Removes your top power-up (Kitsune badge can block) |\n| Challenge: Spot 3 | Spot 3 times within a time window for bonus pts |\n| Challenge: Watch X | Accumulate X credits within a time window |\n| Challenge: Earn L2+ | Earn a level 2+ power-up within the time window |\n\nFlash frequency increases above 800 pts.\n\n---\n\n## Badges\n\nEquip up to 2 badges before each game. Each badge has 4 levels (upgrade with coins), a cooldown between uses, and a **mastery** count.\n\n| Badge | Effect |\n|---|---|\n| Bigfoot | Chance of 3× Spot (rare encounter event) |\n| Phoenix | Coin balance never drops below a floor |\n| Unicorn | Earn 1 coin per N pts scored |\n| Kraken | Reduces rival score gain; 20% chance to freeze rival 2 turns |\n| Yeti | Credits never decay |\n| Dragon | Blocks every other flash event (1st, 3rd, 5th of first 5) |\n| Leprechaun | Shop items cost fewer coins |\n| Mermaid | Patience bonus pts when Watch commits with many pending credits |\n| Sphinx | Bonus pts each time a power-up is activated |\n| Centaur | Watch ticks faster |\n| Griffin | Chance of a free Spot (no credit cost) |\n| Black Shuck | Reduces patrol pull-over chance |\n| Kitsune | Chance to block steal flashes |\n| Thunderbird | Bonus pts per Spot in rainy weather |\n| Nessie | Bonus pts on every Watch commit |\n| Ifrit | Bonus pts equal to a percentage of pending credits on commit |\n| Kirin | Every Nth Spot scores 3× |\n| Manticore | Flash challenge time windows are longer |\n| Wendigo | Bonus pts per bingo line completed |\n| Valkyrie | Increased boss fight win chance; sees harder/better bosses |\n\n### Badge Levels \u0026 Mastery\n\nEach badge can be upgraded to level 3 by spending coins. Using a badge counts toward **mastery** (10 uses). Higher levels reduce cooldowns and increase the effect.\n\n### Prestige\n\nA mastered, level-3 badge can be **prestiged** once a unique trial is completed in-game. Prestige unlocks a permanent passive that applies to every future game, even without equipping the badge.\n\n---\n\n## Relics\n\nRelics are found during play (1/40 chance per Spot) and slot into up to 3 equipment slots. Each relic has passive effects, and certain pairs create **synergy bonuses**. Some sets of 3 create powerful **set bonuses**.\n\nRelics can be leveled up by finding duplicates in the field.\n\n---\n\n## Shop\n\nSpend coins before or during a game on permanent upgrades:\n\n- **Hunter's Kit** — Raises boss fight win chance\n- **Power Relic** — Greatly raises boss fight win chance\n- **Spare Tire** — Saves you once when credits hit 0\n- **CB Radio** — Previews the next badge you'd earn from a Double Golden Bingo; warns of patrol stops\n- **Rival Chill** — Freezes the rival for 5 turns at game start\n- **Rival Decoy** — Starts the rival at −30 pts\n- And more\n\nA **Flash Sale** (33% chance on shop open) discounts one random item by 40%. One random **Bundle Deal** is shown each visit, grouping related items at a discount.\n\n---\n\n## Bingo\n\nA 3×3 bingo card is generated each game from road trip items. Mark cells by tapping during play — but every mark costs a credit.\n\n- **Bingo** (complete a line) — Coins + pts\n- **Golden Bingo** (line contains a golden tile) — More coins + pts\n- **Double Golden Bingo** (line contains 2 golden tiles) — Even more, plus a random badge earned\n- **Reset Card** — Available for −30 pts\n\n---\n\n## Bosses\n\nBosses appear randomly during play (1/150 chance per Spot, or 1/75 if a rematch is pending). Each boss has unique powers, win chances, loss penalties, and an optional deal.\n\n### Fighting\nChoose bare hands, Hunter's Kit, Power Relic, or both. Having the boss's specific **weakness badge or relic** adds +25% win chance. Win to earn pts and coins; lose to take a pts penalty and possibly a **curse**.\n\n### Boss Scaling\nBoss rewards and penalties scale with your current score: ×1.25 at 200, ×1.5 at 500, ×1.75 at 800, ×2.0 at 1000 pts.\n\n### Rematch System\nFleeing a boss sets it as a **rematch target** — it spawns at twice the normal rate until you face it. The encounter screen labels it a REMATCH and shows a doubled-spawn warning.\n\n### Curses\nLosing to certain bosses applies a curse for the rest of the game (e.g. every 5th Spot scores 0, Watch ticks 25% slower, each Spot costs +1 extra credit).\n\n---\n\n## Rival\n\nA rival AI scores in the background every 5 seconds. If the rival reaches your score, the game gets harder. Kraken reduces the rival's score gain per turn and has a 20% chance to freeze the rival for 2 turns.\n\n---\n\n## Patrol\n\nTapping aggressively (4+ presses per second) risks a **highway patrol stop** — a 15-second freeze during which Watch is paused. CB Radio gives advance warning. Black Shuck badge reduces patrol chance significantly.\n\n---\n\n## Road Events\n\nPassive road events appear during play and modify game conditions for a duration:\n\n- **Open Road** — +1 pt per Spot\n- **Speed Trap** — Doubles patrol aggression calculation\n- And others\n\n---\n\n## Multiplayer\n\nA timed competitive mode where two players score simultaneously. A zap mechanic can briefly freeze your opponent. The higher score at time's end wins.\n\n---\n\n## Building for Android / iOS\n\n```bash\ncd roadgame-expo\nnpx expo build:android   # or :ios\n```\n\nOr use EAS Build:\n\n```bash\nnpm install -g eas-cli\neas build --platform android\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodefoster%2Froadgame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodefoster%2Froadgame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodefoster%2Froadgame/lists"}