A modern, feature-rich Flappy Bird clone with premium UI, customizable characters, multiple themes, and a dedicated development team showcase.
Features • Installation • Gameplay • Tech Stack • Team
- Classic Flappy Bird Mechanics - Tap to fly, avoid pipes
- Dynamic Difficulty Scaling - Pipe speed increases with score progression
- Real-time Score Tracking - Live score updates with persistent high scores
- Physics-Based Movement - Realistic gravity (1000) and jump force (-500)
- Smooth 60 FPS Animations - Powered by React Native Reanimated 4.1.1
- Collision Detection - Precise hit detection with visual feedback
- Manas Bird (Default) - Premium circular profile picture character
- Classic Birds - Yellow, Blue, and Red bird options
- Custom Characters - Upload your own images (up to 10 custom birds)
- Circular Clipping - All custom characters rendered as circular profiles
- Live Preview - See your character in action before playing
- Day Theme - Classic bright daytime background
- Night Theme - Dark atmospheric nighttime scene
- City Theme - Modern urban skyline background
- Real-time Switching - Change themes on the fly
- Development Team Screen - Showcase of 5 team members with premium cards
- Color-Coded Cards - Gold (Team Lead), Blue, Red, Green, Purple themes
- Profile Integration - Direct Instagram links for each team member
- Glassmorphic Effects - Modern blur and gradient overlays
- Responsive Design - Optimized for all screen sizes
- Touch Feedback - Haptic responses on all interactions
- Sound Effects System - Jump, score, collision, and game over sounds
- Haptic Feedback - Vibration on tap, collision, and menu interactions
- Visual Feedback - Smooth animations and color transitions
- Audio Controls - Toggle sound on/off (coming soon)
- Team Showcase - Dedicated screen for development team
- Premium Cards - Each developer has a unique themed card
- Mithun Gowda B - Team Lead (Gold)
- Harsha N - Developer (Red)
- Manas Habbu - Developer (Blue)
- Naren V - Developer (Green)
- Nevil D'Souza - Developer (Purple)
- Social Integration - Direct Instagram profile links
- Role Badges - PRO/DEV badges with glow effects
- Status Indicators - Active status with green indicators
- Skill Tags - DESIGN, LOGIC specialization badges
- AsyncStorage Integration - Save custom birds and preferences
- Theme Persistence - Remember user's selected theme
- Character Persistence - Auto-load last selected character
- High Score Tracking - Local storage for best scores
Node.js >= 16.x
npm >= 8.x or yarn >= 1.22
Expo CLI >= 6.x- Clone the repository
git clone https://github.com/mithun50/Custom-Flappy-Bird.git
cd Custom-Flappy-Bird- Install dependencies
npm install
# or
yarn install- Start development server
npm start
# or
expo start- Run on platform
# iOS Simulator
npm run ios
# Android Emulator
npm run android
# Web Browser
npm run web
# Physical Device
# Scan QR code with Expo Go app# Generate APK
expo build:android -t apk
# Or with EAS Build
eas build --platform android# Generate IPA
expo build:ios
# Or with EAS Build
eas build --platform ios- Start Screen - Tap anywhere to begin
- Customize Button - Access customization options
- Development Team Button - View team showcase
- Select Character - Choose from 4 default birds or add custom
- Select Theme - Choose Day, Night, or City background
- Upload Custom - Add your own character images (tap + icon)
- Save Changes - Save button to persist selections
- Tap to Jump - Single tap makes your character fly
- Avoid Obstacles - Navigate through pipes
- Score Points - +1 for each pipe passed
- Game Over - Collision ends the game
- Restart - Tap restart button to play again
- View Profiles - Tap Development Team button
- Browse Cards - Scroll through team member cards
- Visit Instagram - Tap any card to open Instagram profile
- Back Button - Return to main menu
- React Native 0.81.5 - Cross-platform mobile framework
- React 19.1.0 - Latest React features and optimizations
- Expo 54.0.0 - Development and build platform
- @shopify/react-native-skia 2.2.12 - High-performance 2D graphics
- react-native-reanimated 4.1.1 - 60 FPS animations on UI thread
- react-native-gesture-handler 2.28.0 - Native touch gestures
- expo-haptics 15.0.7 - Haptic feedback system
- expo-image-picker 17.0.8 - Image selection and upload
- expo-file-system 19.0.17 - File system access
- @react-native-async-storage/async-storage 2.2.0 - Data persistence
- react-native-worklets-core 1.6.2 - High-performance worklets
- react-native-worklets 0.5.1 - JavaScript worklet support
FlappyBird/
├── assets/
│ ├── sprites/
│ │ ├── developers/ # Team profile pictures
│ │ │ ├── harsha.png
│ │ │ ├── manas.png
│ │ │ ├── mithun.png
│ │ │ ├── naren.png
│ │ │ └── nevil.png
│ │ ├── background-day.png
│ │ ├── background-night.png
│ │ ├── nightcity.jpg
│ │ ├── yellowbird-upflap.png
│ │ ├── bluebird-upflap.png
│ │ ├── redbird-upflap.png
│ │ ├── pipe-green.png
│ │ ├── pipe-green-top.png
│ │ ├── base.png
│ │ ├── customize_button.png
│ │ ├── development_team_button.png
│ │ ├── restart_button.png
│ │ ├── save_button.png
│ │ └── back_button.png
│ ├── icon.png # App icon
│ └── splash.png # Splash screen
├── .github/
│ ├── ISSUE_TEMPLATE/
│ └── PULL_REQUEST_TEMPLATE.md
├── App.js # Main game logic (1700+ lines)
├── package.json # Dependencies
├── babel.config.js # Babel configuration
├── app.json # Expo configuration
└── README.md # This file
// Gravity and jump force
const GRAVITY = 1000; // Pixels/second²
const JUMP_FORCE = -500; // Initial jump velocity
// Pipe settings
const pipeWidth = 104; // Pipe width in pixels
const pipeHeight = 640; // Pipe height in pixels
const pipeGap = 200; // Gap between top and bottom pipes// 1. Add image to assets/sprites/
// 2. Import in App.js
const customBird = useImage(require('./assets/sprites/custom-bird.png'));
// 3. Add to bird selection UI (line ~1186)
{/* Custom Bird */}
<Group>
{customBird && (
<Group clip={rrect(rect(x, y, 70, 70), 35, 35)}>
<Image image={customBird} x={x} y={y} width={70} height={70} fit="cover" />
</Group>
)}
</Group>// Add new theme background
const bgCustom = useImage(require('./assets/sprites/custom-bg.png'));
// Update theme selection
const bg = theme === 'custom' ? bgCustom :
theme === 'night' ? bgNight :
theme === 'city' ? bgCity : bgDay;// Adjust pipe speed progression
const pipesSpeed = useDerivedValue(() => {
return interpolate(
score.value,
[0, 10, 20, 30], // Score milestones
[1, 1.5, 2, 2.5] // Speed multipliers
);
});- Multiple bird characters with custom upload
- Theme selection (Day, Night, City)
- Development team showcase screen
- Instagram social integration
- Premium UI with glassmorphic cards
- AsyncStorage data persistence
- Haptic feedback system
- Sound effects
- Manas as default bird character
- High score leaderboard
- Sound toggle controls
- Additional character animations
- More theme variations
- Multiplayer mode
- Power-ups and bonuses
- Achievement system
- Daily challenges
- Cloud save synchronization
- Social sharing features
- Replay system
- Custom pipe themes
Meet the talented developers behind Custom Flappy Bird - a passionate team of React Native enthusiasts who brought this project to life with modern UI design, premium features, and meticulous attention to detail.
|
Mithun Gowda B 🏆 Team Lead & Core Developer Project architect and team lead responsible for overall system design, game logic implementation, and team coordination. Specialized in React Native development and high-performance animations. |
Harsha N 🎨 UI/UX Designer & Frontend Developer Lead designer responsible for the premium UI cards, glassmorphic effects, and visual aesthetics. Created the beautiful development team showcase and customization interface. |
Manas Habbu 🎨 Design Developer & Graphics Specialist Graphics and design specialist who crafted the default bird character system, circular profile implementations, and visual effects. Focused on creating a cohesive design language throughout the app. |
|
Naren V ⚙️ Logic Developer & Backend Specialist Core logic developer who implemented game physics, collision detection, and scoring systems. Specialized in performance optimization and worklet-based animations for smooth 60 FPS gameplay. |
Nevil D'Souza ⚙️ Logic Developer & Features Engineer Features engineer who developed the customization system, AsyncStorage integration, and custom character upload functionality. Implemented data persistence and state management solutions. |
Join Our Team! 🚀 We're always looking for passionate developers Interested in contributing to Custom Flappy Bird? Check out our Contributing Guidelines and open a pull request! |
| Developer | Specialization | Key Contributions |
|---|---|---|
| Mithun Gowda B | Team Lead, Architecture | Game engine, physics system, team coordination |
| Harsha N | UI/UX Design | Premium cards, glassmorphic effects, visual design |
| Manas Habbu | Graphics & Design | Default character system, circular profiles, design language |
| Naren V | Game Logic | Collision detection, scoring system, performance optimization |
| Nevil D'Souza | Features Engineering | Customization system, data persistence, state management |
- Version Control: Git & GitHub
- Communication: Instagram, GitHub Discussions
- Project Management: GitHub Issues & Projects
- Code Review: Pull Request workflow
- Development: React Native, Expo, VS Code
- Custom images are automatically clipped to circular shape for visual consistency
- Maximum 10 custom birds can be uploaded
- Sound effects use Web Audio API (may have platform-specific behavior)
- iOS requires additional permissions for image picker
- Best performance on Chrome/Safari mobile browsers
- Firefox mobile may have reduced performance
- Desktop browsers supported but optimized for mobile
We welcome contributions! Please follow these steps:
- Fork the repository
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
- Follow existing code style
- Add comments for complex logic
- Test on both iOS and Android
- Update README for new features
- Keep commits atomic and descriptive
This project is licensed under the MIT License - see the LICENSE file for details.
- ✅ Commercial use
- ✅ Modification
- ✅ Distribution
- ✅ Private use
- ❌ Liability
- ❌ Warranty
- Graphics Assets - Classic sprite assets and visual elements
- React Native Community - For amazing libraries and support
- Expo Team - For the excellent development platform
- Shopify Skia Team - For high-performance graphics library
Project Maintainer: Mithun Gowda B
- 📧 Email: Create an issue
- 🐙 GitHub: @mithun50
- 📱 Instagram: @mithun.gowda.b
Project Links:
- 📦 Repository: Custom-Flappy-Bird
- 🐛 Issue Tracker: Report Bug
- 💡 Feature Requests: Request Feature
If you find this project helpful or interesting, please consider:
- ⭐ Starring the repository
- 🐛 Reporting bugs
- 💡 Suggesting new features
- 🔀 Contributing code
- 📢 Sharing with others