A powerful React library for building incremental, idle, and clicker games. Create engaging experiences with minimal setup using our collection of specialized hooks and stores.
- ๐ฎ Game Mechanics - Clickers, auto-incrementers, and cooldown systems
- ๐ฐ Resource Management - Currency systems and resource caps
- ๐ Progression Systems - Achievements and upgrades
- ๐พ Save Systems - Built-in game save/load functionality
- โก Performance Optimized - Built with React 19 and Zustand
- ๐ฑ TypeScript Ready - Full type support out of the box
npm install react-incremental-library
# or
yarn add react-incremental-library
# or
pnpm add react-incremental-library
# or
bun add react-incremental-library
import React from 'react';
import { useClicker } from 'react-incremental-library';
export const ClickerGame = () => {
const { count, handleClick } = useClicker({
onClick: (val) => console.log(`Clicked! New count: ${val}`),
});
return (
<div>
<h1>Clicker Game</h1>
<p>Click Count: {count}</p>
<button onClick={handleClick}>Click Me</button>
</div>
);
};
import React from 'react';
import { useAutoIncrement, useCurrency } from 'react-incremental-library';
export const IdleGame = () => {
const { currency } = useCurrency();
const { pause, resume, isPaused } = useAutoIncrement({
interval: 1000,
increaseBy: 5,
options: { startPaused: false },
});
return (
<div>
<h1>Idle Game</h1>
<p>Currency: {currency}</p>
<button onClick={isPaused ? resume : pause}>
{isPaused ? 'Resume' : 'Pause'}
</button>
</div>
);
};
useClicker
- Basic clicking mechanicsuseAutoIncrement
- Automatic resource generationuseGameLoop
- Game loop managementuseTick
- Fine-grained timing controluseIdleProgress
- Track and reward idle timeuseOfflineProgress
- Handle offline progression
useCurrency
- Currency managementuseProduction
- Resource production systemuseResourceCap
- Resource capacity limitsuseMultiplier
- Resource multipliers
useAchievement
- Individual achievement trackinguseAchievements
- Bulk achievement managementuseUpgrade
- Upgrade systemusePrestige
- Prestige mechanicsuseCooldown
- Action cooldown system
useHotKey
- Keyboard shortcuts and combinationsuseLoadSaveGame
- Load game progressuseSaveGame
- Save game progressuseNotation
- Number formatting utilities
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- 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 Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.