narejeno
This commit is contained in:
458
docs/GAMEPLAY_FEATURES_ROADMAP.md
Normal file
458
docs/GAMEPLAY_FEATURES_ROADMAP.md
Normal file
@@ -0,0 +1,458 @@
|
||||
# 🎮 NovaFarma - Complete Gameplay Features Roadmap
|
||||
|
||||
## 📅 Planning Document for Future Development
|
||||
**Status**: Roadmap
|
||||
**Target Version**: 3.0+
|
||||
**Priority**: Future Development
|
||||
|
||||
---
|
||||
|
||||
## 🐑 Advanced Animal Breeding System
|
||||
|
||||
### **Implementation Complexity**: HIGH
|
||||
**Estimated Time**: 40-60 hours
|
||||
**Dependencies**: FarmAutomationSystem, GeneticsLab (BuildingVisualsSystem)
|
||||
|
||||
### **Phase 1: Normal Animals (v3.0)**
|
||||
|
||||
#### **Core Breeding Mechanics:**
|
||||
```javascript
|
||||
class AnimalBreedingSystem {
|
||||
breedAnimals(male, female) {
|
||||
// Check compatibility
|
||||
if (male.species !== female.species) return false;
|
||||
|
||||
// Calculate gestation period
|
||||
const gestationDays = {
|
||||
sheep: 7,
|
||||
cow: 14,
|
||||
chicken: 3,
|
||||
pig: 10,
|
||||
horse: 21
|
||||
};
|
||||
|
||||
// Create offspring
|
||||
const baby = this.createOffspring(male, female);
|
||||
|
||||
// Schedule birth
|
||||
this.scheduleBirth(baby, gestationDays[male.species]);
|
||||
}
|
||||
|
||||
createOffspring(parent1, parent2) {
|
||||
return {
|
||||
species: parent1.species,
|
||||
genetics: this.inheritGenetics(parent1, parent2),
|
||||
age: 0,
|
||||
stage: 'baby' // baby → teen → adult
|
||||
};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### **Animals to Implement:**
|
||||
- ✅ Sheep (Male + Female → Lamb, 7 days)
|
||||
- ✅ Cows (Bull + Cow → Calf, 14 days)
|
||||
- ✅ Chickens (Rooster + Hen → Chick, 3 days)
|
||||
- ✅ Pigs (Boar + Sow → Piglet, 10 days)
|
||||
- ✅ Horses (Stallion + Mare → Foal, 21 days)
|
||||
|
||||
---
|
||||
|
||||
### **Phase 2: Genetics System (v3.1)**
|
||||
|
||||
#### **Genetic Traits:**
|
||||
```javascript
|
||||
class GeneticsSystem {
|
||||
inheritGenetics(parent1, parent2) {
|
||||
return {
|
||||
color: this.inheritColor(parent1, parent2),
|
||||
size: this.inheritSize(parent1, parent2),
|
||||
speed: this.inheritSpeed(parent1, parent2),
|
||||
production: this.inheritProduction(parent1, parent2),
|
||||
mutation: this.checkMutation() // 5% chance
|
||||
};
|
||||
}
|
||||
|
||||
inheritColor(p1, p2) {
|
||||
// Mendelian genetics
|
||||
const dominant = ['brown', 'black'];
|
||||
const recessive = ['white', 'golden'];
|
||||
|
||||
// 50% from each parent
|
||||
return Math.random() < 0.5 ? p1.color : p2.color;
|
||||
}
|
||||
|
||||
checkMutation() {
|
||||
if (Math.random() < 0.05) {
|
||||
return {
|
||||
type: 'golden_fleece',
|
||||
rarity: 'legendary',
|
||||
bonus: { production: 2.0 }
|
||||
};
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### **Traits to Track:**
|
||||
- Color inheritance (Mendelian genetics)
|
||||
- Size variations (small/medium/large)
|
||||
- Speed traits (fast/slow)
|
||||
- Production traits (milk, wool, eggs)
|
||||
- Rare mutations (5% chance)
|
||||
|
||||
---
|
||||
|
||||
### **Phase 3: Mutated Creatures (v3.2)**
|
||||
|
||||
#### **Special Buildings Required:**
|
||||
```javascript
|
||||
const mutantBuildings = {
|
||||
mutation_lab: {
|
||||
cost: { iron: 50, glass: 20, circuit: 10 },
|
||||
unlockQuest: 'Lab Access'
|
||||
},
|
||||
reinforced_stable: {
|
||||
cost: { steel: 30, concrete: 40 },
|
||||
unlockQuest: 'Stable Foundation'
|
||||
},
|
||||
containment_field: {
|
||||
cost: { energy_crystal: 5, steel: 20 },
|
||||
powerCost: 50
|
||||
},
|
||||
genetic_sequencer: {
|
||||
cost: { circuit: 15, glass: 10 },
|
||||
unlockQuest: 'Gene Sample'
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
#### **Quest Chain:**
|
||||
1. **"Stable Foundation"** - Build Reinforced Stable
|
||||
2. **"Lab Access"** - Find Dr. Ana (NPC quest)
|
||||
3. **"Gene Sample"** - Collect mutant DNA (dungeon drop)
|
||||
4. **"Controlled Breeding"** - Complete safety course (tutorial)
|
||||
|
||||
#### **Mutant Breeding:**
|
||||
```javascript
|
||||
class MutantBreedingSystem {
|
||||
breedMutants(mutant1, mutant2) {
|
||||
// Requires Mutation Serum
|
||||
if (!this.hasItem('mutation_serum')) return false;
|
||||
|
||||
// Failure chances
|
||||
const roll = Math.random();
|
||||
if (roll < 0.5) {
|
||||
return { result: 'death', message: 'Breeding failed - creature died' };
|
||||
}
|
||||
if (roll < 0.8) {
|
||||
return { result: 'sterile', message: 'Offspring is sterile' };
|
||||
}
|
||||
|
||||
// Success!
|
||||
return {
|
||||
result: 'success',
|
||||
offspring: this.createMutantBaby(mutant1, mutant2),
|
||||
loot: ['mutant_hide', 'mutant_horn']
|
||||
};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### **Mutant Animals:**
|
||||
- 🐮 **Mutant Cow** - 2x size, aggressive, drops rare meat
|
||||
- 🐔 **Three-Headed Chicken** - 3x eggs, chaotic movement
|
||||
- 🐷 **Giant Pig** - Rideable mount, high HP
|
||||
- 🐴 **Zombie Horse** - Undead, never tires, spooky
|
||||
- 🐑 **Fire Sheep** - Flame wool, fire resistance
|
||||
|
||||
---
|
||||
|
||||
### **Phase 4: Breeding Stations (v3.3)**
|
||||
|
||||
#### **Station Types:**
|
||||
```javascript
|
||||
const breedingStations = {
|
||||
love_pen: {
|
||||
type: 'automatic',
|
||||
animals: 'normal',
|
||||
speed: 1.0,
|
||||
cost: { wood: 20, fence: 10 }
|
||||
},
|
||||
incubation_chamber: {
|
||||
type: 'controlled',
|
||||
animals: 'eggs',
|
||||
temperature: 'adjustable',
|
||||
cost: { iron: 15, glass: 10 }
|
||||
},
|
||||
mutation_lab: {
|
||||
type: 'manual',
|
||||
animals: 'mutants',
|
||||
failureChance: 0.5,
|
||||
cost: { steel: 30, circuit: 20 }
|
||||
},
|
||||
cloning_vat: {
|
||||
type: 'expensive',
|
||||
animals: 'any',
|
||||
cost: { energy_crystal: 10, bio_gel: 50 }
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### **Phase 5: Baby Care System (v3.4)**
|
||||
|
||||
#### **Care Mechanics:**
|
||||
```javascript
|
||||
class BabyCareSystem {
|
||||
updateBaby(baby, delta) {
|
||||
// Hunger
|
||||
baby.hunger -= delta / 60000; // 1% per minute
|
||||
|
||||
// Growth
|
||||
if (baby.hunger > 50) {
|
||||
baby.age += delta / 86400000; // 1 day = 1 age point
|
||||
}
|
||||
|
||||
// Stage progression
|
||||
if (baby.age > 7) baby.stage = 'teen';
|
||||
if (baby.age > 14) baby.stage = 'adult';
|
||||
|
||||
// Bonding
|
||||
if (this.isPlayerNearby(baby)) {
|
||||
baby.bonding += delta / 120000; // 1% per 2 minutes
|
||||
}
|
||||
}
|
||||
|
||||
feedBaby(baby, food) {
|
||||
baby.hunger = Math.min(100, baby.hunger + food.nutrition);
|
||||
baby.bonding += 5; // Feeding increases bond
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🤖 Farm Automation Tiers
|
||||
|
||||
### **Tier Progression:**
|
||||
|
||||
#### **Tier 1: Manual Labor**
|
||||
- Player does everything
|
||||
- No automation
|
||||
- Learning phase
|
||||
|
||||
#### **Tier 2: Zombie Workers**
|
||||
- Unlock: Tame 5 zombies
|
||||
- Speed: 50% of player
|
||||
- Tasks: Plant, harvest, water
|
||||
- Management: Required
|
||||
|
||||
#### **Tier 3: Creature Helpers**
|
||||
- Unlock: Befriend 10 creatures
|
||||
- Speed: 75% of player
|
||||
- Tasks: Crafting, sorting, transport
|
||||
- Specialization: Each creature type
|
||||
|
||||
#### **Tier 4: Mechanical Automation**
|
||||
- Unlock: Build all automation buildings
|
||||
- Speed: 100% (24/7)
|
||||
- Tasks: Everything
|
||||
- Management: Minimal
|
||||
|
||||
#### **Tier 5: AI Farm**
|
||||
- Unlock: "Singularity" quest
|
||||
- Speed: Self-optimizing
|
||||
- Tasks: Autonomous
|
||||
- Management: None (just collect profits)
|
||||
|
||||
---
|
||||
|
||||
## 🍳 Cooking & Recipe System
|
||||
|
||||
### **Implementation:**
|
||||
```javascript
|
||||
class CookingSystem {
|
||||
discoverRecipe(ingredients) {
|
||||
const recipe = this.matchRecipe(ingredients);
|
||||
if (recipe && !this.knownRecipes.has(recipe.id)) {
|
||||
this.knownRecipes.add(recipe.id);
|
||||
return recipe;
|
||||
}
|
||||
}
|
||||
|
||||
cook(recipe) {
|
||||
const food = {
|
||||
name: recipe.name,
|
||||
buffs: recipe.buffs,
|
||||
spoilTime: Date.now() + recipe.freshness
|
||||
};
|
||||
return food;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### **Food Buffs:**
|
||||
- Speed boost (+20% for 5 minutes)
|
||||
- Health regen (+5 HP/sec for 10 minutes)
|
||||
- Stamina boost (+50 max stamina)
|
||||
- XP boost (+50% for 1 hour)
|
||||
|
||||
---
|
||||
|
||||
## 🎣 Fishing System
|
||||
|
||||
### **Minigame:**
|
||||
```javascript
|
||||
class FishingMinigame {
|
||||
startFishing() {
|
||||
// Wait for bite
|
||||
this.waitTime = Math.random() * 5000 + 2000;
|
||||
|
||||
setTimeout(() => {
|
||||
this.showBiteIndicator();
|
||||
this.startReelMinigame();
|
||||
}, this.waitTime);
|
||||
}
|
||||
|
||||
startReelMinigame() {
|
||||
// Timing-based minigame
|
||||
// Press space when indicator is in green zone
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### **Fish Types:**
|
||||
- Common: Bass, Trout (70%)
|
||||
- Rare: Salmon, Tuna (25%)
|
||||
- Legendary: Golden Fish, Sea Dragon (5%)
|
||||
|
||||
---
|
||||
|
||||
## ⛏️ Mining & Dungeons
|
||||
|
||||
### **Cave Generation:**
|
||||
```javascript
|
||||
class CaveGenerator {
|
||||
generateCave(depth) {
|
||||
const cave = {
|
||||
depth,
|
||||
size: 50 + depth * 10,
|
||||
ores: this.placeOres(depth),
|
||||
enemies: this.spawnEnemies(depth),
|
||||
boss: depth % 10 === 0 ? this.createBoss(depth) : null
|
||||
};
|
||||
return cave;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### **Ore Distribution:**
|
||||
- Depth 0-10: Copper, Tin
|
||||
- Depth 10-20: Iron, Coal
|
||||
- Depth 20-30: Gold, Silver
|
||||
- Depth 30+: Diamond, Mythril
|
||||
|
||||
---
|
||||
|
||||
## 👹 Boss Battles
|
||||
|
||||
### **Boss Mechanics:**
|
||||
```javascript
|
||||
class BossSystem {
|
||||
createBoss(type) {
|
||||
return {
|
||||
name: type,
|
||||
hp: 10000,
|
||||
phases: [
|
||||
{ hp: 100, attacks: ['slash', 'charge'] },
|
||||
{ hp: 50, attacks: ['slash', 'charge', 'summon'] },
|
||||
{ hp: 25, attacks: ['berserk', 'aoe'] }
|
||||
],
|
||||
loot: this.generateLegendaryLoot()
|
||||
};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### **Boss Types:**
|
||||
- **Mutant King** - Giant mutant cow
|
||||
- **Zombie Horde Leader** - Commands zombie army
|
||||
- **Ancient Tree** - Forest boss
|
||||
- **Ice Titan** - Snow biome boss
|
||||
- **Fire Dragon** - Final boss
|
||||
|
||||
---
|
||||
|
||||
## 📊 Implementation Priority
|
||||
|
||||
### **High Priority (v3.0):**
|
||||
1. Normal Animal Breeding
|
||||
2. Genetics System
|
||||
3. Cooking System
|
||||
4. Fishing System
|
||||
|
||||
### **Medium Priority (v3.1):**
|
||||
1. Mutant Creatures
|
||||
2. Baby Care System
|
||||
3. Mining System
|
||||
4. Automation Tiers
|
||||
|
||||
### **Low Priority (v3.2+):**
|
||||
1. Boss Battles
|
||||
2. Dungeons
|
||||
3. AI Farm
|
||||
4. Advanced Genetics
|
||||
|
||||
---
|
||||
|
||||
## 💰 Budget Estimates
|
||||
|
||||
### **Development Time:**
|
||||
- Animal Breeding: 40 hours
|
||||
- Genetics: 30 hours
|
||||
- Mutants: 50 hours
|
||||
- Cooking: 20 hours
|
||||
- Fishing: 15 hours
|
||||
- Mining: 40 hours
|
||||
- Bosses: 30 hours
|
||||
|
||||
**Total**: ~225 hours (6 weeks full-time)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Success Metrics
|
||||
|
||||
### **Player Engagement:**
|
||||
- 80% of players breed animals
|
||||
- 50% discover all recipes
|
||||
- 30% breed mutants
|
||||
- 60% reach automation tier 3+
|
||||
|
||||
### **Content Completion:**
|
||||
- All animals implemented
|
||||
- 50+ recipes
|
||||
- 10+ mutant types
|
||||
- 5+ boss fights
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-12-12 23:05
|
||||
**Version**: Roadmap v1.0
|
||||
**Status**: 📋 Planning Phase
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notes
|
||||
|
||||
This roadmap covers ALL remaining gameplay features from TASKS.md. Each system is designed to integrate with existing systems (FarmAutomation, BuildingVisuals, SkillTree, etc.).
|
||||
|
||||
**Implementation should follow this order:**
|
||||
1. Core mechanics first (breeding, cooking)
|
||||
2. Polish existing systems
|
||||
3. Add advanced features (mutants, bosses)
|
||||
4. Final optimization and balancing
|
||||
|
||||
**Total estimated development time**: 6-8 months for complete implementation of all features.
|
||||
Reference in New Issue
Block a user