Adaptarcade is a modern web-based arcade featuring a collection of fun and interactive mini-games. Built with a sleek design and smooth animations, it offers a delightful user experience.
- Vibrant & Dynamic UI: Smooth animations and a cohesive purple-themed gradient design.
- Multiple Mini-Games:
- Precision Tap: Test your speed and accuracy by tapping targets before they grow too large or disappear. Features different modes with varying decoy frequencies.
- Quick Click Challenge: A simple yet addictive game to see how many times you can click a button in 5 seconds.
- Mole Mash: The classic whack-a-mole game! Hit the moles as they pop up. Offers multiple difficulty levels.
- Speed Typer: Measure your typing speed (WPM) and accuracy with various test durations and a live performance graph.
- Local Leaderboards: Each game saves your high scores locally in the browser.
- Responsive Design: Playable across different screen sizes.
- Client-Side Rendering: Built with Next.js for a fast and interactive experience.
- Framework: Next.js (v15+ with App Router)
- Language: TypeScript
- UI Components: ShadCN UI
- Styling: Tailwind CSS
- Animation: Framer Motion
- AI (Core/Future): Genkit (by Google) - Currently integrated but not heavily utilized in the games.
- Icons: Lucide React
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (v18 or later recommended)
- npm, yarn, or pnpm
-
Clone the repository:
git clone https://github.com/your-username/adaptarcade.git cd adaptarcade(Replace
https://github.com/your-username/adaptarcade.gitwith your actual repository URL if you've hosted it.) -
Install dependencies: Using npm:
npm install
Or using yarn:
yarn install
Or using pnpm:
pnpm install
To start the development server (usually on http://localhost:9002 as configured in package.json):
npm run devOr using yarn:
yarn devOr using pnpm:
pnpm devThe application will automatically reload if you change any ofthe source files.
To create an optimized production build:
npm run buildThen, to start the production server:
npm run startA brief overview of the key directories:
/
├── public/ # Static assets
├── src/
│ ├── app/ # Next.js App Router (pages, layouts)
│ │ ├── games/ # Individual game pages
│ │ ├── globals.css # Global styles and Tailwind theme
│ │ ├── layout.tsx # Root layout
│ │ └── page.tsx # Main game hub page
│ ├── components/ # UI components (ShadCN, custom game components)
│ │ ├── core/ # Core application components (e.g., SafeAnalytics)
│ │ ├── game/ # Reusable components for games (HUD, GameCard, etc.)
│ │ └── ui/ # ShadCN UI components
│ ├── hooks/ # Custom React hooks (game logic, utility hooks)
│ ├── lib/ # Utility functions (localStorage, etc.)
│ ├── ai/ # Genkit related files (flows, configuration)
│ └── types/ # TypeScript type definitions
├── next.config.ts # Next.js configuration
├── package.json # Project dependencies and scripts
└── README.md # This file
- Precision Tap: Click dynamic targets for points. Targets grow, and points decay over time. Watch out for decoys!
- Quick Click Challenge: How fast can you click? A 5-second burst of rapid clicking.
- Mole Mash: Whack moles as they appear. Difficulty affects mole speed and appearance rate.
- Speed Typer: Test your typing prowess. Choose a duration and type the provided text to measure your WPM and accuracy.
##🎨 Customization
- Theme: Colors and base styles can be customized in
src/app/globals.cssby modifying the CSS variables. - Fonts: The primary font is "Space Grotesk" imported in
src/app/layout.tsx.
Contributions are welcome! If you have suggestions or want to improve Adaptarcade, please feel free to:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a PullRequest
This project is currently unlicensed. Consider adding an open-source license like MIT if you wish to share it widely.
Enjoy playing at Adaptarcade!
