Expert guidance for developing the Aether incremental game with Vue.js, Pinia, and break_infinity.js
This skill has safety concerns that you should review before use. Some patterns were detected that may pose a risk.Safety score: 60/100.
KillerSkills scans all public content for safety. Use caution before installing or executing flagged content.
Provides expert guidance for working with the Aether incremental game codebase, a complex Vue.js-based game with interconnected systems and strategic depth.
**Aether** is a fully-featured incremental game with the Glare Layer (first of 10 planned layers) completely implemented. It features:
**Technology Stack:**
Before making any changes, familiarize yourself with:
```
Key Files to Review:
```
**Critical Rules:**
**Example Pattern:**
```typescript
// From gameState.ts - safe store access
try {
const evolutionStore = useEvolutionStore();
// Use evolutionStore safely
} catch (error) {
console.error('Evolution store not available');
return null;
}
```
**Always use Decimal objects for game calculations:**
```typescript
import { D, ZERO, ONE } from '@/utils/decimal';
// Correct:
const cost = D(10).mul(D(1.8).pow(owned));
// Incorrect:
const cost = 10 * Math.pow(1.8, owned); // DO NOT USE
```
**Key Points:**
**Before Committing:**
1. Test the specific feature you changed
2. Test related systems (stores often interact)
3. Verify save/load functionality still works
4. Check that reset mechanics (Starburst/Starlight) work correctly
5. Test with both small and large numbers (e.g., 1e100+)
**Common Test Scenarios:**
**Memorize or reference these key values:**
```typescript
// Starlight unlock condition
if (stardust >= D('1e100')) { /* Grant Starlight */ }
// Star Rail calculation
Math.floor((starlightGained / 10) ** 0.5) // minimum 1
// Filament cost scaling
baseCost * (costIncreaseFactor ** owned)
// Milestone bonus (every 10 purchases)
if (owned % 10 === 0) { bonus *= 2 }
// Starburst multiplier
base * 2 * (1.1 ** starlight)
```
**Follow Established Patterns:**
- `components/game/` - Core game mechanic UI
- `components/ui/` - Reusable UI components
- `components/effects/` - Visual effects
- `components/layout/` - App structure
**Example Component Structure:**
```vue
<script setup lang="ts">
import { computed } from 'vue';
import { useGameStateStore } from '@/stores/gameState';
import { D } from '@/utils/decimal';
const gameState = useGameStateStore();
const stardust = computed(() => gameState.resources.stardust);
</script>
```
**Optimization Guidelines:**
**Debugging Store Issues:**
1. Check browser console for store access errors
2. Verify store initialization order in `main.ts`
3. Use Vue DevTools to inspect Pinia states
4. Look for circular dependencies
**Adding New Features:**
1. Define TypeScript types in `types/game.ts`
2. Add store logic following existing patterns
3. Implement UI with error boundaries
4. Test save/load compatibility
5. Update CLAUDE.md if making significant changes
**Balance Adjustments:**
1. Modify base values in `gameState.ts` filamentData array
2. Update formulas in computed properties
3. Test progression from early to late game
4. Verify all reset mechanics work correctly
**Core Stores (all in `src/stores/`):**
**Three Reset Types:**
1. **Starburst** (soft reset)
- Resets filaments and stardust
- Keeps evolution progress and starlight
- Grants Starburst multiplier
2. **Starlight Reset** (extensive soft reset)
- Resets everything except Star Memory preserved items
- Grants Star Rail and other prestige currencies
3. **Supernova** (layer transition - not yet implemented)
- Preparation for advancing to Nova Layer
- Will reset Glare Layer entirely
**Important:** Star Memory system can preserve specific items across resets. Dimensional Anchor upgrade skips every 3rd Starburst reset.
```bash
npm run dev # Start dev server
npm run build # Production build
npm run preview # Preview production build
npm run type-check # TypeScript validation
```
1. **Test thoroughly before committing** - complex interconnected systems mean one change can affect many features
2. **Always use Decimal objects** - never native JavaScript numbers for calculations
3. **Check store dependencies** - many stores depend on gameState and each other
4. **Verify save/load** - ensure changes don't break save data compatibility
5. **Reference design docs** - Aether_Project_Glare_Layer_Concept.md contains exact specifications and formulas
When in doubt, consult these documents for exact specifications, formulas, and intended behavior.
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/aether-game-development-assistant/raw