Session 6: Achievement Expansion - Added 10 new achievements (prestige, building milestones, click power, time-based)

This commit is contained in:
2026-08-20 21:45:55 +00:00
parent 3ee33ee43f
commit e7c9e677f6
3 changed files with 112 additions and 4 deletions
+25 -1
View File
@@ -12,7 +12,7 @@
- Theme: "Cosmic Garden" - a space gardening idle game
- Built core game engine with click harvesting, buildings, upgrades, achievements
- Designed 12 buildings across 4 tiers (Star Sprout → Void Fern)
- Added 15+ upgrades and 20 achievements
- Added 15+ upgrades and 30 achievements
- Implemented auto-save, offline progress, export/import
- Built responsive dark-themed UI
@@ -131,3 +131,27 @@
- Achievement expansion (prestige-related achievements)
- Mobile touch optimizations
- Consider adding more visual polish to the click button
---
### Session 6 - 2026-08-20 (Evening)
**Status:** ✅ Achievement Expansion Added
#### What was done:
- Added 10 new achievements, bringing total from 20 to 30
- New prestige achievements: Cosmic Rebirth (first prestige), Stellar Adaptation (5 prestiges), Cosmic Ascension (10 prestiges), Eternal Gardener (100 total essence), Quantum Growth (1,000 total essence)
- New building milestone achievements: Void Weaver (25 Void Ferns), Supernova Growth (25 Supernova Seeds)
- New click power achievements: Powerful Harvester (1,000 click power), Divine Touch (10,000 click power)
- New time-based achievement: Dedicated Gardener (play for 1 hour total)
- Updated achievement counter in UI from (0/20) to (0/30)
- Updated Session 1 journal entry to reflect 30 achievements
#### Files modified:
- `js/achievements.js` - Added 10 new achievement definitions
- `index.html` - Updated achievement count display
- `dev-journal.md` - Updated session log and added Session 6 entry
#### Next goals:
- Mobile touch optimizations (tap feedback, responsive layout)
- Consider adding more visual polish to the click button
- Achievement progress tracking in stats panel
+1 -1
View File
@@ -58,7 +58,7 @@
</div>
<div id="achievements-tab" class="tab-content">
<h3>Achievements (0/20)</h3>
<h3>Achievements (0/30)</h3>
<div id="achievements-list"></div>
</div>
+86 -2
View File
@@ -135,7 +135,7 @@ const ACHIEVEMENTS = {
icon: '💧',
condition: (state) => Game.getProductionPerSecond() >= 100
},
rushingRiver: {
id: 'rushingRiver',
name: 'Rushing River',
@@ -143,13 +143,97 @@ const ACHIEVEMENTS = {
icon: '🌊',
condition: (state) => Game.getProductionPerSecond() >= 1000
},
cosmicFlood: {
id: 'cosmicFlood',
name: 'Cosmic Flood',
description: 'Reach 100,000 stardust/sec',
icon: '🌊',
condition: (state) => Game.getProductionPerSecond() >= 100000
},
// Prestige achievements
firstPrestige: {
id: 'firstPrestige',
name: 'Cosmic Rebirth',
description: 'Prestige for the first time',
icon: '🌀',
condition: (state) => state.prestigeCount >= 1
},
stellarAdaptation: {
id: 'stellarAdaptation',
name: 'Stellar Adaptation',
description: 'Prestige 5 times',
icon: '⭐',
condition: (state) => state.prestigeCount >= 5
},
cosmicAscension: {
id: 'cosmicAscension',
name: 'Cosmic Ascension',
description: 'Prestige 10 times',
icon: '🌟',
condition: (state) => state.prestigeCount >= 10
},
eternalGardener: {
id: 'eternalGardener',
name: 'Eternal Gardener',
description: 'Earn 100 total Stellar Essence',
icon: '💎',
condition: (state) => state.totalPrestigeEssence >= 100
},
quantumGrowth: {
id: 'quantumGrowth',
name: 'Quantum Growth',
description: 'Earn 1,000 total Stellar Essence',
icon: '🔮',
condition: (state) => state.totalPrestigeEssence >= 1000
},
// Building milestone achievements
voidWeaver: {
id: 'voidWeaver',
name: 'Void Weaver',
description: 'Own 25 Void Ferns',
icon: '🌿',
condition: (state) => (state.buildings.voidFern || 0) >= 25
},
supernovaGrowth: {
id: 'supernovaGrowth',
name: 'Supernova Growth',
description: 'Own 25 Supernova Seeds',
icon: '💥',
condition: (state) => (state.buildings.supernovaSeed || 0) >= 25
},
// Click power achievements
powerfulHarvester: {
id: 'powerfulHarvester',
name: 'Powerful Harvester',
description: 'Reach 1,000 click power',
icon: '✋',
condition: (state) => Game.getClickPower() >= 1000
},
divineTouch: {
id: 'divineTouch',
name: 'Divine Touch',
description: 'Reach 10,000 click power',
icon: '🤚',
condition: (state) => Game.getClickPower() >= 10000
},
// Time-based achievement
dedicatedGardener: {
id: 'dedicatedGardener',
name: 'Dedicated Gardener',
description: 'Play for 1 hour total',
icon: '⏰',
condition: (state) => (Date.now() - state.startTime) >= 3600000
}
};