@nayan-ui/games 1.20.0 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/games/arrows/Arrows.js +1 -1
- package/lib/module/games/arrows/ArrowsScene.js +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
- package/lib/module/games/balloon-blaster/BalloonBlasterScene.js +1 -1
- package/lib/module/games/bike-racing/BikeMeshes.js +1 -1
- package/lib/module/games/bike-racing/BikeRacing.js +1 -1
- package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -1
- package/lib/module/games/bike-racing/BikeRacingScene.js +1 -1
- package/lib/module/games/block-blast/BlockBlast.js +1 -1
- package/lib/module/games/block-blast/BlockBlastScene.js +1 -1
- package/lib/module/games/block-breaker/BlockBreaker.js +1 -1
- package/lib/module/games/block-breaker/BlockBreakerScene.js +1 -1
- package/lib/module/games/bluk/Bluk.js +1 -1
- package/lib/module/games/bluk/BlukScene.js +1 -1
- package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
- package/lib/module/games/bubble-shooter/BubbleShooterScene.js +1 -1
- package/lib/module/games/candy-crush/CandyCrush.js +1 -1
- package/lib/module/games/candy-crush/CandyCrushScene.js +1 -1
- package/lib/module/games/car-racing/CarMeshes.js +1 -1
- package/lib/module/games/car-racing/CarRacing.js +1 -1
- package/lib/module/games/car-racing/CarRacingScene.js +1 -1
- package/lib/module/games/chameleon-run/ChameleonRun.js +1 -1
- package/lib/module/games/chameleon-run/ChameleonRunBackdrop.js +1 -1
- package/lib/module/games/chameleon-run/ChameleonRunMeshes.js +1 -1
- package/lib/module/games/checkers/Checkers.js +1 -1
- package/lib/module/games/checkers/CheckersScene.js +1 -1
- package/lib/module/games/color-switch/ColorSwitch.js +1 -1
- package/lib/module/games/color-switch/ColorSwitchScene.js +1 -1
- package/lib/module/games/colors-sort/ColorsSort.js +1 -1
- package/lib/module/games/colors-sort/ColorsSortScene.js +1 -1
- package/lib/module/games/connect-em-all/ConnectEmAll.js +1 -1
- package/lib/module/games/connect-em-all/ConnectEmAllScene.js +1 -1
- package/lib/module/games/crossy-road/CrossyRoad.js +1 -1
- package/lib/module/games/crossy-road/CrossyRoadMeshes.js +1 -1
- package/lib/module/games/crossy-road/CrossyRoadPerson.js +1 -1
- package/lib/module/games/dino-jump/DinoJump.js +1 -1
- package/lib/module/games/dino-jump/DinoJumpScene.js +1 -1
- package/lib/module/games/dots-and-boxes/DotsAndBoxes.js +1 -1
- package/lib/module/games/dots-and-boxes/DotsAndBoxesScene.js +1 -1
- package/lib/module/games/falling-sticks/FallingSticks.js +1 -1
- package/lib/module/games/falling-sticks/FallingSticksScene.js +1 -1
- package/lib/module/games/find-different-number/FindDifferentNumber.js +1 -1
- package/lib/module/games/find-different-number/FindDifferentNumberScene.js +1 -1
- package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
- package/lib/module/games/flappy-bird/FlappyBirdScene.js +1 -1
- package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
- package/lib/module/games/fruit-merger/FruitMergerScene.js +1 -1
- package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
- package/lib/module/games/fruit-ninja/FruitNinjaScene.js +1 -1
- package/lib/module/games/fruit-ninja/FruitNinjaWorld.js +1 -1
- package/lib/module/games/game-2048/Game2048.js +1 -1
- package/lib/module/games/game-2048/Game2048Scene.js +1 -1
- package/lib/module/games/knife-hit/KnifeHit.js +1 -1
- package/lib/module/games/knife-hit/KnifeHitScene.js +1 -1
- package/lib/module/games/ludo-king/LudoKing.js +1 -1
- package/lib/module/games/ludo-king/LudoKingScene.js +1 -1
- package/lib/module/games/maze-runner/MazeRunner.js +1 -1
- package/lib/module/games/maze-runner/MazeRunnerScene.js +1 -1
- package/lib/module/games/memory-match/MemoryMatch.js +1 -1
- package/lib/module/games/memory-match/MemoryMatchScene.js +1 -1
- package/lib/module/games/mine-sweeper/MineSweeper.js +1 -1
- package/lib/module/games/mine-sweeper/MineSweeperScene.js +1 -1
- package/lib/module/games/mob-control/MobControl.js +1 -1
- package/lib/module/games/mob-control/MobControlGame.js +1 -1
- package/lib/module/games/mob-control/MobControlMeshes.js +1 -1
- package/lib/module/games/mob-control/MobControlRenderer.js +1 -1
- package/lib/module/games/mob-control/MobControlRules.js +1 -1
- package/lib/module/games/mob-control/MobControlScene.js +1 -1
- package/lib/module/games/nuts-and-bolts/NutsAndBolts.js +1 -1
- package/lib/module/games/nuts-and-bolts/NutsAndBoltsScene.js +1 -1
- package/lib/module/games/pac-man/PacMan.js +1 -1
- package/lib/module/games/pac-man/PacManGame.js +1 -1
- package/lib/module/games/pac-man/PacManScene.js +1 -1
- package/lib/module/games/paper-io/PaperIo.js +1 -1
- package/lib/module/games/paper-io/PaperIoMeshes.js +1 -1
- package/lib/module/games/paper-io/PaperIoScene.js +1 -1
- package/lib/module/games/penguin-run/PenguinMeshes.js +1 -1
- package/lib/module/games/penguin-run/PenguinRun.js +1 -1
- package/lib/module/games/penguin-run/PenguinRunScene.js +1 -1
- package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
- package/lib/module/games/perfect-circle/PerfectCircleScene.js +1 -1
- package/lib/module/games/pipe-connect/PipeConnect.js +1 -1
- package/lib/module/games/pipe-connect/PipeConnectScene.js +1 -1
- package/lib/module/games/play-with-tua/PlayWithTua.js +1 -1
- package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
- package/lib/module/games/popit-fidget/PopitFidgetScene.js +1 -1
- package/lib/module/games/reversi/Reversi.js +1 -1
- package/lib/module/games/reversi/ReversiScene.js +1 -1
- package/lib/module/games/search-grid/SearchGrid.js +1 -1
- package/lib/module/games/search-grid/SearchGridScene.js +1 -1
- package/lib/module/games/shared/BackdropCard.js +1 -1
- package/lib/module/games/shared/EngineBackdrop.js +1 -1
- package/lib/module/games/shared/EngineBlasts.js +1 -1
- package/lib/module/games/shared/EngineBlocks.js +1 -1
- package/lib/module/games/shared/EngineDice.js +1 -1
- package/lib/module/games/shared/EngineFruits.js +1 -1
- package/lib/module/games/shared/EngineGameLoader.js +1 -1
- package/lib/module/games/shared/EngineGameScreen.js +1 -1
- package/lib/module/games/shared/EngineGlyphs.js +1 -1
- package/lib/module/games/shared/EngineHud.js +1 -1
- package/lib/module/games/shared/EngineMeadow.js +1 -1
- package/lib/module/games/shared/EngineTouchSurface.js +1 -1
- package/lib/module/games/shared/GameActivity.js +1 -1
- package/lib/module/games/shared/GameLoading.js +1 -1
- package/lib/module/games/shared/GameLoadingTransition.js +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
- package/lib/module/games/sliding-numbers/SlidingNumbersScene.js +1 -1
- package/lib/module/games/snake-3d/Snake3D.js +1 -1
- package/lib/module/games/snake-3d/Snake3DScene.js +1 -1
- package/lib/module/games/snakes-and-ladders/SnakesAndLadders.js +1 -1
- package/lib/module/games/snakes-and-ladders/SnakesAndLaddersScene.js +1 -1
- package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
- package/lib/module/games/space-fighter/SpaceFighterScene.js +1 -1
- package/lib/module/games/spider-solitaire/SpiderSolitaire.js +1 -1
- package/lib/module/games/spider-solitaire/SpiderSolitaireScene.js +1 -1
- package/lib/module/games/stack-tower/StackTower.js +1 -1
- package/lib/module/games/stack-tower/StackTowerScene.js +1 -1
- package/lib/module/games/sudoku/Sudoku.js +1 -1
- package/lib/module/games/sudoku/SudokuScene.js +1 -1
- package/lib/module/games/tangram/Tangram.js +1 -1
- package/lib/module/games/tangram/TangramScene.js +1 -1
- package/lib/module/games/tank-1990/Tank1990.js +1 -1
- package/lib/module/games/tank-1990/Tank1990Scene.js +1 -1
- package/lib/module/games/tic-tac-toe/TicTacToe.js +1 -1
- package/lib/module/games/tic-tac-toe/TicTacToeScene.js +1 -1
- package/lib/module/games/tile-home/TileHome.js +1 -1
- package/lib/module/games/tile-home/TileHomeScene.js +1 -1
- package/lib/module/games/treasure-hunt/TreasureHunt.js +1 -1
- package/lib/module/games/treasure-hunt/TreasureHuntConstants.js +1 -1
- package/lib/module/games/treasure-hunt/TreasureHuntModel.js +1 -1
- package/lib/module/games/treasure-hunt/TreasureHuntScene.js +1 -1
- package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
- package/lib/module/games/whack-a-mole/WhackAMoleScene.js +1 -1
- package/lib/module/helpers/GameSettingsModal.js +1 -1
- package/lib/module/helpers/GameTheme.js +1 -1
- package/package.json +1 -2
- package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
- package/src/assets/models/explorer/explorer.glb +0 -0
- package/src/assets/models/explorer/params.json +0 -51
- package/src/assets/models/explorer/source.json +0 -222
- package/src/assets/models/play-with-tua/play-with-tua.glb +0 -0
- package/src/assets/models/play-with-tua/sources.json +0 -141
- package/src/assets/sfx/balloon_pop.wav +0 -0
- package/src/assets/sfx/blocked.wav +0 -0
- package/src/assets/sfx/boing.wav +0 -0
- package/src/assets/sfx/bonus.wav +0 -0
- package/src/assets/sfx/boom.wav +0 -0
- package/src/assets/sfx/bump.wav +0 -0
- package/src/assets/sfx/cannon.wav +0 -0
- package/src/assets/sfx/capture.wav +0 -0
- package/src/assets/sfx/card_flip.wav +0 -0
- package/src/assets/sfx/card_place.wav +0 -0
- package/src/assets/sfx/catch.wav +0 -0
- package/src/assets/sfx/chime.wav +0 -0
- package/src/assets/sfx/chomp.wav +0 -0
- package/src/assets/sfx/chomp_alt.wav +0 -0
- package/src/assets/sfx/clack.wav +0 -0
- package/src/assets/sfx/clang.wav +0 -0
- package/src/assets/sfx/clash.wav +0 -0
- package/src/assets/sfx/click.wav +0 -0
- package/src/assets/sfx/coin.wav +0 -0
- package/src/assets/sfx/combo.wav +0 -0
- package/src/assets/sfx/crash.wav +0 -0
- package/src/assets/sfx/crunch.wav +0 -0
- package/src/assets/sfx/dance.wav +0 -0
- package/src/assets/sfx/deselect.wav +0 -0
- package/src/assets/sfx/dice_roll.wav +0 -0
- package/src/assets/sfx/die.wav +0 -0
- package/src/assets/sfx/draw.wav +0 -0
- package/src/assets/sfx/drop.wav +0 -0
- package/src/assets/sfx/eat.wav +0 -0
- package/src/assets/sfx/engine.wav +0 -0
- package/src/assets/sfx/error.wav +0 -0
- package/src/assets/sfx/flag.wav +0 -0
- package/src/assets/sfx/flap.wav +0 -0
- package/src/assets/sfx/flip_disc.wav +0 -0
- package/src/assets/sfx/footstep_run.wav +0 -0
- package/src/assets/sfx/footstep_walk.wav +0 -0
- package/src/assets/sfx/game_over.wav +0 -0
- package/src/assets/sfx/gate.wav +0 -0
- package/src/assets/sfx/hit.wav +0 -0
- package/src/assets/sfx/hop.wav +0 -0
- package/src/assets/sfx/hurt.wav +0 -0
- package/src/assets/sfx/invalid.wav +0 -0
- package/src/assets/sfx/jump.wav +0 -0
- package/src/assets/sfx/ladder.wav +0 -0
- package/src/assets/sfx/land.wav +0 -0
- package/src/assets/sfx/laugh.wav +0 -0
- package/src/assets/sfx/lose.wav +0 -0
- package/src/assets/sfx/merge.wav +0 -0
- package/src/assets/sfx/miss.wav +0 -0
- package/src/assets/sfx/nitro.wav +0 -0
- package/src/assets/sfx/pew.wav +0 -0
- package/src/assets/sfx/place.wav +0 -0
- package/src/assets/sfx/pling.wav +0 -0
- package/src/assets/sfx/point.wav +0 -0
- package/src/assets/sfx/pop.wav +0 -0
- package/src/assets/sfx/pop_soft.wav +0 -0
- package/src/assets/sfx/power_up.wav +0 -0
- package/src/assets/sfx/reveal.wav +0 -0
- package/src/assets/sfx/robot.wav +0 -0
- package/src/assets/sfx/rotate.wav +0 -0
- package/src/assets/sfx/run_steps.wav +0 -0
- package/src/assets/sfx/select.wav +0 -0
- package/src/assets/sfx/shuffle.wav +0 -0
- package/src/assets/sfx/six.wav +0 -0
- package/src/assets/sfx/slice.wav +0 -0
- package/src/assets/sfx/slide.wav +0 -0
- package/src/assets/sfx/snake.wav +0 -0
- package/src/assets/sfx/snap.wav +0 -0
- package/src/assets/sfx/splash.wav +0 -0
- package/src/assets/sfx/star.wav +0 -0
- package/src/assets/sfx/start.wav +0 -0
- package/src/assets/sfx/swoosh.wav +0 -0
- package/src/assets/sfx/tap.wav +0 -0
- package/src/assets/sfx/thud.wav +0 -0
- package/src/assets/sfx/thunk.wav +0 -0
- package/src/assets/sfx/tick.wav +0 -0
- package/src/assets/sfx/time_up.wav +0 -0
- package/src/assets/sfx/tock.wav +0 -0
- package/src/assets/sfx/walk_steps.wav +0 -0
- package/src/assets/sfx/warning.wav +0 -0
- package/src/assets/sfx/whack.wav +0 -0
- package/src/assets/sfx/whoosh.wav +0 -0
- package/src/assets/sfx/win.wav +0 -0
- package/src/assets/sfx/zap.wav +0 -0
- package/src/assets/textures/ad_bolt.png +0 -0
- package/src/assets/textures/ad_bubbles.png +0 -0
- package/src/assets/textures/ad_chevrons.png +0 -0
- package/src/assets/textures/asphalt.png +0 -0
- package/src/assets/textures/bark.jpg +0 -0
- package/src/assets/textures/explorer-atlas.png +0 -0
- package/src/assets/textures/facade.png +0 -0
- package/src/assets/textures/grass.png +0 -0
- package/src/assets/textures/leaves.png +0 -0
- package/src/assets/textures/limestone.jpg +0 -0
- package/src/assets/textures/meadow.jpg +0 -0
- package/src/assets/textures/nature-sources.json +0 -87
- package/src/assets/textures/pine.png +0 -0
- package/src/assets/textures/river.jpg +0 -0
- package/src/assets/textures/soft_glow.png +0 -0
- package/src/games/arrows/Arrows.tsx +0 -69
- package/src/games/arrows/ArrowsConstants.ts +0 -107
- package/src/games/arrows/ArrowsGame.ts +0 -735
- package/src/games/arrows/ArrowsScene.ts +0 -395
- package/src/games/balloon-blaster/BalloonBlaster.tsx +0 -75
- package/src/games/balloon-blaster/BalloonBlasterConstants.ts +0 -79
- package/src/games/balloon-blaster/BalloonBlasterGame.ts +0 -287
- package/src/games/balloon-blaster/BalloonBlasterPhysics.ts +0 -95
- package/src/games/balloon-blaster/BalloonBlasterScene.ts +0 -225
- package/src/games/bike-racing/BikeMeshes.ts +0 -273
- package/src/games/bike-racing/BikeRacing.tsx +0 -211
- package/src/games/bike-racing/BikeRacingConstants.ts +0 -103
- package/src/games/bike-racing/BikeRacingGame.ts +0 -557
- package/src/games/bike-racing/BikeRacingScene.ts +0 -119
- package/src/games/block-blast/BlockBlast.tsx +0 -73
- package/src/games/block-blast/BlockBlastConstants.ts +0 -179
- package/src/games/block-blast/BlockBlastGame.ts +0 -471
- package/src/games/block-blast/BlockBlastScene.ts +0 -156
- package/src/games/block-breaker/BlockBreaker.tsx +0 -79
- package/src/games/block-breaker/BlockBreakerConstants.ts +0 -139
- package/src/games/block-breaker/BlockBreakerGame.ts +0 -459
- package/src/games/block-breaker/BlockBreakerScene.ts +0 -257
- package/src/games/bluk/Bluk.tsx +0 -82
- package/src/games/bluk/BlukConstants.ts +0 -121
- package/src/games/bluk/BlukGame.ts +0 -323
- package/src/games/bluk/BlukRules.ts +0 -154
- package/src/games/bluk/BlukScene.ts +0 -514
- package/src/games/bubble-shooter/BubbleShooter.tsx +0 -76
- package/src/games/bubble-shooter/BubbleShooterConstants.ts +0 -103
- package/src/games/bubble-shooter/BubbleShooterGame.ts +0 -459
- package/src/games/bubble-shooter/BubbleShooterScene.ts +0 -158
- package/src/games/candy-crush/CandyCrush.tsx +0 -77
- package/src/games/candy-crush/CandyCrushConstants.ts +0 -94
- package/src/games/candy-crush/CandyCrushGame.ts +0 -477
- package/src/games/candy-crush/CandyCrushScene.ts +0 -209
- package/src/games/car-racing/CarMeshes.ts +0 -440
- package/src/games/car-racing/CarRacing.tsx +0 -211
- package/src/games/car-racing/CarRacingConstants.ts +0 -167
- package/src/games/car-racing/CarRacingFacade.ts +0 -40
- package/src/games/car-racing/CarRacingGame.ts +0 -539
- package/src/games/car-racing/CarRacingScene.ts +0 -1026
- package/src/games/car-racing/CarRacingScenery.ts +0 -265
- package/src/games/chameleon-run/ChameleonRun.tsx +0 -96
- package/src/games/chameleon-run/ChameleonRunBackdrop.ts +0 -186
- package/src/games/chameleon-run/ChameleonRunConstants.ts +0 -47
- package/src/games/chameleon-run/ChameleonRunGame.ts +0 -309
- package/src/games/chameleon-run/ChameleonRunMeshes.ts +0 -305
- package/src/games/chameleon-run/ChameleonRunRules.ts +0 -252
- package/src/games/chameleon-run/ChameleonRunScene.ts +0 -310
- package/src/games/checkers/Checkers.tsx +0 -83
- package/src/games/checkers/CheckersAI.ts +0 -255
- package/src/games/checkers/CheckersConstants.ts +0 -68
- package/src/games/checkers/CheckersGame.ts +0 -322
- package/src/games/checkers/CheckersRules.ts +0 -167
- package/src/games/checkers/CheckersScene.ts +0 -308
- package/src/games/color-switch/ColorSwitch.tsx +0 -75
- package/src/games/color-switch/ColorSwitchConstants.ts +0 -61
- package/src/games/color-switch/ColorSwitchGame.ts +0 -329
- package/src/games/color-switch/ColorSwitchScene.ts +0 -220
- package/src/games/colors-sort/ColorsSort.tsx +0 -82
- package/src/games/colors-sort/ColorsSortConstants.ts +0 -119
- package/src/games/colors-sort/ColorsSortGame.ts +0 -246
- package/src/games/colors-sort/ColorsSortScene.ts +0 -315
- package/src/games/connect-em-all/ConnectEmAll.tsx +0 -70
- package/src/games/connect-em-all/ConnectEmAllConstants.ts +0 -77
- package/src/games/connect-em-all/ConnectEmAllGame.ts +0 -401
- package/src/games/connect-em-all/ConnectEmAllScene.ts +0 -235
- package/src/games/crossy-road/CrossyRoad.tsx +0 -74
- package/src/games/crossy-road/CrossyRoadCamera.ts +0 -59
- package/src/games/crossy-road/CrossyRoadConstants.ts +0 -132
- package/src/games/crossy-road/CrossyRoadGame.ts +0 -293
- package/src/games/crossy-road/CrossyRoadMeshes.ts +0 -195
- package/src/games/crossy-road/CrossyRoadPerson.ts +0 -198
- package/src/games/crossy-road/CrossyRoadRules.ts +0 -99
- package/src/games/crossy-road/CrossyRoadScene.ts +0 -355
- package/src/games/dino-jump/DinoJump.tsx +0 -77
- package/src/games/dino-jump/DinoJumpConstants.ts +0 -80
- package/src/games/dino-jump/DinoJumpGame.ts +0 -344
- package/src/games/dino-jump/DinoJumpScene.ts +0 -686
- package/src/games/dots-and-boxes/DotsAndBoxes.tsx +0 -83
- package/src/games/dots-and-boxes/DotsAndBoxesConstants.ts +0 -77
- package/src/games/dots-and-boxes/DotsAndBoxesGame.ts +0 -271
- package/src/games/dots-and-boxes/DotsAndBoxesScene.ts +0 -249
- package/src/games/falling-sticks/FallingSticks.tsx +0 -72
- package/src/games/falling-sticks/FallingSticksConstants.ts +0 -62
- package/src/games/falling-sticks/FallingSticksGame.ts +0 -220
- package/src/games/falling-sticks/FallingSticksRules.ts +0 -145
- package/src/games/falling-sticks/FallingSticksScene.ts +0 -245
- package/src/games/find-different-number/FindDifferentNumber.tsx +0 -74
- package/src/games/find-different-number/FindDifferentNumberConstants.ts +0 -74
- package/src/games/find-different-number/FindDifferentNumberGame.ts +0 -174
- package/src/games/find-different-number/FindDifferentNumberRules.ts +0 -43
- package/src/games/find-different-number/FindDifferentNumberScene.ts +0 -193
- package/src/games/flappy-bird/FlappyBird.tsx +0 -73
- package/src/games/flappy-bird/FlappyBirdConstants.ts +0 -95
- package/src/games/flappy-bird/FlappyBirdGame.ts +0 -375
- package/src/games/flappy-bird/FlappyBirdScene.ts +0 -630
- package/src/games/fruit-merger/FruitMerger.tsx +0 -73
- package/src/games/fruit-merger/FruitMergerConstants.ts +0 -102
- package/src/games/fruit-merger/FruitMergerGame.ts +0 -285
- package/src/games/fruit-merger/FruitMergerRules.ts +0 -286
- package/src/games/fruit-merger/FruitMergerScene.ts +0 -498
- package/src/games/fruit-ninja/FruitNinja.tsx +0 -129
- package/src/games/fruit-ninja/FruitNinjaConstants.ts +0 -107
- package/src/games/fruit-ninja/FruitNinjaGame.ts +0 -391
- package/src/games/fruit-ninja/FruitNinjaScene.ts +0 -319
- package/src/games/fruit-ninja/FruitNinjaWorld.ts +0 -17
- package/src/games/game-2048/Game2048.tsx +0 -84
- package/src/games/game-2048/Game2048Constants.ts +0 -68
- package/src/games/game-2048/Game2048Game.ts +0 -181
- package/src/games/game-2048/Game2048Rules.ts +0 -101
- package/src/games/game-2048/Game2048Scene.ts +0 -206
- package/src/games/knife-hit/KnifeHit.tsx +0 -78
- package/src/games/knife-hit/KnifeHitConstants.ts +0 -89
- package/src/games/knife-hit/KnifeHitGame.ts +0 -264
- package/src/games/knife-hit/KnifeHitScene.ts +0 -360
- package/src/games/ludo-king/LudoKing.tsx +0 -86
- package/src/games/ludo-king/LudoKingConstants.ts +0 -212
- package/src/games/ludo-king/LudoKingGame.ts +0 -326
- package/src/games/ludo-king/LudoKingRules.ts +0 -143
- package/src/games/ludo-king/LudoKingScene.ts +0 -397
- package/src/games/maze-runner/MazeRunner.tsx +0 -88
- package/src/games/maze-runner/MazeRunnerConstants.ts +0 -65
- package/src/games/maze-runner/MazeRunnerGame.ts +0 -176
- package/src/games/maze-runner/MazeRunnerRules.ts +0 -161
- package/src/games/maze-runner/MazeRunnerScene.ts +0 -245
- package/src/games/memory-match/MemoryMatch.tsx +0 -77
- package/src/games/memory-match/MemoryMatchConstants.ts +0 -105
- package/src/games/memory-match/MemoryMatchGame.ts +0 -222
- package/src/games/memory-match/MemoryMatchRules.ts +0 -38
- package/src/games/memory-match/MemoryMatchScene.ts +0 -268
- package/src/games/mine-sweeper/MineSweeper.tsx +0 -77
- package/src/games/mine-sweeper/MineSweeperConstants.ts +0 -94
- package/src/games/mine-sweeper/MineSweeperGame.ts +0 -234
- package/src/games/mine-sweeper/MineSweeperRules.ts +0 -67
- package/src/games/mine-sweeper/MineSweeperScene.ts +0 -262
- package/src/games/mob-control/MobControl.tsx +0 -73
- package/src/games/mob-control/MobControlConstants.ts +0 -106
- package/src/games/mob-control/MobControlGame.ts +0 -176
- package/src/games/mob-control/MobControlMeshes.ts +0 -85
- package/src/games/mob-control/MobControlRenderer.ts +0 -108
- package/src/games/mob-control/MobControlRules.ts +0 -522
- package/src/games/mob-control/MobControlScene.ts +0 -399
- package/src/games/number-search/NumberSearch.tsx +0 -18
- package/src/games/number-search/NumberSearchNumbers.ts +0 -623
- package/src/games/nuts-and-bolts/NutsAndBolts.tsx +0 -85
- package/src/games/nuts-and-bolts/NutsAndBoltsConstants.ts +0 -75
- package/src/games/nuts-and-bolts/NutsAndBoltsGame.ts +0 -298
- package/src/games/nuts-and-bolts/NutsAndBoltsRules.ts +0 -474
- package/src/games/nuts-and-bolts/NutsAndBoltsScene.ts +0 -498
- package/src/games/pac-man/PacMan.tsx +0 -86
- package/src/games/pac-man/PacManConstants.ts +0 -169
- package/src/games/pac-man/PacManGame.ts +0 -406
- package/src/games/pac-man/PacManRules.ts +0 -255
- package/src/games/pac-man/PacManScene.ts +0 -387
- package/src/games/paper-io/PaperIo.tsx +0 -91
- package/src/games/paper-io/PaperIoConstants.ts +0 -86
- package/src/games/paper-io/PaperIoGame.ts +0 -193
- package/src/games/paper-io/PaperIoMeshes.ts +0 -233
- package/src/games/paper-io/PaperIoRules.ts +0 -315
- package/src/games/paper-io/PaperIoScene.ts +0 -310
- package/src/games/penguin-run/PenguinMeshes.ts +0 -269
- package/src/games/penguin-run/PenguinModel.ts +0 -712
- package/src/games/penguin-run/PenguinRun.tsx +0 -77
- package/src/games/penguin-run/PenguinRunConstants.ts +0 -69
- package/src/games/penguin-run/PenguinRunGame.ts +0 -406
- package/src/games/penguin-run/PenguinRunScene.ts +0 -949
- package/src/games/perfect-circle/PerfectCircle.tsx +0 -74
- package/src/games/perfect-circle/PerfectCircleConstants.ts +0 -52
- package/src/games/perfect-circle/PerfectCircleGame.ts +0 -153
- package/src/games/perfect-circle/PerfectCircleRules.ts +0 -111
- package/src/games/perfect-circle/PerfectCircleScene.ts +0 -176
- package/src/games/pipe-connect/PipeConnect.tsx +0 -69
- package/src/games/pipe-connect/PipeConnectConstants.ts +0 -101
- package/src/games/pipe-connect/PipeConnectGame.ts +0 -179
- package/src/games/pipe-connect/PipeConnectRules.ts +0 -326
- package/src/games/pipe-connect/PipeConnectScene.ts +0 -271
- package/src/games/play-with-tua/PlayWithTua.tsx +0 -123
- package/src/games/play-with-tua/PlayWithTuaConstants.ts +0 -70
- package/src/games/play-with-tua/PlayWithTuaGame.ts +0 -167
- package/src/games/play-with-tua/PlayWithTuaModel.ts +0 -42
- package/src/games/play-with-tua/PlayWithTuaScene.ts +0 -36
- package/src/games/popit-fidget/PopitFidget.tsx +0 -72
- package/src/games/popit-fidget/PopitFidgetConstants.ts +0 -71
- package/src/games/popit-fidget/PopitFidgetGame.ts +0 -148
- package/src/games/popit-fidget/PopitFidgetScene.ts +0 -242
- package/src/games/reversi/Reversi.tsx +0 -94
- package/src/games/reversi/ReversiConstants.ts +0 -67
- package/src/games/reversi/ReversiGame.ts +0 -266
- package/src/games/reversi/ReversiRules.ts +0 -176
- package/src/games/reversi/ReversiScene.ts +0 -240
- package/src/games/search-grid/SearchGrid.tsx +0 -92
- package/src/games/search-grid/SearchGridConstants.ts +0 -178
- package/src/games/search-grid/SearchGridGame.ts +0 -209
- package/src/games/search-grid/SearchGridScene.ts +0 -301
- package/src/games/shared/BackdropCard.tsx +0 -54
- package/src/games/shared/EngineBackdrop.ts +0 -300
- package/src/games/shared/EngineBlasts.ts +0 -136
- package/src/games/shared/EngineBlocks.ts +0 -91
- package/src/games/shared/EngineControlText.ts +0 -17
- package/src/games/shared/EngineDice.ts +0 -250
- package/src/games/shared/EngineFootprint.ts +0 -35
- package/src/games/shared/EngineFruits.ts +0 -1435
- package/src/games/shared/EngineGameLoader.tsx +0 -88
- package/src/games/shared/EngineGameScreen.tsx +0 -325
- package/src/games/shared/EngineGameWidth.ts +0 -3
- package/src/games/shared/EngineGameWidth.web.ts +0 -3
- package/src/games/shared/EngineGlyphs.ts +0 -178
- package/src/games/shared/EngineHud.ts +0 -815
- package/src/games/shared/EngineLoading.ts +0 -477
- package/src/games/shared/EngineMeadow.ts +0 -725
- package/src/games/shared/EngineMeshCache.ts +0 -15
- package/src/games/shared/EngineMeshes.ts +0 -10
- package/src/games/shared/EngineRacingChase.ts +0 -21
- package/src/games/shared/EngineRacingHandling.ts +0 -48
- package/src/games/shared/EngineReadyContext.ts +0 -4
- package/src/games/shared/EngineTilt.ts +0 -44
- package/src/games/shared/EngineTouchSurface.tsx +0 -103
- package/src/games/shared/EngineUtils.ts +0 -52
- package/src/games/shared/GameActivity.ts +0 -13
- package/src/games/shared/GameLoading.tsx +0 -202
- package/src/games/shared/GameLoadingTransition.tsx +0 -61
- package/src/games/shared/ProceduralCacheVersion.ts +0 -2
- package/src/games/shared/useEngineGame.ts +0 -240
- package/src/games/shared/useGameResource.ts +0 -21
- package/src/games/shared/useLiveState.ts +0 -58
- package/src/games/sliding-numbers/SlidingNumbers.tsx +0 -71
- package/src/games/sliding-numbers/SlidingNumbersConstants.ts +0 -65
- package/src/games/sliding-numbers/SlidingNumbersGame.ts +0 -192
- package/src/games/sliding-numbers/SlidingNumbersRules.ts +0 -79
- package/src/games/sliding-numbers/SlidingNumbersScene.ts +0 -193
- package/src/games/snake-3d/Snake3D.tsx +0 -76
- package/src/games/snake-3d/Snake3DConstants.ts +0 -61
- package/src/games/snake-3d/Snake3DGame.ts +0 -192
- package/src/games/snake-3d/Snake3DMotion.ts +0 -22
- package/src/games/snake-3d/Snake3DRules.ts +0 -116
- package/src/games/snake-3d/Snake3DScene.ts +0 -322
- package/src/games/snakes-and-ladders/SnakesAndLadders.tsx +0 -87
- package/src/games/snakes-and-ladders/SnakesAndLaddersConstants.ts +0 -136
- package/src/games/snakes-and-ladders/SnakesAndLaddersGame.ts +0 -310
- package/src/games/snakes-and-ladders/SnakesAndLaddersScene.ts +0 -515
- package/src/games/space-fighter/SpaceFighter.tsx +0 -74
- package/src/games/space-fighter/SpaceFighterConstants.ts +0 -86
- package/src/games/space-fighter/SpaceFighterGame.ts +0 -292
- package/src/games/space-fighter/SpaceFighterScene.ts +0 -550
- package/src/games/spider-solitaire/SpiderSolitaire.tsx +0 -80
- package/src/games/spider-solitaire/SpiderSolitaireConstants.ts +0 -107
- package/src/games/spider-solitaire/SpiderSolitaireGame.ts +0 -387
- package/src/games/spider-solitaire/SpiderSolitaireRules.ts +0 -123
- package/src/games/spider-solitaire/SpiderSolitaireScene.ts +0 -352
- package/src/games/stack-tower/StackTower.tsx +0 -76
- package/src/games/stack-tower/StackTowerConstants.ts +0 -74
- package/src/games/stack-tower/StackTowerGame.ts +0 -236
- package/src/games/stack-tower/StackTowerScene.ts +0 -186
- package/src/games/sudoku/Sudoku.tsx +0 -73
- package/src/games/sudoku/SudokuConstants.ts +0 -127
- package/src/games/sudoku/SudokuGame.ts +0 -250
- package/src/games/sudoku/SudokuRules.ts +0 -125
- package/src/games/sudoku/SudokuScene.ts +0 -304
- package/src/games/tangram/Tangram.tsx +0 -79
- package/src/games/tangram/TangramConstants.ts +0 -64
- package/src/games/tangram/TangramGame.ts +0 -356
- package/src/games/tangram/TangramRules.ts +0 -409
- package/src/games/tangram/TangramScene.ts +0 -203
- package/src/games/tank-1990/Tank1990.tsx +0 -78
- package/src/games/tank-1990/Tank1990Constants.ts +0 -81
- package/src/games/tank-1990/Tank1990Game.ts +0 -331
- package/src/games/tank-1990/Tank1990Rules.ts +0 -390
- package/src/games/tank-1990/Tank1990Scene.ts +0 -434
- package/src/games/tic-tac-toe/TicTacToe.tsx +0 -98
- package/src/games/tic-tac-toe/TicTacToeConstants.ts +0 -69
- package/src/games/tic-tac-toe/TicTacToeGame.ts +0 -200
- package/src/games/tic-tac-toe/TicTacToeRules.ts +0 -103
- package/src/games/tic-tac-toe/TicTacToeScene.ts +0 -245
- package/src/games/tile-home/TileHome.tsx +0 -92
- package/src/games/tile-home/TileHomeConstants.ts +0 -139
- package/src/games/tile-home/TileHomeGame.ts +0 -435
- package/src/games/tile-home/TileHomeScene.ts +0 -154
- package/src/games/treasure-hunt/TreasureHunt.tsx +0 -206
- package/src/games/treasure-hunt/TreasureHuntConstants.ts +0 -266
- package/src/games/treasure-hunt/TreasureHuntControls.ts +0 -280
- package/src/games/treasure-hunt/TreasureHuntGame.ts +0 -402
- package/src/games/treasure-hunt/TreasureHuntMeshes.ts +0 -422
- package/src/games/treasure-hunt/TreasureHuntModel.ts +0 -506
- package/src/games/treasure-hunt/TreasureHuntRules.ts +0 -1210
- package/src/games/treasure-hunt/TreasureHuntScene.ts +0 -586
- package/src/games/whack-a-mole/WhackAMole.tsx +0 -79
- package/src/games/whack-a-mole/WhackAMoleConstants.ts +0 -94
- package/src/games/whack-a-mole/WhackAMoleGame.ts +0 -233
- package/src/games/whack-a-mole/WhackAMoleScene.ts +0 -349
- package/src/games/word-search/WordSearch.tsx +0 -18
- package/src/games/word-search/WordSearchWords.ts +0 -1642
- package/src/helpers/GamePatternData.ts +0 -120
- package/src/helpers/GameSettingsModal.tsx +0 -384
- package/src/helpers/GameTheme.tsx +0 -37
- package/src/helpers/IconPaths.ts +0 -6
- package/src/helpers/index.ts +0 -2
- package/src/index.tsx +0 -60
- package/src/services/GameAssetLoader.ts +0 -111
- package/src/services/GameAssets.ts +0 -149
- package/src/services/GameLoaders.ts +0 -93
- package/src/services/GamesConstants.ts +0 -193
- package/src/services/GamesMetadata.ts +0 -711
- package/src/services/GamesService.ts +0 -116
- package/src/services/HapticsService.ts +0 -48
- package/src/services/ScoringService.ts +0 -19
- package/src/services/SfxSources.ts +0 -81
- package/src/services/SoundsService.ts +0 -582
- package/src/services/ThemeService.ts +0 -281
- package/src/services/UtilsService.ts +0 -134
- package/src/services/index.ts +0 -6
|
@@ -1,711 +0,0 @@
|
|
|
1
|
-
import { GAME_IDS, type GameCategory } from './UtilsService';
|
|
2
|
-
|
|
3
|
-
export interface GameMetadata {
|
|
4
|
-
id: GAME_IDS;
|
|
5
|
-
title: string;
|
|
6
|
-
description: string;
|
|
7
|
-
instructions: string[];
|
|
8
|
-
categories: GameCategory[];
|
|
9
|
-
/** Catalog badge only; this does not restrict gameplay. */
|
|
10
|
-
isPremium?: boolean;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export const GAMES_METADATA: Record<GAME_IDS, GameMetadata> = {
|
|
14
|
-
[GAME_IDS.BLOCK_BLAST]: {
|
|
15
|
-
id: GAME_IDS.BLOCK_BLAST,
|
|
16
|
-
title: 'Block Blast',
|
|
17
|
-
description: 'Place blocks on the grid to clear full lines - strategic puzzle challenge!',
|
|
18
|
-
instructions: [
|
|
19
|
-
'Drag and drop block shapes onto the grid.',
|
|
20
|
-
'Fill a complete row or column to clear it.',
|
|
21
|
-
'Plan ahead to avoid running out of space.',
|
|
22
|
-
'Score increases with each line cleared.',
|
|
23
|
-
'Game ends when no blocks can be placed.'
|
|
24
|
-
],
|
|
25
|
-
categories: ['block', 'puzzle']
|
|
26
|
-
},
|
|
27
|
-
[GAME_IDS.CONNECT_EM_ALL]: {
|
|
28
|
-
id: GAME_IDS.CONNECT_EM_ALL,
|
|
29
|
-
title: 'Connect Em All',
|
|
30
|
-
description: 'Connect matching colored dots on the board to clear them and score points!',
|
|
31
|
-
instructions: [
|
|
32
|
-
'Tap a colored dot and drag to a matching one.',
|
|
33
|
-
'Paths cannot cross other connections.',
|
|
34
|
-
'Fill the entire board to complete the level.',
|
|
35
|
-
'Use fewer moves for a higher score.',
|
|
36
|
-
'Undo moves by tapping the last connected dot.'
|
|
37
|
-
],
|
|
38
|
-
categories: ['block', 'puzzle']
|
|
39
|
-
},
|
|
40
|
-
[GAME_IDS.TILE_HOME]: {
|
|
41
|
-
id: GAME_IDS.TILE_HOME,
|
|
42
|
-
title: 'Tile Home',
|
|
43
|
-
description: 'Match 3 tiles of the same type to clear them - classic mahjong puzzle fun!',
|
|
44
|
-
instructions: [
|
|
45
|
-
'Tap tiles to add them to the holding bar.',
|
|
46
|
-
'Match 3 identical tiles to clear them.',
|
|
47
|
-
'The bar holds up to 7 tiles at a time.',
|
|
48
|
-
'Plan your picks to avoid filling the bar.',
|
|
49
|
-
'Game ends if the bar is full with no matches.'
|
|
50
|
-
],
|
|
51
|
-
categories: ['block', 'casual']
|
|
52
|
-
},
|
|
53
|
-
[GAME_IDS.ARROWS]: {
|
|
54
|
-
id: GAME_IDS.ARROWS,
|
|
55
|
-
title: 'Arrows',
|
|
56
|
-
description: 'Tap arrows to fly them off the board - clear them all before time runs out!',
|
|
57
|
-
instructions: [
|
|
58
|
-
'Tap an arrow to send it flying in its direction.',
|
|
59
|
-
'An arrow can only leave if its path to the edge is clear.',
|
|
60
|
-
'Blocked arrows shake — clear the ones in front first.',
|
|
61
|
-
'Removing arrows opens new paths, so you can never get stuck.',
|
|
62
|
-
'Clear every arrow before the timer ends to win.'
|
|
63
|
-
],
|
|
64
|
-
categories: ['puzzle']
|
|
65
|
-
},
|
|
66
|
-
[GAME_IDS.CANDY_CRUSH]: {
|
|
67
|
-
id: GAME_IDS.CANDY_CRUSH,
|
|
68
|
-
title: 'Candy Crush',
|
|
69
|
-
description: 'Match colorful candies in rows to score points - sweet puzzle fun!',
|
|
70
|
-
instructions: [
|
|
71
|
-
'Swap adjacent candies to match 3 or more.',
|
|
72
|
-
'Matched candies are cleared and new ones fall.',
|
|
73
|
-
'Match 4 or 5 for special candy power-ups.',
|
|
74
|
-
'Clear the required targets to pass each level.',
|
|
75
|
-
'Plan moves ahead for bigger combos.'
|
|
76
|
-
],
|
|
77
|
-
categories: ['block', 'casual']
|
|
78
|
-
},
|
|
79
|
-
[GAME_IDS.PENGUIN_RUN]: {
|
|
80
|
-
id: GAME_IDS.PENGUIN_RUN,
|
|
81
|
-
isPremium: true,
|
|
82
|
-
title: 'Penguin Run',
|
|
83
|
-
description: 'A 3D temple runner - dash a penguin down an ancient jungle causeway to the finish line!',
|
|
84
|
-
instructions: [
|
|
85
|
-
'Every run is a fresh 1000 m track - reach the finish line to win and dance!',
|
|
86
|
-
'Swipe left or right to switch lanes and grab coins for points.',
|
|
87
|
-
'Swipe up to jump over broken gaps in the track.',
|
|
88
|
-
'Swipe down to slide under spiked gateways.',
|
|
89
|
-
'You have 3 lives - each slip costs one, and it gets faster the further you go!'
|
|
90
|
-
],
|
|
91
|
-
categories: ['action', 'arcade']
|
|
92
|
-
},
|
|
93
|
-
[GAME_IDS.TREASURE_HUNT]: {
|
|
94
|
-
id: GAME_IDS.TREASURE_HUNT,
|
|
95
|
-
isPremium: true,
|
|
96
|
-
title: 'Treasure Hunt',
|
|
97
|
-
description: 'Explore a fresh 3D wilderness, discover diamonds and battle rogue robots.',
|
|
98
|
-
instructions: [
|
|
99
|
-
'Press Start Game to begin a new expedition through randomly generated grasslands.',
|
|
100
|
-
'Swipe and hold to walk, drag farther to run, and release to stop.',
|
|
101
|
-
'Tap to punch nearby robots; another finger can punch while you keep moving.',
|
|
102
|
-
'Collect 24 diamonds and defeat 8 robots to complete the expedition.',
|
|
103
|
-
'Use bridges to cross rivers and explore cave passages. Hills, water, rocks and tree trunks are solid.'
|
|
104
|
-
],
|
|
105
|
-
categories: ['action', 'arcade']
|
|
106
|
-
},
|
|
107
|
-
[GAME_IDS.CAR_RACING]: {
|
|
108
|
-
id: GAME_IDS.CAR_RACING,
|
|
109
|
-
isPremium: true,
|
|
110
|
-
title: 'Car Racing',
|
|
111
|
-
description: 'Dodge oncoming traffic and race through busy lanes - test your reflexes!',
|
|
112
|
-
instructions: [
|
|
113
|
-
'Swipe left or right to steer across the road.',
|
|
114
|
-
'Pass cars to score 500 points each.',
|
|
115
|
-
'Rear-ending a car costs a life; side swipes only slow you down.',
|
|
116
|
-
'Speed builds up the longer you drive.',
|
|
117
|
-
'Reach the finish line at 2000 meters with lives left to win.'
|
|
118
|
-
],
|
|
119
|
-
categories: ['racing']
|
|
120
|
-
},
|
|
121
|
-
[GAME_IDS.BIKE_RACING]: {
|
|
122
|
-
id: GAME_IDS.BIKE_RACING,
|
|
123
|
-
isPremium: true,
|
|
124
|
-
title: 'Bike Racing',
|
|
125
|
-
description: 'Race on bikes through heavy traffic - faster speeds and bigger challenges!',
|
|
126
|
-
instructions: [
|
|
127
|
-
'Swipe left or right to steer and lean through traffic.',
|
|
128
|
-
'Pass bikes to score 500 points each.',
|
|
129
|
-
'Running into a bike costs a life.',
|
|
130
|
-
'Speed builds up the longer you ride.',
|
|
131
|
-
'Reach the finish line at 2000 meters with lives left to win.'
|
|
132
|
-
],
|
|
133
|
-
categories: ['racing']
|
|
134
|
-
},
|
|
135
|
-
[GAME_IDS.PLAY_WITH_TUA]: {
|
|
136
|
-
id: GAME_IDS.PLAY_WITH_TUA,
|
|
137
|
-
title: 'Play With Tua',
|
|
138
|
-
description: 'Play with Tua, your playful companion. Dance, wave, laugh and discover every move!',
|
|
139
|
-
instructions: [
|
|
140
|
-
'Press Start Game or tap Tua to begin.',
|
|
141
|
-
'Tap the scene to cycle through 10 actions, or choose one from the action strip.',
|
|
142
|
-
'Drag across the scene to turn Tua and see every side.',
|
|
143
|
-
'Each action repeats until you choose another. Stop Game resets your session.'
|
|
144
|
-
],
|
|
145
|
-
categories: ['casual', 'arcade']
|
|
146
|
-
},
|
|
147
|
-
[GAME_IDS.BUBBLE_SHOOTER]: {
|
|
148
|
-
id: GAME_IDS.BUBBLE_SHOOTER,
|
|
149
|
-
title: 'Bubble Shooter',
|
|
150
|
-
description: 'Aim and shoot bubbles to match 3 or more of the same color and clear them!',
|
|
151
|
-
instructions: [
|
|
152
|
-
'Aim and tap to shoot a bubble upward.',
|
|
153
|
-
'Match 3 or more same-colored bubbles to pop them.',
|
|
154
|
-
'Bubbles without support fall and give bonus points.',
|
|
155
|
-
'Use wall bounces for tricky angles.',
|
|
156
|
-
'Game ends if bubbles reach the bottom line.'
|
|
157
|
-
],
|
|
158
|
-
categories: ['puzzle', 'arcade']
|
|
159
|
-
},
|
|
160
|
-
[GAME_IDS.BLOCK_BREAKER]: {
|
|
161
|
-
id: GAME_IDS.BLOCK_BREAKER,
|
|
162
|
-
title: 'Block Breaker',
|
|
163
|
-
description: 'Break all the bricks with a bouncing ball and paddle - arcade action fun!',
|
|
164
|
-
instructions: [
|
|
165
|
-
'Drag the paddle left and right to bounce the ball.',
|
|
166
|
-
'Hit all bricks on screen to clear the level.',
|
|
167
|
-
'Some bricks need multiple hits to break.',
|
|
168
|
-
"Don't let the ball fall below the paddle.",
|
|
169
|
-
'Collect power-ups for extra abilities.'
|
|
170
|
-
],
|
|
171
|
-
categories: ['block', 'arcade']
|
|
172
|
-
},
|
|
173
|
-
[GAME_IDS.FRUIT_NINJA]: {
|
|
174
|
-
id: GAME_IDS.FRUIT_NINJA,
|
|
175
|
-
title: 'Fruit Ninja',
|
|
176
|
-
description: 'Slice all flying fruits with finger swipes and combos - avoid the bombs!',
|
|
177
|
-
instructions: [
|
|
178
|
-
'Swipe across fruits to slice them.',
|
|
179
|
-
'Slice multiple fruits in one swipe for combos.',
|
|
180
|
-
'Avoid slicing bombs or you lose a life.',
|
|
181
|
-
"Don't let fruits fall without slicing them.",
|
|
182
|
-
'Score as many points as you can before lives run out.'
|
|
183
|
-
],
|
|
184
|
-
categories: ['action']
|
|
185
|
-
},
|
|
186
|
-
[GAME_IDS.BALLOON_BLASTER]: {
|
|
187
|
-
id: GAME_IDS.BALLOON_BLASTER,
|
|
188
|
-
title: 'Balloon Blaster',
|
|
189
|
-
description: 'Pop colorful balloons as fast as you can before time runs out!',
|
|
190
|
-
instructions: [
|
|
191
|
-
'Tap balloons to pop them and earn points.',
|
|
192
|
-
'Pop same-colored balloons in a row for combos.',
|
|
193
|
-
'Avoid letting balloons fly off the screen.',
|
|
194
|
-
'Special balloons give bonus points or extra time.',
|
|
195
|
-
'Score as high as you can before time expires.'
|
|
196
|
-
],
|
|
197
|
-
categories: ['action']
|
|
198
|
-
},
|
|
199
|
-
[GAME_IDS.FLAPPY_BIRD]: {
|
|
200
|
-
id: GAME_IDS.FLAPPY_BIRD,
|
|
201
|
-
title: 'Flappy Bird',
|
|
202
|
-
description: 'Tap to flap and navigate through pipes - classic arcade challenge!',
|
|
203
|
-
instructions: [
|
|
204
|
-
'Tap the screen to flap and gain height.',
|
|
205
|
-
'Navigate through gaps between pipes.',
|
|
206
|
-
'Each pipe passed scores one point.',
|
|
207
|
-
"Don't hit the pipes or the ground.",
|
|
208
|
-
'Try to beat your high score each attempt.'
|
|
209
|
-
],
|
|
210
|
-
categories: ['arcade']
|
|
211
|
-
},
|
|
212
|
-
[GAME_IDS.DINO_JUMP]: {
|
|
213
|
-
id: GAME_IDS.DINO_JUMP,
|
|
214
|
-
title: 'Dino Jump',
|
|
215
|
-
description: 'Jump over obstacles and collect stars for extra lives - endless runner fun!',
|
|
216
|
-
instructions: [
|
|
217
|
-
'Tap to jump over incoming obstacles.',
|
|
218
|
-
'Collect stars for bonus points and extra lives.',
|
|
219
|
-
'Speed increases as you progress further.',
|
|
220
|
-
'Time your jumps carefully for tall obstacles.',
|
|
221
|
-
'Survive as long as possible for a high score.'
|
|
222
|
-
],
|
|
223
|
-
categories: ['arcade', 'action']
|
|
224
|
-
},
|
|
225
|
-
[GAME_IDS.SNAKES_AND_LADDERS]: {
|
|
226
|
-
id: GAME_IDS.SNAKES_AND_LADDERS,
|
|
227
|
-
title: 'Snakes and Ladders',
|
|
228
|
-
description: 'Classic board game - roll the dice, climb ladders, and avoid snakes to reach 100!',
|
|
229
|
-
instructions: [
|
|
230
|
-
'Roll the dice by tapping it on your turn.',
|
|
231
|
-
'Climb ladders to jump ahead on the board.',
|
|
232
|
-
'Watch out for snakes that slide you back down!',
|
|
233
|
-
'Roll a 6 to get an extra turn.',
|
|
234
|
-
'First player to reach cell 100 wins the game.'
|
|
235
|
-
],
|
|
236
|
-
categories: ['strategy']
|
|
237
|
-
},
|
|
238
|
-
[GAME_IDS.LUDO_KING]: {
|
|
239
|
-
id: GAME_IDS.LUDO_KING,
|
|
240
|
-
title: 'Ludo King',
|
|
241
|
-
description: 'Classic board game for all ages - roll dice and race your tokens back home!',
|
|
242
|
-
instructions: [
|
|
243
|
-
'Roll the dice by tapping it.',
|
|
244
|
-
'Move your tokens based on the dice value.',
|
|
245
|
-
'Roll a 6 to bring a new token into play.',
|
|
246
|
-
"Land on an opponent's token to send it back.",
|
|
247
|
-
'Get all 4 tokens home to win the game.'
|
|
248
|
-
],
|
|
249
|
-
categories: ['strategy']
|
|
250
|
-
},
|
|
251
|
-
[GAME_IDS.DOTS_AND_BOXES]: {
|
|
252
|
-
id: GAME_IDS.DOTS_AND_BOXES,
|
|
253
|
-
title: 'Dots and Boxes',
|
|
254
|
-
description: 'Connect the dots to complete boxes and outscore the AI - strategy game!',
|
|
255
|
-
instructions: [
|
|
256
|
-
'Tap between two dots to draw a line.',
|
|
257
|
-
'Complete the fourth side of a box to claim it.',
|
|
258
|
-
'Claimed boxes earn you a point and an extra turn.',
|
|
259
|
-
'Try to force the opponent into giving you boxes.',
|
|
260
|
-
'Player with the most boxes at the end wins.'
|
|
261
|
-
],
|
|
262
|
-
categories: ['brain', 'strategy']
|
|
263
|
-
},
|
|
264
|
-
[GAME_IDS.WHACK_A_MOLE]: {
|
|
265
|
-
id: GAME_IDS.WHACK_A_MOLE,
|
|
266
|
-
title: 'Whack A Mole',
|
|
267
|
-
description: 'Whack cute cats popping from holes - test your lightning reflexes!',
|
|
268
|
-
instructions: [
|
|
269
|
-
'Tap on moles as they pop up from holes.',
|
|
270
|
-
'Each hit earns you points.',
|
|
271
|
-
'Moles appear faster as you progress.',
|
|
272
|
-
'Missing too many moles costs you lives.',
|
|
273
|
-
'Score as high as you can before time runs out.'
|
|
274
|
-
],
|
|
275
|
-
categories: ['action']
|
|
276
|
-
},
|
|
277
|
-
[GAME_IDS.PAC_MAN]: {
|
|
278
|
-
id: GAME_IDS.PAC_MAN,
|
|
279
|
-
title: 'Pac-Man',
|
|
280
|
-
description: 'Classic arcade action - eat all dots, avoid ghosts, and clear the maze!',
|
|
281
|
-
instructions: [
|
|
282
|
-
'Swipe to move Pac-Man through the maze.',
|
|
283
|
-
'Eat all dots on the board to clear the level.',
|
|
284
|
-
'Avoid ghosts or you lose a life.',
|
|
285
|
-
'Eat power pellets to turn ghosts vulnerable.',
|
|
286
|
-
'Eat vulnerable ghosts for bonus points.'
|
|
287
|
-
],
|
|
288
|
-
categories: ['arcade']
|
|
289
|
-
},
|
|
290
|
-
[GAME_IDS.SPACE_FIGHTER]: {
|
|
291
|
-
id: GAME_IDS.SPACE_FIGHTER,
|
|
292
|
-
title: 'Space Fighter',
|
|
293
|
-
description: 'Pilot your spaceship through asteroid fields - endless space survival!',
|
|
294
|
-
instructions: [
|
|
295
|
-
'Drag your ship to dodge incoming asteroids.',
|
|
296
|
-
'Shoot enemies by tapping the screen.',
|
|
297
|
-
'Collect power-ups for shields and weapons.',
|
|
298
|
-
'Survive as long as possible for a high score.',
|
|
299
|
-
'Avoid collisions with asteroids and enemies.'
|
|
300
|
-
],
|
|
301
|
-
categories: ['action']
|
|
302
|
-
},
|
|
303
|
-
[GAME_IDS.COLORS_SORT]: {
|
|
304
|
-
id: GAME_IDS.COLORS_SORT,
|
|
305
|
-
title: 'Colors Sort',
|
|
306
|
-
description: 'Sort colored liquids into matching tubes - challenging logic puzzle!',
|
|
307
|
-
instructions: [
|
|
308
|
-
'Tap a tube to pick up the top color layer.',
|
|
309
|
-
'Tap another tube to pour it in.',
|
|
310
|
-
'You can only pour onto the same color or an empty tube.',
|
|
311
|
-
'Sort all colors so each tube has one color.',
|
|
312
|
-
'Use empty tubes strategically to rearrange.'
|
|
313
|
-
],
|
|
314
|
-
categories: ['puzzle']
|
|
315
|
-
},
|
|
316
|
-
[GAME_IDS.POPIT_FIDGET]: {
|
|
317
|
-
id: GAME_IDS.POPIT_FIDGET,
|
|
318
|
-
title: 'Popit Fidget',
|
|
319
|
-
description: 'Pop satisfying bubbles in this relaxing fidget toy simulation game!',
|
|
320
|
-
instructions: [
|
|
321
|
-
'Tap bubbles to pop them one by one.',
|
|
322
|
-
'Pop all bubbles to complete a board.',
|
|
323
|
-
'Enjoy the satisfying pop sounds and haptics.',
|
|
324
|
-
'Try different patterns and shapes.',
|
|
325
|
-
'A relaxing game with no time pressure.'
|
|
326
|
-
],
|
|
327
|
-
categories: ['casual']
|
|
328
|
-
},
|
|
329
|
-
[GAME_IDS.WORD_SEARCH]: {
|
|
330
|
-
id: GAME_IDS.WORD_SEARCH,
|
|
331
|
-
title: 'Word Search',
|
|
332
|
-
description: 'Find all hidden words in the letter grid - swipe to select and score!',
|
|
333
|
-
instructions: [
|
|
334
|
-
'Find words from the list hidden in the grid.',
|
|
335
|
-
'Swipe across letters to select a word.',
|
|
336
|
-
'Words can be horizontal, vertical, or diagonal.',
|
|
337
|
-
'Found words are highlighted and crossed off.',
|
|
338
|
-
'Find all words to complete the puzzle.'
|
|
339
|
-
],
|
|
340
|
-
categories: ['education']
|
|
341
|
-
},
|
|
342
|
-
[GAME_IDS.NUMBER_SEARCH]: {
|
|
343
|
-
id: GAME_IDS.NUMBER_SEARCH,
|
|
344
|
-
title: 'Number Search',
|
|
345
|
-
description: 'Find all hidden numbers in the digit grid - swipe to select and score!',
|
|
346
|
-
instructions: [
|
|
347
|
-
'Find number sequences hidden in the grid.',
|
|
348
|
-
'Swipe across digits to select a number.',
|
|
349
|
-
'Numbers can be in any direction.',
|
|
350
|
-
'Found numbers are highlighted and crossed off.',
|
|
351
|
-
'Find all numbers to complete the puzzle.'
|
|
352
|
-
],
|
|
353
|
-
categories: ['education']
|
|
354
|
-
},
|
|
355
|
-
[GAME_IDS.TANK_1990]: {
|
|
356
|
-
id: GAME_IDS.TANK_1990,
|
|
357
|
-
title: 'Tank 1990',
|
|
358
|
-
description: 'Classic tank battle game - destroy enemy tanks and defend your base to win!',
|
|
359
|
-
instructions: [
|
|
360
|
-
'Use the joystick to move your tank.',
|
|
361
|
-
'Tap the fire button to shoot.',
|
|
362
|
-
'Destroy all enemy tanks to clear the level.',
|
|
363
|
-
'Protect your base from enemy fire.',
|
|
364
|
-
'Collect power-ups for stronger weapons.'
|
|
365
|
-
],
|
|
366
|
-
categories: ['action']
|
|
367
|
-
},
|
|
368
|
-
[GAME_IDS.NUTS_AND_BOLTS]: {
|
|
369
|
-
id: GAME_IDS.NUTS_AND_BOLTS,
|
|
370
|
-
title: 'Nuts and Bolts',
|
|
371
|
-
description: 'Unscrew bolts and remove wooden planks to solve tricky mechanical puzzles!',
|
|
372
|
-
instructions: [
|
|
373
|
-
'Tap a bolt to unscrew it from a plank.',
|
|
374
|
-
'Tap an empty hole to screw the bolt in.',
|
|
375
|
-
'Remove all planks by unscrewing their bolts.',
|
|
376
|
-
'Plan the order of moves carefully.',
|
|
377
|
-
'Some bolts are blocked by other planks.'
|
|
378
|
-
],
|
|
379
|
-
categories: ['puzzle']
|
|
380
|
-
},
|
|
381
|
-
[GAME_IDS.STACK_TOWER]: {
|
|
382
|
-
id: GAME_IDS.STACK_TOWER,
|
|
383
|
-
title: 'Stack Tower',
|
|
384
|
-
description: 'Stack sliding blocks perfectly to build the tallest tower you can reach!',
|
|
385
|
-
instructions: [
|
|
386
|
-
'Tap to drop the sliding block onto the tower.',
|
|
387
|
-
'Align it as perfectly as possible.',
|
|
388
|
-
'Keep at least 40% of each block supported.',
|
|
389
|
-
'Less support makes the block fall and ends the game.',
|
|
390
|
-
'Build as tall as you can for a high score.'
|
|
391
|
-
],
|
|
392
|
-
categories: ['arcade']
|
|
393
|
-
},
|
|
394
|
-
[GAME_IDS.PIPE_CONNECT]: {
|
|
395
|
-
id: GAME_IDS.PIPE_CONNECT,
|
|
396
|
-
title: 'Pipe Connect',
|
|
397
|
-
description: 'Rotate pipes to connect the water flow from source to sink in time!',
|
|
398
|
-
instructions: [
|
|
399
|
-
'Tap a pipe piece to rotate it.',
|
|
400
|
-
'Connect all pipes from the source to the sink.',
|
|
401
|
-
'Water flows once the path is complete.',
|
|
402
|
-
'Complete the puzzle before time runs out.',
|
|
403
|
-
'All pipe pieces must be part of the path.'
|
|
404
|
-
],
|
|
405
|
-
categories: ['puzzle']
|
|
406
|
-
},
|
|
407
|
-
[GAME_IDS.MINE_SWEEPER]: {
|
|
408
|
-
id: GAME_IDS.MINE_SWEEPER,
|
|
409
|
-
title: 'Mine Sweeper',
|
|
410
|
-
description: 'Reveal all safe cells on the grid without hitting a hidden mine below!',
|
|
411
|
-
instructions: [
|
|
412
|
-
"Tap a cell to reveal what's underneath.",
|
|
413
|
-
'Numbers show how many mines are adjacent.',
|
|
414
|
-
'Long press a cell to flag it as a mine.',
|
|
415
|
-
'Reveal all non-mine cells to win.',
|
|
416
|
-
'Hitting a mine ends the game immediately.'
|
|
417
|
-
],
|
|
418
|
-
categories: ['brain']
|
|
419
|
-
},
|
|
420
|
-
[GAME_IDS.KNIFE_HIT]: {
|
|
421
|
-
id: GAME_IDS.KNIFE_HIT,
|
|
422
|
-
title: 'Knife Hit',
|
|
423
|
-
description: "Throw knives at the spinning log — don't hit another knife or apple!",
|
|
424
|
-
instructions: [
|
|
425
|
-
'Tap to throw a knife at the spinning log.',
|
|
426
|
-
"Don't hit another knife already on the log.",
|
|
427
|
-
'Hit apples for bonus points.',
|
|
428
|
-
'Timing is key as the log spins.',
|
|
429
|
-
'Throw all knives to clear the level.'
|
|
430
|
-
],
|
|
431
|
-
categories: ['action']
|
|
432
|
-
},
|
|
433
|
-
[GAME_IDS.COLOR_SWITCH]: {
|
|
434
|
-
id: GAME_IDS.COLOR_SWITCH,
|
|
435
|
-
title: 'Color Switch',
|
|
436
|
-
description: 'Jump through matching color obstacles — time your taps to survive!',
|
|
437
|
-
instructions: [
|
|
438
|
-
'Tap to make the ball jump upward.',
|
|
439
|
-
"Pass through obstacles matching your ball's color.",
|
|
440
|
-
'Your color changes when you hit a color switcher.',
|
|
441
|
-
'Hitting the wrong color ends the game.',
|
|
442
|
-
'Score points for each obstacle cleared.'
|
|
443
|
-
],
|
|
444
|
-
categories: ['arcade']
|
|
445
|
-
},
|
|
446
|
-
[GAME_IDS.SPIDER_SOLITAIRE]: {
|
|
447
|
-
id: GAME_IDS.SPIDER_SOLITAIRE,
|
|
448
|
-
title: 'Spider Solitaire',
|
|
449
|
-
description: 'Classic Spider Solitaire - build card sequences and clear the full tableau!',
|
|
450
|
-
instructions: [
|
|
451
|
-
'Arrange cards in descending order on columns.',
|
|
452
|
-
'A complete sequence from King to Ace is removed.',
|
|
453
|
-
'Tap the deck to deal new cards to all columns.',
|
|
454
|
-
'Only ordered sequences can be moved together.',
|
|
455
|
-
'Clear all cards from the tableau to win.'
|
|
456
|
-
],
|
|
457
|
-
categories: ['brain']
|
|
458
|
-
},
|
|
459
|
-
[GAME_IDS.MAZE_RUNNER]: {
|
|
460
|
-
id: GAME_IDS.MAZE_RUNNER,
|
|
461
|
-
title: 'Maze Runner',
|
|
462
|
-
description: 'Navigate ball through procedural mazes - tilt and physics controls!',
|
|
463
|
-
instructions: [
|
|
464
|
-
'Tilt your device to roll the ball through the maze.',
|
|
465
|
-
'Navigate from the start to the exit point.',
|
|
466
|
-
'Avoid dead ends and backtrack when needed.',
|
|
467
|
-
'Complete the maze as quickly as possible.',
|
|
468
|
-
'Each maze is randomly generated for variety.'
|
|
469
|
-
],
|
|
470
|
-
categories: ['puzzle']
|
|
471
|
-
},
|
|
472
|
-
[GAME_IDS.TIC_TAC_TOE]: {
|
|
473
|
-
id: GAME_IDS.TIC_TAC_TOE,
|
|
474
|
-
title: 'Tic Tac Toe',
|
|
475
|
-
description: 'Classic X and O strategy game - play against a smart AI and try to win!',
|
|
476
|
-
instructions: [
|
|
477
|
-
'Tap an empty cell to place your mark (X or O).',
|
|
478
|
-
'Get 3 in a row horizontally, vertically, or diagonally.',
|
|
479
|
-
'Block your opponent from completing their row.',
|
|
480
|
-
'The AI adapts to your strategy.',
|
|
481
|
-
'The game is a draw if the board fills with no winner.'
|
|
482
|
-
],
|
|
483
|
-
categories: ['brain']
|
|
484
|
-
},
|
|
485
|
-
[GAME_IDS.SLIDING_NUMBERS]: {
|
|
486
|
-
id: GAME_IDS.SLIDING_NUMBERS,
|
|
487
|
-
title: 'Sliding Numbers',
|
|
488
|
-
description: 'Slide numbered tiles into the right order - classic sliding puzzle game!',
|
|
489
|
-
instructions: [
|
|
490
|
-
'Tap a tile adjacent to the empty space to slide it.',
|
|
491
|
-
'Arrange all numbers in ascending order.',
|
|
492
|
-
'Start from top-left and work row by row.',
|
|
493
|
-
'Use fewer moves for a better score.',
|
|
494
|
-
'The puzzle is solved when all tiles are in order.'
|
|
495
|
-
],
|
|
496
|
-
categories: ['puzzle']
|
|
497
|
-
},
|
|
498
|
-
[GAME_IDS.GAME_2048]: {
|
|
499
|
-
id: GAME_IDS.GAME_2048,
|
|
500
|
-
title: '2048',
|
|
501
|
-
description: 'Merge matching number tiles to reach 2048 and beyond - addictive puzzle!',
|
|
502
|
-
instructions: [
|
|
503
|
-
'Swipe to move all tiles in one direction.',
|
|
504
|
-
'Matching numbers merge into their sum.',
|
|
505
|
-
'Plan moves to avoid filling the board.',
|
|
506
|
-
'Reach the 2048 tile to win.',
|
|
507
|
-
'Game ends when no moves are possible.'
|
|
508
|
-
],
|
|
509
|
-
categories: ['puzzle']
|
|
510
|
-
},
|
|
511
|
-
[GAME_IDS.SUDOKU]: {
|
|
512
|
-
id: GAME_IDS.SUDOKU,
|
|
513
|
-
title: 'Sudoku',
|
|
514
|
-
description: 'Fill the 9x9 grid with numbers 1-9 with no repeats in rows or columns!',
|
|
515
|
-
instructions: [
|
|
516
|
-
'Tap a cell and select a number to fill it.',
|
|
517
|
-
'Each row must contain numbers 1-9 without repeats.',
|
|
518
|
-
'Each column must also have no repeated numbers.',
|
|
519
|
-
'Each 3x3 box must have unique numbers 1-9.',
|
|
520
|
-
'Use logic to eliminate possibilities and solve.'
|
|
521
|
-
],
|
|
522
|
-
categories: ['brain']
|
|
523
|
-
},
|
|
524
|
-
[GAME_IDS.SNAKE_3D]: {
|
|
525
|
-
id: GAME_IDS.SNAKE_3D,
|
|
526
|
-
title: 'Snake 3D',
|
|
527
|
-
description: 'Eat eggs to grow longer and avoid hitting the walls - classic snake game!',
|
|
528
|
-
instructions: [
|
|
529
|
-
"Swipe to change the snake's direction.",
|
|
530
|
-
'Eat eggs to grow longer and score points.',
|
|
531
|
-
'Avoid hitting the walls or your own tail.',
|
|
532
|
-
'The snake moves faster as it grows.',
|
|
533
|
-
'Survive as long as possible for a high score.'
|
|
534
|
-
],
|
|
535
|
-
categories: ['arcade']
|
|
536
|
-
},
|
|
537
|
-
[GAME_IDS.PERFECT_CIRCLE]: {
|
|
538
|
-
id: GAME_IDS.PERFECT_CIRCLE,
|
|
539
|
-
title: 'Perfect Circle',
|
|
540
|
-
description: 'Draw the most perfect circle you can on screen - test your hand precision!',
|
|
541
|
-
instructions: [
|
|
542
|
-
'Draw a circle on the screen with your finger.',
|
|
543
|
-
'The closer to a perfect circle, the higher the score.',
|
|
544
|
-
'Keep a steady hand and consistent speed.',
|
|
545
|
-
'Try to connect the start and end points.',
|
|
546
|
-
'Challenge yourself to beat your best score.'
|
|
547
|
-
],
|
|
548
|
-
categories: ['casual']
|
|
549
|
-
},
|
|
550
|
-
[GAME_IDS.FRUIT_MERGER]: {
|
|
551
|
-
id: GAME_IDS.FRUIT_MERGER,
|
|
552
|
-
title: 'Fruit Merger',
|
|
553
|
-
description: 'Drop and merge fruits to create bigger ones - reach the watermelon!',
|
|
554
|
-
instructions: [
|
|
555
|
-
'Tap to drop a fruit into the container.',
|
|
556
|
-
'Two identical fruits merge into a larger one.',
|
|
557
|
-
'Keep merging to create bigger fruits.',
|
|
558
|
-
"Don't let fruits overflow past the top line.",
|
|
559
|
-
'Aim for the highest score by merging strategically.'
|
|
560
|
-
],
|
|
561
|
-
categories: ['casual', 'puzzle']
|
|
562
|
-
},
|
|
563
|
-
[GAME_IDS.FIND_DIFFERENT_NUMBER]: {
|
|
564
|
-
id: GAME_IDS.FIND_DIFFERENT_NUMBER,
|
|
565
|
-
title: 'Find Different Number',
|
|
566
|
-
description: 'Find the 10 different numbers hidden in a 10×10 grid before time runs out!',
|
|
567
|
-
instructions: [
|
|
568
|
-
'A 10×10 grid of numbers is shown, 10 are different from the rest.',
|
|
569
|
-
'Find and tap all 10 different numbers to advance to the next round.',
|
|
570
|
-
'Each correct tap earns points. Finding all 10 adds bonus time.',
|
|
571
|
-
'Numbers get trickier at higher rounds.',
|
|
572
|
-
'Wrong taps lose 3 seconds — be accurate! You have 1 minute.'
|
|
573
|
-
],
|
|
574
|
-
categories: ['education']
|
|
575
|
-
},
|
|
576
|
-
[GAME_IDS.BLUK]: {
|
|
577
|
-
id: GAME_IDS.BLUK,
|
|
578
|
-
title: 'Bluk',
|
|
579
|
-
description: 'Sling your block from pillar to pillar - a skill-based physics jumping adventure!',
|
|
580
|
-
instructions: [
|
|
581
|
-
'Drag anywhere to aim - a dotted line predicts your jump arc.',
|
|
582
|
-
'Release to launch your block toward the next pillar.',
|
|
583
|
-
'Land safely on a pillar to score a point.',
|
|
584
|
-
'Hit the glowing sweet spot for bonus points and combos.',
|
|
585
|
-
'Miss the pillar and fall - the game is over!'
|
|
586
|
-
],
|
|
587
|
-
categories: ['arcade', 'casual']
|
|
588
|
-
},
|
|
589
|
-
[GAME_IDS.CHAMELEON_RUN]: {
|
|
590
|
-
id: GAME_IDS.CHAMELEON_RUN,
|
|
591
|
-
title: 'Chameleon Run',
|
|
592
|
-
description: 'Jump, switch colors and chase star streaks across a floating 3D sky course!',
|
|
593
|
-
instructions: [
|
|
594
|
-
'Run a fresh 500 m course at a steady pace. Cross the finish line to win.',
|
|
595
|
-
'Swipe up to jump. Swipe up again in the air to double-jump.',
|
|
596
|
-
'Tap anywhere to change between pink and yellow.',
|
|
597
|
-
'Match your color to the platform: yellow has stripes, pink has dots. White platforms are always safe.',
|
|
598
|
-
'You have three lives. A wrong color or missed jump costs a life, followed by a brief recovery period.',
|
|
599
|
-
'Collect consecutive stars for a bonus multiplier up to 5x. Missing a star or taking a hit resets your streak.'
|
|
600
|
-
],
|
|
601
|
-
categories: ['arcade', 'action']
|
|
602
|
-
},
|
|
603
|
-
[GAME_IDS.MOB_CONTROL]: {
|
|
604
|
-
id: GAME_IDS.MOB_CONTROL,
|
|
605
|
-
title: 'Mob Control',
|
|
606
|
-
description: 'Command your mob through multiplier gates and overwhelm the enemy base to win!',
|
|
607
|
-
instructions: [
|
|
608
|
-
'Drag left and right to aim your cannon.',
|
|
609
|
-
'Your cannon automatically launches individual blue soldiers.',
|
|
610
|
-
'Chain blue addition and purple multiplier gates to grow your army. Red division gates shrink it.',
|
|
611
|
-
'Blue and red soldiers cancel each other out. Intercept enemies before they breach your shield.',
|
|
612
|
-
'The gold meter on your cannon charges a giant champion that launches automatically.',
|
|
613
|
-
'Speed pads accelerate your troops; numbered barricades consume soldiers until broken.',
|
|
614
|
-
'Each level is one battle. Capture all three towers and defeat any boss to clear it and unlock the next level.'
|
|
615
|
-
],
|
|
616
|
-
categories: ['arcade', 'action', 'strategy']
|
|
617
|
-
},
|
|
618
|
-
[GAME_IDS.PAPER_IO]: {
|
|
619
|
-
id: GAME_IDS.PAPER_IO,
|
|
620
|
-
title: 'Paper IO',
|
|
621
|
-
description: 'Claim territory, outmaneuver rivals and conquer the board in this classic io battle!',
|
|
622
|
-
instructions: [
|
|
623
|
-
'Swipe or drag to steer your block around the board.',
|
|
624
|
-
'Leave your safe zone to draw a trail, then return to fill the area.',
|
|
625
|
-
'Every loop you close is captured as your territory.',
|
|
626
|
-
'Cut rivals by crossing their trail before they close it.',
|
|
627
|
-
"Don't let anyone hit your trail - protect it and grow the biggest area!"
|
|
628
|
-
],
|
|
629
|
-
categories: ['arcade', 'action', 'strategy']
|
|
630
|
-
},
|
|
631
|
-
[GAME_IDS.CROSSY_ROAD]: {
|
|
632
|
-
id: GAME_IDS.CROSSY_ROAD,
|
|
633
|
-
title: 'Crossy Road',
|
|
634
|
-
description: 'Hop across busy roads, rivers and railways - how far can you go without getting squished?',
|
|
635
|
-
instructions: [
|
|
636
|
-
'Tap to hop forward one lane.',
|
|
637
|
-
'Swipe left, right or down to move sideways or back.',
|
|
638
|
-
'Dodge cars and trains on the roads.',
|
|
639
|
-
"Ride floating logs to cross the rivers - don't fall in!",
|
|
640
|
-
"Keep moving forward - don't let the screen leave you behind!"
|
|
641
|
-
],
|
|
642
|
-
categories: ['arcade', 'action', 'casual']
|
|
643
|
-
},
|
|
644
|
-
[GAME_IDS.TANGRAM]: {
|
|
645
|
-
id: GAME_IDS.TANGRAM,
|
|
646
|
-
title: 'Tangram',
|
|
647
|
-
description: 'Arrange the seven classic tans to perfectly fill the target shape - a timeless dissection puzzle!',
|
|
648
|
-
instructions: [
|
|
649
|
-
'Drag each colored tan onto the shaded silhouette.',
|
|
650
|
-
'Tap a piece to rotate it by 45 degrees.',
|
|
651
|
-
'Match a piece to its outline to lock it in place.',
|
|
652
|
-
'Fill the whole silhouette to solve the puzzle.',
|
|
653
|
-
'Beat the clock and earn bonus points for time left.'
|
|
654
|
-
],
|
|
655
|
-
categories: ['puzzle', 'brain']
|
|
656
|
-
},
|
|
657
|
-
[GAME_IDS.CHECKERS]: {
|
|
658
|
-
id: GAME_IDS.CHECKERS,
|
|
659
|
-
title: 'Checkers',
|
|
660
|
-
description: 'Outsmart the robot in the classic game of Checkers - capture all its pieces to win!',
|
|
661
|
-
instructions: [
|
|
662
|
-
'Tap one of your red pieces to select it.',
|
|
663
|
-
'Tap a highlighted square to move diagonally.',
|
|
664
|
-
"Jump over the robot's pieces to capture them.",
|
|
665
|
-
'Chain multiple jumps in a single turn when you can.',
|
|
666
|
-
'Reach the far row to crown a King that moves both ways.'
|
|
667
|
-
],
|
|
668
|
-
categories: ['strategy', 'brain']
|
|
669
|
-
},
|
|
670
|
-
[GAME_IDS.MEMORY_MATCH]: {
|
|
671
|
-
id: GAME_IDS.MEMORY_MATCH,
|
|
672
|
-
title: 'Memory Match',
|
|
673
|
-
description: 'Flip the cards two at a time and match every pair before the clock runs out!',
|
|
674
|
-
instructions: [
|
|
675
|
-
'Tap a card to flip it face up.',
|
|
676
|
-
'Flip a second card to find its match.',
|
|
677
|
-
'Matching pairs stay revealed.',
|
|
678
|
-
'Mismatched cards flip back over - remember where they are!',
|
|
679
|
-
'Clear the whole board before time runs out.'
|
|
680
|
-
],
|
|
681
|
-
categories: ['brain', 'puzzle', 'education']
|
|
682
|
-
},
|
|
683
|
-
[GAME_IDS.FALLING_STICKS]: {
|
|
684
|
-
id: GAME_IDS.FALLING_STICKS,
|
|
685
|
-
title: 'Falling Sticks',
|
|
686
|
-
description: 'Colorful sticks rain down from the sky - tap them before they hit the floor!',
|
|
687
|
-
instructions: [
|
|
688
|
-
'Sticks fall from the top of the screen.',
|
|
689
|
-
'Tap a stick to catch it and score points.',
|
|
690
|
-
'Let a stick reach the floor and you lose a life.',
|
|
691
|
-
'You have three lives - the game speeds up as you score.',
|
|
692
|
-
'Catch as many as you can for a high score!'
|
|
693
|
-
],
|
|
694
|
-
categories: ['arcade', 'action', 'casual']
|
|
695
|
-
},
|
|
696
|
-
[GAME_IDS.REVERSI]: {
|
|
697
|
-
id: GAME_IDS.REVERSI,
|
|
698
|
-
title: 'Reversi',
|
|
699
|
-
description: 'Outflank the robot in this classic Othello duel - trap its discs to flip them to your color!',
|
|
700
|
-
instructions: [
|
|
701
|
-
'You play black and move first.',
|
|
702
|
-
'Place a disc so it traps a line of white discs between your discs.',
|
|
703
|
-
'All trapped discs flip to black.',
|
|
704
|
-
'If you have no valid move, your turn is skipped.',
|
|
705
|
-
'When the board fills up, whoever has more discs wins!'
|
|
706
|
-
],
|
|
707
|
-
categories: ['strategy', 'brain', 'puzzle']
|
|
708
|
-
}
|
|
709
|
-
};
|
|
710
|
-
|
|
711
|
-
export const GAMES_METADATA_LIST = Object.values(GAMES_METADATA);
|