react-incremental-library
v0.1.1
Published
A React library for incremental, idle, and clicker games. Build high-performance, engaging experiences with minimal setup.
Downloads
14
Maintainers
Readme
🕹️ React Incremental Game Library
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.
🚀 Features
- 🎮 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
📦 Installation
npm install react-incremental-library
# or
yarn add react-incremental-library
# or
pnpm add react-incremental-library
# or
bun add react-incremental-library🎮 Quick Start
Basic Clicker Example
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>
);
};Auto-Increment Example
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>
);
};📚 Available Hooks
Game Mechanics
useClicker- Basic clicking mechanicsuseAutoIncrement- Automatic resource generationuseGameLoop- Game loop managementuseTick- Fine-grained timing controluseIdleProgress- Track and reward idle timeuseOfflineProgress- Handle offline progression
Resource Management
useCurrency- Currency managementuseProduction- Resource production systemuseResourceCap- Resource capacity limitsuseMultiplier- Resource multipliers
Progression Systems
useAchievement- Individual achievement trackinguseAchievements- Bulk achievement managementuseUpgrade- Upgrade systemusePrestige- Prestige mechanicsuseCooldown- Action cooldown system
Utility
useHotKey- Keyboard shortcuts and combinationsuseLoadSaveGame- Load game progressuseSaveGame- Save game progressuseNotation- Number formatting utilities
🏗️ Contributing
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
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
