135 lines
3.6 KiB
Markdown
135 lines
3.6 KiB
Markdown
# 🌲 Sesija: Optimizacija Gozda - 12. December 2025
|
|
|
|
## 📋 Povzetek Sesije
|
|
|
|
### 🎯 Cilj
|
|
Generirati 100x100 mapo z **Stardew Valley stilom gozda** z vijolčnimi in sadnimi drevesi ter zapuščenimi hišami.
|
|
|
|
### ✅ Dosežki
|
|
|
|
#### 1. **Velikost Mape**
|
|
- ✅ Spremenjena na **100x100** tiles
|
|
- ✅ Celoten teren: `GRASS_FULL`
|
|
- ✅ Farm: 8x8 na (50,50) z `DIRT` ploščicami
|
|
|
|
#### 2. **Drevesni Sistem**
|
|
- ✅ **Gostota:** 1% (zelo nizka, optimizirana)
|
|
- ✅ **Preverjanje razdalje:** Min 2 tiles med drevesi
|
|
- ✅ **Vrste dreves:**
|
|
- 💜 30% Vijolčna drevesa (`tree_purple`)
|
|
- 🍎 20% Sadna drevesa (`tree_apple`, `tree_pear`, `tree_cherry`)
|
|
- 🌳 50% Zelena/modra drevesa (`tree_green_final`, `tree_blue_final`)
|
|
|
|
#### 3. **Sprite-i**
|
|
- ✅ Generirani novi sprite-i za drevesa
|
|
- ✅ Ultra agresivno odstranjevanje ozadij (brightness > 100)
|
|
- ✅ Čisti, transparentni sprite-i
|
|
|
|
#### 4. **Optimizacije**
|
|
- ✅ Odstranjena vsa ozadja iz sprite-ov
|
|
- ✅ Pomanjšana drevesa (scale 0.6-0.7)
|
|
- ✅ Sistem preverjanja razdalje med drevesi
|
|
- ✅ Čista mapa brez nepotrebnih dekoracij
|
|
|
|
### 🔧 Ključne Spremembe
|
|
|
|
#### **TerrainSystem.js**
|
|
```javascript
|
|
// Konstante
|
|
const TREE_DENSITY = 0.01; // 1% gostota
|
|
const PURPLE_TREE_CHANCE = 0.30;
|
|
const FRUIT_TREE_CHANCE = 0.20;
|
|
const MIN_TREE_DISTANCE_SQUARED = 2 * 2;
|
|
|
|
// Tracking dreves
|
|
this.placedTrees = [];
|
|
|
|
// Funkcija za preverjanje razdalje
|
|
isTreeLocationFarEnough(newX, newY) {
|
|
// Preveri razdaljo do vseh dreves
|
|
// Vrne true če je OK, false če preblizu
|
|
}
|
|
```
|
|
|
|
#### **GameScene.js**
|
|
```javascript
|
|
// Farm ploščice - DIRT namesto GRASS
|
|
this.terrainSystem.tiles[y][x].type = 'dirt';
|
|
this.terrainSystem.tiles[y][x].sprite.setTexture('dirt');
|
|
```
|
|
|
|
#### **PreloadScene.js**
|
|
```javascript
|
|
// Novi sprite-i
|
|
this.load.image('tree_purple', 'assets/tree_purple.png');
|
|
this.load.image('tree_apple', 'assets/tree_apple.png');
|
|
this.load.image('tree_pear', 'assets/tree_pear.png');
|
|
this.load.image('tree_cherry', 'assets/tree_cherry.png');
|
|
|
|
// Ultra agresivno odstranjevanje ozadij
|
|
processSpriteTransparency(spriteKey) {
|
|
// Odstrani VSE svetle barve (brightness > 100)
|
|
// Odstrani VSE sive barve
|
|
// Odstrani VSE pastelne barve
|
|
}
|
|
```
|
|
|
|
### 🐛 Odpravljene Napake
|
|
|
|
1. ✅ **TypeError: Cannot read properties of null (reading 'addDecoration')**
|
|
- Dodano preverjanje `if (this.terrainSystem)` pred klici
|
|
|
|
2. ✅ **ReferenceError: TILE_PAVEMENT is not defined**
|
|
- Dodane manjkajoče konstante za rudnik
|
|
|
|
3. ✅ **Cannot read properties of null (reading 'getTile')**
|
|
- Dodano preverjanje v OceanSystem
|
|
|
|
4. ✅ **Stari save file nalaga hiše**
|
|
- Onemogočen loadGame() za testiranje
|
|
- Odstranjena koda za generiranje hiš
|
|
|
|
5. ✅ **Ozadja še vedno vidna**
|
|
- Ultra agresivno odstranjevanje (brightness > 100)
|
|
- Python skripta za procesiranje
|
|
|
|
### 📊 Končna Konfiguracija
|
|
|
|
**Mapa:**
|
|
- Velikost: 100x100
|
|
- Teren: Zelena trava (`grass_full`)
|
|
- Farm: 8x8 dirt ploščice na (50,50)
|
|
|
|
**Drevesa:**
|
|
- Gostota: 1%
|
|
- Min. razdalja: 2 tiles
|
|
- Vijolčna: 30%
|
|
- Sadna: 20%
|
|
- Zelena/modra: 50%
|
|
|
|
**Dekoracije:**
|
|
- Grmički: 0%
|
|
- Rože: 0%
|
|
- Skale: 0%
|
|
- Hiše: 0%
|
|
|
|
### 🎯 Naslednji Koraki
|
|
|
|
1. **Testiranje v igri** - Vizualno preverjanje gozda
|
|
2. **Dodatne izboljšave** - Po potrebi prilagoditev gostote
|
|
3. **Interakcije** - Sekanje dreves, nabiranje sadja
|
|
4. **Zapuščene hiše** - Ponovno dodati če želeno
|
|
|
|
### 📝 Opombe
|
|
|
|
- Save sistem je ponovno omogočen
|
|
- Vsi sprite-i imajo transparentna ozadja
|
|
- Sistem preverjanja razdalje preprečuje prekrivanje
|
|
- Optimizirana gostota za boljšo vidnost
|
|
|
|
---
|
|
|
|
**Datum:** 12. December 2025
|
|
**Trajanje:** ~1.5 ure
|
|
**Status:** ✅ Uspešno zaključeno
|