A Crossy Road-style game built with Three.js, where you control a chicken trying to cross busy roads!
Crossy Chicken is a 3D browser game where the player must cross multiple lanes filled with moving vehicles. The goal is to get as far as possible without getting hit!
- 🎨 3D graphics rendered with Three.js
- 🚗 Moving vehicles (cars and trucks)
- 🌳 Environment with trees and grass
- 📊 Scoring system
- 🔄 Collision detection
- 🎯 Dynamic camera that follows the player
- Three.js - JavaScript 3D library
- JavaScript (ES6+) - Programming language
- CSS3 - Styling
crossy-chicken/
├── src/
│ ├── main.js # Main entry point
│ ├── constants.js # Game constants
│ ├── counter.js # Scoring system
│ ├── hitTest.js # Collision detection
│ ├── collectUserInput.js # Input management
│ ├── style.css # CSS styles
│ ├── components/ # 3D components
│ │ ├── Camera.js
│ │ ├── Car.js
│ │ ├── DirectionalLight.js
│ │ ├── Grass.js
│ │ ├── Map.js
│ │ ├── Player.js
│ │ ├── Renderer.js
│ │ ├── Road.js
│ │ ├── Tree.js
│ │ ├── Truck.js
│ │ └── Wheel.js
│ └── utilities/ # Utility functions
│ ├── calculateFinalPosition.js
│ ├── endsUpInValidPosition.js
│ └── generateRows.js
└── LICENSE
- Use the arrow keys or WASD to move the chicken
- Cross the roads avoiding vehicles
- Each line crossed increases your score
- Try to get as far as possible!
- Node.js (version 14 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/moon-byme/crossy-chicken.git
cd crossy-chicken- Install dependencies:
npm install- Run the project in development mode:
npm run dev- Open your browser and go to
http://localhost:3000(or the port indicated in the terminal)
The character controlled by the player (chicken)
Manages the generation and organization of the game map
- Car: Smaller and faster cars
- Truck: Larger and slower trucks
- Grass: Safe areas with grass
- Road: Road lanes where vehicles travel
- Tree: Decorative trees
Contributions are welcome! Feel free to:
- Fork the project
- Create a branch for your feature (
git checkout -b feature/MyFeature) - Commit your changes (
git commit -m 'Add MyFeature') - Push to the branch (
git push origin feature/MyFeature) - Open a Pull Request
This project is under the MIT license. See the LICENSE file for more details.
Copyright (c) 2026 Lethycia Zenaide
Lethycia Zenaide - @moon-byme
- Inspired by the Crossy Road game
- Three.js for the amazing 3D library
- Open source community
Made with ❤️ and JavaScript