finds.dev

EvanBacon/Expo-Crossy-Road

🐥🚙 Crossy Road game clone made in Expo (iOS, Android, web), THREE.js, Tween, React Native. 🐔

View on GitHubHomepage ↗

★ 1,149TypeScriptMITupdated Mar 2026

// the take

A Crossy Road clone built with Expo, Three.js, and React Native that runs on iOS, Android, and web from a single codebase. It's a showcase project by Expo maintainer Evan Bacon demonstrating what Expo can do with 3D graphics — not a production game engine template. The models are custom-built in MagicaVoxel and the whole thing is playable in a browser.

The cross-platform 3D rendering approach is genuinely interesting: Three.js runs inside Expo via react-native-web on the web target and via a GL context on native, which sidesteps the usual 'no WebGL on native' problem. The asset pipeline is well-organized — characters, vehicles, and environment objects each get their own directory with .obj and texture, making it easy to swap or add models. Row-based procedural generation (src/Row/) is cleanly separated from the node types (src/Node/), so the game logic isn't tangled with rendering. GSAP for animation instead of Three.js's built-in AnimationMixer is a reasonable call for a tween-heavy arcade game.

This is a ~2019 project that's been minimally updated; the Three.js integration almost certainly relies on compatibility shims that newer Expo SDK versions have deprecated or broken. There are no tests at all — not even smoke tests for the game logic. The audio asset naming is a mess (files like 'Earn Points #010699.mp3' and 'bannerhit3-g #010642.wav') suggesting these are raw exported files never cleaned up, which will cause problems on case-sensitive filesystems. State management is thin — a single context with no persistence, so score and character selection vanish on reload.

We read the README, the directory tree and a key source file in July 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
1,149
Forks
215
Language
TypeScript
License
MIT
Last commit
26 Mar 2026

// nearby

If Expo-Crossy-Road isn't quite it.

All repos →