@nayan-ui/games
v1.19.0
Published
Free games for your react native projects.
Maintainers
Readme
@nayan-ui/games
A collection of 50 high-performance games for React Native. Built with Skia, Reanimated, Gesture Handler and TypeScript for smooth 60fps gameplay on iOS and Android.
- High Performance — 60fps Skia canvas, Reanimated animations, delta-time physics
- Cross-Platform — iOS, Android and Web with responsive layouts
- Rich Audio & Haptics — Sound effects and haptic feedback with per-game toggles
- TypeScript — Full type safety with consistent API across all games
- Customizable — Unified settings, completion callbacks, and ad slot support
Available Games
| Screenshot | Game Details | | --- | --- | | | Block BlastPlace blocks on the grid to clear full lines - strategic puzzle challenge!• Tetris-style block placement puzzle• Clear lines horizontally or vertically• Strategic planning for high scores• 3D block visuals with blast animations | | | Connect Em AllConnect matching colored dots on the board to clear them and score points!• Connect dots of the same color• Draw paths without crossing lines• Fill the entire board for bonus points• 3D dot visuals with blast effects | | | Bubble ShooterAim and shoot bubbles to match 3 or more of the same color and clear them!• Aim and shoot bubbles to match colors• Clear clusters of 3 or more bubbles• Physics-based bubble bouncing• 3D bubble visuals with blast effects | | | Block BreakerBreak all the bricks with a bouncing ball and paddle - arcade action fun!• Classic brick-breaker arcade gameplay• Bounce the ball off your paddle• Break all bricks to win the level• Power-ups and special effects | | | Tile HomeMatch 3 tiles of the same type to clear them - classic mahjong puzzle fun!• Mahjong-style tile matching• Match 3 identical tiles to clear them• Strategic tile selection• 3D tile visuals with blast animations | | | Fruit NinjaSlice all flying fruits with finger swipes and combos - avoid the bombs!• Swipe-based fruit slicing mechanics• Physics-based particle effects and combos• Avoid bombs for survival• Reanimated blast particles | | | Fruit MergerDrop and merge fruits to create bigger ones - reach the watermelon!• Physics-based fruit dropping• Merge fruits to evolve them• Reach watermelon for victory• Combo system for multiple merges | | | Flappy BirdTap to flap and navigate through pipes - classic arcade challenge!• Classic tap-to-flap mechanics• Gravity physics and collision detection• Navigate through pipe gaps• Score tracking with best score | | | Dino JumpJump over obstacles and collect stars for extra lives - endless runner fun!• Chrome dino-inspired endless runner• Tap to jump over obstacles• Collect stars for extra lives• Progressive speed scaling | | | Dots and BoxesConnect the dots to complete boxes and outscore the AI - strategy game!• Classic pen-and-paper strategy game• Play against smart AI opponent• Complete boxes by connecting dots• 3D metallic dots and beveled lines | | | Candy CrushMatch colorful candies in rows to score points - sweet puzzle fun!• Match-3 puzzle mechanics• Create special candies with 4+ matches• Cascading combos and animations• Timed challenge mode | | | Whack A MoleWhack cute cats popping from holes - test your lightning reflexes!• Fast-paced whacking action• Animated mole characters• Haptic feedback on whack• Score multiplier system | | | Pac-ManClassic arcade action - eat all dots, avoid ghosts, and clear the maze!• Classic Pac-Man maze gameplay• Eat dots and avoid ghost enemies• Power pellets to chase ghosts• Smart ghost AI with multiple modes | | | Colors SortSort colored liquids into matching tubes - challenging logic puzzle!• Pour liquids between tubes• Match all colors in separate tubes• Satisfying pour animations• 3D gel-style piece visuals | | | Popit FidgetPop satisfying bubbles in this relaxing fidget toy simulation game!• Relaxing bubble popping experience• Satisfying sound effects and haptics• 3D bubble visuals with silicone feel• 5x5 grid with vivid colors | | | Balloon BlasterPop rising balloons before they escape - quick taps and swipes win!• Swipe or tap to pop balloons• Balloons rise from bottom to top• Particle effects on pop• Lives system with score tracking | | | Space FighterPilot your spaceship through asteroid fields - endless space survival!• Drag controls for spacecraft movement• Dodge asteroids in endless space• 1-second collision immunity• Progressive speed increase | | | Word SearchFind all hidden words in the letter grid - swipe to select and score!• Classic word search puzzle• Swipe to find hidden words• Multiple word categories• 3D cell backgrounds with highlight animations | | | Number SearchFind all hidden numbers in the digit grid - swipe to select and score!• Number-based word search variant• Swipe to find hidden number sequences• Timed challenge mode• 3D cell backgrounds with highlight animations | | | Tank 1990Classic tank battle game - destroy enemy tanks and defend your base to win!• Retro-style tank combat• Destructible terrain and barriers• Defend your base from enemy waves• 3D tank visuals with muzzle flash effects | | | Nuts and BoltsUnscrew bolts and remove wooden planks to solve tricky mechanical puzzles!• Physics-based bolt unscrewing puzzles• Remove planks in the correct order• Satisfying unscrewing mechanics• 3D bolt and plank visuals | | | Stack TowerStack sliding blocks perfectly to build the tallest tower you can reach!• Tap to place sliding blocks• Perfect placements for bonus points• 3D isometric block visuals• Blast effects on perfect placement | | | Pipe ConnectRotate pipes to connect the water flow from source to sink in time!• Rotate pipe segments to connect flow• Connect source to sink before time runs out• Water flow animation on completion• 3D pipe visuals with metal finish | | | Mine SweeperReveal all safe cells on the grid without hitting a hidden mine below!• Classic minesweeper logic puzzle• Tap to reveal, long press to flag• Number clues show adjacent mines• 3D cell visuals with Skia rendering | | | Knife HitThrow knives at the spinning log - don't hit another knife or apple!• Tap to throw knives at spinning target• Avoid hitting previously thrown knives• Hit apples for bonus points• Satisfying stick and break animations | | | Color SwitchJump through matching color obstacles - time your taps to survive!• Tap to jump through rotating obstacles• Pass through matching color segments only• Collect stars to switch colors• Smooth shared-value animations | | | Ludo KingClassic board game for all ages - roll dice and race your tokens back home!• Classic Ludo board game• Play against AI opponents• Roll dice and move tokens strategically• Animated token movement | | | Spider SolitaireClassic Spider Solitaire - build card sequences and clear the full tableau!• Classic Spider Solitaire card game• Build descending card sequences• Multiple suit levels• Undo and hint system | | | Maze RunnerNavigate ball through procedural mazes - tilt and physics controls!• Procedurally generated mazes• Tilt-based physics controls• Multiple grid sizes• Smooth ball physics | | | Tic Tac ToeClassic X and O strategy game - play against a smart AI and try to win!• Classic tic-tac-toe gameplay• Play against AI with varying intelligence• 3D frosted glass board• Enhanced 3D X and O pieces with glow effects | | | Car RacingDodge oncoming traffic and race through busy lanes - test your reflexes!• Lane-based racing with traffic dodging• Swipe to change lanes quickly• Collect coins and power-ups• Progressive speed increase | | | Bike RacingRace on bikes through heavy traffic - faster speeds and bigger challenges!• High-speed bike racing• Lane-based traffic dodging• Faster than car racing• Lives system with score tracking | | | Sliding NumbersSlide numbered tiles into the right order - classic sliding puzzle game!• Classic 15-puzzle mechanics• Multiple grid sizes• Timer challenge mode• Smooth tile sliding animations | | | 2048Merge matching number tiles to reach 2048 and beyond - addictive puzzle!• Swipe to merge matching tiles• Reach 2048 tile to win• Continue for higher scores• Smooth merge animations | | | SudokuFill the 9x9 grid with numbers 1-9 with no repeats in rows or columns!• Classic Sudoku number puzzle• Pencil mark notes support• Error highlighting for invalid entries• Per-cell isolation for smooth performance | | | Snake 3DEat eggs to grow longer and avoid hitting the walls - classic snake game!• Classic snake mechanics• Swipe or tap to change direction• Grow by eating eggs• 3D snake body rendering | | | Perfect CircleDraw the most perfect circle you can on screen - test your hand precision!• Draw circles with your finger• Precision scoring system• Challenge your drawing skills• Visual feedback on accuracy | | | ArrowsTap arrows to fly them off the board - clear them all before time runs out!• Tap arrows to send them flying• Clear blocked paths strategically• Timed puzzle challenge• Level-based progression | | | Find Different NumberFind the 10 different numbers hidden in a 10x10 grid before time runs out!• Spot the odd numbers in a grid• Timed challenge with bonus time• Progressive difficulty per round• Wrong taps penalize time | | | Snakes and LaddersClassic board game - roll the dice, climb ladders, and avoid snakes to reach 100!• Classic board game mechanics• Climb ladders to jump ahead• Avoid snakes that slide you back• Play against AI opponent | | | BlukSling your block from pillar to pillar - a skill-based physics jumping adventure!• Drag to aim with trajectory preview• Physics-based block jumping• Perfect landing combos for bonus points• 3D isometric block visuals | | | Chameleon RunDash across platforms and leap over gaps in this fast-paced runner!• Auto-running chameleon gameplay• Tap to jump and double-jump• Collect stars for bonus points• Progressive speed increase | | | Mob ControlCommand your mob through multiplier gates and overwhelm the enemy base to win!• Aim cannon to fire blobs of troops• Multiplier gates grow your mob• Damage enemy base to level up• Strategic gate selection | | | Paper IOClaim territory, outmaneuver rivals and conquer the board in this classic io battle!• Swipe to steer and claim territory• Close loops to capture area• Cut rival trails to eliminate them• Grow the biggest territory to win | | | Crossy RoadHop across busy roads, rivers and railways - how far can you go?• Tap to hop forward across lanes• Dodge cars, trains and rivers• Ride floating logs to cross water• Endless hopping challenge | | | TangramArrange the seven classic tans to perfectly fill the target shape!• Drag and rotate puzzle pieces• Match pieces to the silhouette outline• Timed challenge with bonus points• Classic tangram shapes | | | CheckersOutsmart the robot in the classic game of Checkers - capture all its pieces to win!• Classic checkers board game• Play against AI opponent• Chain jumps to capture multiple pieces• Crown Kings for bidirectional movement | | | Memory MatchFlip the cards two at a time and match every pair before the clock runs out!• Classic card matching memory game• Flip two cards to find pairs• Timed challenge mode• Multiple difficulty levels | | | Falling SticksColorful sticks rain down from the sky - tap them before they hit the floor!• Tap falling sticks to catch them• Three lives system• Speed increases with score• Colorful stick visuals | | | ReversiOutflank the robot in this classic Othello duel - trap its discs to flip them to your color!• Classic Othello/Reversi strategy• Trap and flip opponent discs• Play against AI opponent• Strategic board control |
Installation
bun add @nayan-ui/games
# or
npm install @nayan-ui/gamesPeer Dependencies
bun add @shopify/react-native-skia react-native-reanimated react-native-gesture-handler react-native-worklets react-native-svg expo-speech expo-haptics- @shopify/react-native-skia — Graphics
- react-native-reanimated — Animations
- react-native-gesture-handler — Gestures
- expo-speech — Sounds
- expo-haptics — Haptics
Usage
All 50 games share the same props interface. Import any game component and render it:
import { useState } from 'react';
import { View } from 'react-native';
import { DEFAULT_GAME_SETTINGS, FruitNinja, type GameSettings, type GameCompletionMetrics } from '@nayan-ui/games';
export default function GameScreen() {
const [settings, setSettings] = useState<GameSettings>(DEFAULT_GAME_SETTINGS);
const handleEndGame = (metrics: GameCompletionMetrics) => {
console.log(metrics.status, metrics.score);
};
return (
<View style={{ flex: 1 }}>
<FruitNinja
settings={settings}
onSettingsChange={setSettings}
onEndGame={handleEndGame}
/>
</View>
);
}Replace FruitNinja with any game component:
import { BlockBlast, CandyCrush, PacMan, Sudoku, LudoKing } from '@nayan-ui/games';
// All games accept the same props
<BlockBlast settings={settings} onSettingsChange={setSettings} />
<CandyCrush settings={settings} onSettingsChange={setSettings} />
<PacMan settings={settings} onSettingsChange={setSettings} />
<Sudoku settings={settings} onSettingsChange={setSettings} />
<LudoKing settings={settings} onSettingsChange={setSettings} />Dynamic Rendering
Use GAMES_MAPPING to render games by ID:
import { GAMES_MAPPING, GAME_IDS } from '@nayan-ui/games';
const GameComponent = GAMES_MAPPING[GAME_IDS.FRUIT_NINJA];
<GameComponent settings={settings} onSettingsChange={setSettings} />;API Reference
GameSettings
interface GameSettings {
isVisible: boolean; // Settings modal visibility
enableSounds: boolean; // Sound effects toggle
enableHaptics: boolean; // Haptic feedback toggle
enableMusic: boolean; // Background music toggle
offset?: number; // Top offset for notch/status bar (default: 0)
}
const DEFAULT_GAME_SETTINGS: GameSettings = {
isVisible: false,
enableSounds: true,
enableHaptics: true,
enableMusic: false,
offset: 0
};GameProps
interface GameProps {
settings: GameSettings;
onSettingsChange?: (settings: GameSettings) => void;
onEndGame?: (metrics: GameCompletionMetrics) => void;
onReplayGame?: () => void;
onShare?: () => void;
onShareScreenshot?: () => void;
onShowLeaderboard?: () => void;
bannerAd?: ReactNode;
}GameCompletionMetrics
interface GameCompletionMetrics {
status: 'win' | 'lose' | 'cancel';
score: string;
additionalData?: Record<string, any>;
}GAMES_METADATA
Access game metadata (title, description, instructions, categories) via the services export:
import { GAMES_METADATA, GAMES_METADATA_LIST } from '@nayan-ui/games/services';
const meta = GAMES_METADATA[GAME_IDS.FRUIT_NINJA];
console.log(meta.title); // 'Fruit Ninja'
console.log(meta.description); // 'Slice all flying fruits...'
console.log(meta.instructions); // string[]
console.log(meta.categories); // ('arcade' | 'puzzle' | 'brain' | ...)[]Game Categories
'arcade' | 'block' | 'casual' | 'action' | 'brain' | 'education' | 'puzzle' | 'racing' | 'strategy'
License
This library is available under a dual licensing model:
Non-Commercial (Free) — Personal projects, learning, education, open source, and portfolio apps.
Commercial (Paid) — Commercial apps, revenue-generating projects, App Store/Play Store monetized apps, and enterprise use.
Get Commercial License: [email protected]
See the complete LICENSE file for detailed terms.
Support
- Email: [email protected]
- Issues: GitHub Issues
- Website: https://www.nayanui.com/games
Made with ❤️ by Niranjan Devasani
