203 lines
4.5 KiB
Markdown
203 lines
4.5 KiB
Markdown
# 🌊 Sesija: Ribnik & Sound System - 12. December 2025
|
|
|
|
## 📋 Povzetek Sesije
|
|
|
|
### 🎯 Glavni Dosežki
|
|
|
|
#### 1. **Ribnik z Animirano Vodo** 🌊
|
|
- ✅ **Lokacija:** (30, 30) - okrogel ribnik (radij 4 tiles)
|
|
- ✅ **2D Stardew Valley stil** - flat top-down namesto 3D isometric
|
|
- ✅ **Temno modra barva** (0x0a3d62 → 0x1e5f8c) - dobro vidna!
|
|
- ✅ **Alpha tween animacija** - valovanje (0.7 ↔ 1.0, 1 sekunda)
|
|
- ✅ **Gradient + highlights** - svetli krogi za valovanje
|
|
|
|
#### 2. **Dežne Kapljice** 🌧️
|
|
- ✅ **Rain particles** - padajo v ribnik
|
|
- ✅ **10 kapljic/sekundo** (frequency: 100ms)
|
|
- ✅ **Modre kapljice** (0x4488ff)
|
|
- ✅ **Fade efekt** - alpha 0.8 → 0.3
|
|
- ✅ **ADD blend mode** - svetleči efekt
|
|
|
|
#### 3. **Sound System** 🎵
|
|
- ✅ **Ambient music** - C Minor Pentatonic scale
|
|
- ✅ **Rain sound** - white noise nad ribnikom
|
|
- ✅ **SFX ready** - dig, plant, harvest, build, chop, pickup
|
|
- ✅ **Proceduralni zvoki** - Web Audio API oscillators
|
|
|
|
#### 4. **Čista Mapa** 🟢
|
|
- ✅ **Brez dreves** (TREE_DENSITY = 0%)
|
|
- ✅ **Brez hiš** (ABANDONED_HOUSES = [])
|
|
- ✅ **Brez dekoracij** (grmički, rože, skale = 0%)
|
|
- ✅ **SaveSystem onemogočen** - fresh start
|
|
|
|
---
|
|
|
|
## 🔧 Ključne Spremembe
|
|
|
|
### **TerrainSystem.js**
|
|
|
|
**1. Ribnik Generiranje:**
|
|
```javascript
|
|
// Konstante
|
|
const POND_CENTER_X = 30;
|
|
const POND_CENTER_Y = 30;
|
|
const POND_RADIUS = 4;
|
|
|
|
// Generiranje
|
|
const distToPond = Math.sqrt(
|
|
Math.pow(x - POND_CENTER_X, 2) +
|
|
Math.pow(y - POND_CENTER_Y, 2)
|
|
);
|
|
if (distToPond <= POND_RADIUS) {
|
|
terrainType = this.terrainTypes.WATER;
|
|
}
|
|
```
|
|
|
|
**2. 2D Water Texture:**
|
|
```javascript
|
|
// Temna modra voda
|
|
waterGraphics.fillGradientStyle(
|
|
0x0a3d62, 0x0a3d62, // Temno modra
|
|
0x1e5f8c, 0x1e5f8c // Srednje modra
|
|
);
|
|
|
|
// Highlights
|
|
waterGraphics.fillStyle(0x3a8fc2, 0.5);
|
|
waterGraphics.fillCircle(12, 12, 10);
|
|
waterGraphics.fillCircle(36, 28, 8);
|
|
waterGraphics.fillCircle(24, 38, 6);
|
|
|
|
// Border
|
|
waterGraphics.lineStyle(2, 0x062a40, 1);
|
|
```
|
|
|
|
**3. Water Animation:**
|
|
```javascript
|
|
// Alpha tween za valovanje
|
|
this.scene.tweens.add({
|
|
targets: sprite,
|
|
alpha: 0.7,
|
|
duration: 1000,
|
|
yoyo: true,
|
|
repeat: -1,
|
|
ease: 'Sine.easeInOut'
|
|
});
|
|
```
|
|
|
|
**4. Rain Particles:**
|
|
```javascript
|
|
this.rainEmitter = this.scene.add.particles(pondX, pondY - 100, 'raindrop', {
|
|
x: { min: -50, max: 50 },
|
|
y: 0,
|
|
lifespan: 1000,
|
|
speedY: { min: 200, max: 300 },
|
|
scale: { start: 0.5, end: 0.2 },
|
|
alpha: { start: 0.8, end: 0.3 },
|
|
frequency: 100,
|
|
blendMode: 'ADD'
|
|
});
|
|
|
|
// Rain sound
|
|
this.scene.soundManager.playRainSound();
|
|
```
|
|
|
|
### **GameScene.js**
|
|
|
|
**1. TerrainSystem Update:**
|
|
```javascript
|
|
update(time, delta) {
|
|
if (this.terrainSystem) this.terrainSystem.update(time, delta);
|
|
// ... ostali sistemi
|
|
}
|
|
```
|
|
|
|
**2. Farm Tiles:**
|
|
```javascript
|
|
// Dirt namesto grass
|
|
this.terrainSystem.tiles[y][x].type = 'dirt';
|
|
this.terrainSystem.tiles[y][x].sprite.setTexture('dirt');
|
|
```
|
|
|
|
### **SaveSystem.js**
|
|
|
|
**LoadGame Onemogočen:**
|
|
```javascript
|
|
loadGame() {
|
|
console.log('📂 Loading game... DISABLED - Fresh start!');
|
|
return false; // Vedno fresh start
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 Končna Konfiguracija
|
|
|
|
**Mapa:**
|
|
- Velikost: 100x100
|
|
- Teren: Zelena trava
|
|
- Farm: 8x8 dirt tiles (50,50)
|
|
- Ribnik: Okrogel, radij 4 (30,30)
|
|
|
|
**Dekoracije:**
|
|
- Drevesa: 0%
|
|
- Grmički: 0%
|
|
- Rože: 0%
|
|
- Skale: 0%
|
|
- Hiše: 0%
|
|
|
|
**Voda:**
|
|
- Stil: 2D Stardew Valley
|
|
- Barva: Temno modra (0x0a3d62 → 0x1e5f8c)
|
|
- Animacija: Alpha tween (1s)
|
|
- Dež: 10 kapljic/s
|
|
|
|
**Zvok:**
|
|
- Ambient music: C Minor Pentatonic
|
|
- Rain sound: White noise (800Hz lowpass)
|
|
- SFX: Proceduralni (Web Audio API)
|
|
|
|
---
|
|
|
|
## 🎯 Naslednji Koraki
|
|
|
|
**Priporočila:**
|
|
1. **Testiranje ribnika** - Vizualno preverjanje
|
|
2. **Dodati ribe** - Interakcija z ribnikom
|
|
3. **Ribolov sistem** - Mini-game
|
|
4. **Ponovno omogočiti save** - Ko je testiranje končano
|
|
5. **Dodati nazaj drevesa** - Z nizko gostoto (1-3%)
|
|
|
|
---
|
|
|
|
## 📝 Opombe
|
|
|
|
- Voda je zdaj **2D flat** (Stardew Valley stil)
|
|
- Rain particles **samo nad ribnikom**
|
|
- Sound system **že implementiran**
|
|
- Save sistem **onemogočen** za testiranje
|
|
- Vse spremembe **kompatibilne** z obstoječim kodom
|
|
|
|
---
|
|
|
|
**Datum:** 12. December 2025
|
|
**Trajanje:** ~40 minut
|
|
**Status:** ✅ Uspešno zaključeno
|
|
**Naslednja sesija:** Testiranje + ribe/ribolov
|
|
|
|
---
|
|
|
|
## 🚀 Quick Start (Po Vrnitvi)
|
|
|
|
```bash
|
|
# Reload igre
|
|
F4 v Electron oknu
|
|
|
|
# Preveri ribnik
|
|
Pojdi na (30, 30)
|
|
|
|
# Ponovno omogoči save (ko je testiranje končano)
|
|
# SaveSystem.js - odkomentiraj loadGame()
|
|
```
|
|
|
|
**Uživajte v Sparu!** 🛒✨
|