Terra Raccoons — Telegram Idle Clicker
Browser idle game in Telegram. The player builds a space colony of raccoons: terraforms planets, extracts resources, collects ships, sends expeditions, catches rare events. Created solo from scratch — from idea to sale.
Play → @TerraRaccoonsBot
Game mechanics (30+)
1. Terraforming planets — turning dead worlds into habitable ones
2. 10 unique planets (3D canvas, 4 states for each)
3. Drones G1–G5 — gather resources while you are offline
4. Leveling up drones
5. 11 skills with random name generation through gacha, skills can be combined
6. Clicker for drones for active gameplay
7. Stations — upgrade storage and production
8. Moving drones between stations
9. Ships of 5 rarities (G1–G5) with unique graphics
10. Gacha boxes for ships
11. Merge system — combining duplicates into rarer ones
12. Hangar for ships and drones with sorting and filters
13. Expeditions — 8 types with different durations and rewards, directly related to ship mechanics
15. Speeding up and early completion of expeditions
16. VIP system
17. Leaderboard
18. Marketplace — online transactions between players
19. Global events with notifications in the bot (raccoon contract, anomaly, ancient signal, time distortion)
20. 20+ missions, daily and long-term
21. Progress through planets — unlocked as you grow
22. Bundle shop with resource packs
23. Premium currency Terrafract
24. Resource conversion
25. Ads to speed up progress
26. Payments through Telegram Stars and TON Wallet (in progress)
27. 14 languages (ru, en, zh, tr, it, pl, pt, es, de, fr, ja, uk, ar, hi)
28. One-tap authorization through Telegram
29. Offline progress — rewards accumulate while you are away
30. Onboarding for new players
31. Animations and effects when collecting rewards
32. Adaptive mobile interface
33. Notifications about the readiness of drones and ships
What the player feels: you log in for a couple of minutes five times a day and each time you get something new — resources have accumulated, an expedition has returned, a rare ship has dropped. No aggressive paywalls: you can play for free, donations speed up progress but are not mandatory.
## Technical Part
Stack: React 18, Vite, Zustand, Tailwind CSS / Node.js, Express, TypeScript, SQLite / JWT over Telegram initData / Winston / VDS on Linux, nginx, PM2 cluster.
Architecture:
- SSOT on the front end. One Zustand store holds all state, components subscribe to slices. No duplication between useState and the server.
- Hot-domain on the back end. In-memory cache over SQLite for hot operations (resource gathering, drone movement, station ticks) with delayed writing via FlushScheduler — the database does not choke under load.
- Thin controllers, thick domain. Routes only parse requests and call domain functions, business logic is tested without HTTP.
- Dynamic chunks i18n. Each language in a separate file, loaded on demand — the initial bundle is not bloated with 14 locales.
- ErrorBoundary with readable output. Render errors are caught and displayed on the screen with a stack trace, instead of a blue screen. Critical for Telegram WebView without DevTools.
- Anti-abuse multilayered. Expeditions are protected by a gate based on progress, terraforming requirements, rechecking events upon collection, nerfing exploit types.
Economy simulator. A separate tool that runs hundreds of virtual players and calculates ROI of sources, retention, convergence, profitability gap for F2P and paying players. Used for three major rebalances (V1→V2→V3→soft-deficit) to achieve equal ROI for all 11 sources and stocks at round numbers.
Deployment. One command: git pull && pm2 restart terra-backend && cd terra-gaming && npm run build. Frontend and backend on one VDS, nginx serves static files, proxies /api to Express. No Docker and CI/CD — can be fixed manually in a minute.
What I did: prototype in Figma, 3D assets, architecture, database, API, frontend, UI/UX, economy, balancing, deployment, admin panel. The game is in closed beta.
Play → @TerraRaccoonsBot
Game mechanics (30+)
1. Terraforming planets — turning dead worlds into habitable ones
2. 10 unique planets (3D canvas, 4 states for each)
3. Drones G1–G5 — gather resources while you are offline
4. Leveling up drones
5. 11 skills with random name generation through gacha, skills can be combined
6. Clicker for drones for active gameplay
7. Stations — upgrade storage and production
8. Moving drones between stations
9. Ships of 5 rarities (G1–G5) with unique graphics
10. Gacha boxes for ships
11. Merge system — combining duplicates into rarer ones
12. Hangar for ships and drones with sorting and filters
13. Expeditions — 8 types with different durations and rewards, directly related to ship mechanics
15. Speeding up and early completion of expeditions
16. VIP system
17. Leaderboard
18. Marketplace — online transactions between players
19. Global events with notifications in the bot (raccoon contract, anomaly, ancient signal, time distortion)
20. 20+ missions, daily and long-term
21. Progress through planets — unlocked as you grow
22. Bundle shop with resource packs
23. Premium currency Terrafract
24. Resource conversion
25. Ads to speed up progress
26. Payments through Telegram Stars and TON Wallet (in progress)
27. 14 languages (ru, en, zh, tr, it, pl, pt, es, de, fr, ja, uk, ar, hi)
28. One-tap authorization through Telegram
29. Offline progress — rewards accumulate while you are away
30. Onboarding for new players
31. Animations and effects when collecting rewards
32. Adaptive mobile interface
33. Notifications about the readiness of drones and ships
What the player feels: you log in for a couple of minutes five times a day and each time you get something new — resources have accumulated, an expedition has returned, a rare ship has dropped. No aggressive paywalls: you can play for free, donations speed up progress but are not mandatory.
## Technical Part
Stack: React 18, Vite, Zustand, Tailwind CSS / Node.js, Express, TypeScript, SQLite / JWT over Telegram initData / Winston / VDS on Linux, nginx, PM2 cluster.
Architecture:
- SSOT on the front end. One Zustand store holds all state, components subscribe to slices. No duplication between useState and the server.
- Hot-domain on the back end. In-memory cache over SQLite for hot operations (resource gathering, drone movement, station ticks) with delayed writing via FlushScheduler — the database does not choke under load.
- Thin controllers, thick domain. Routes only parse requests and call domain functions, business logic is tested without HTTP.
- Dynamic chunks i18n. Each language in a separate file, loaded on demand — the initial bundle is not bloated with 14 locales.
- ErrorBoundary with readable output. Render errors are caught and displayed on the screen with a stack trace, instead of a blue screen. Critical for Telegram WebView without DevTools.
- Anti-abuse multilayered. Expeditions are protected by a gate based on progress, terraforming requirements, rechecking events upon collection, nerfing exploit types.
Economy simulator. A separate tool that runs hundreds of virtual players and calculates ROI of sources, retention, convergence, profitability gap for F2P and paying players. Used for three major rebalances (V1→V2→V3→soft-deficit) to achieve equal ROI for all 11 sources and stocks at round numbers.
Deployment. One command: git pull && pm2 restart terra-backend && cd terra-gaming && npm run build. Frontend and backend on one VDS, nginx serves static files, proxies /api to Express. No Docker and CI/CD — can be fixed manually in a minute.
What I did: prototype in Figma, 3D assets, architecture, database, API, frontend, UI/UX, economy, balancing, deployment, admin panel. The game is in closed beta.