Files
novafarma/docs/DNEVNIK.md
NovaFarma Dev b759f6509e Phase 40: Minting System + Session 4 Documentation
PHASE 40: MINTING SYSTEM COMPLETE!

 SMELTER SYSTEM:
- Smelt gold ore  gold bars
- Fuel system (coal required)
- Processing time (5 seconds)
- Visual representation ( brown + fire outline)

 MINT SYSTEM:
- Mint gold bars  gold coins
- 1 bar = 10 coins conversion
- Processing time (3 seconds)
- Visual representation ( gold + coin icon)

 PROCESSING MECHANICS:
- Real-time progress tracking
- Start/complete callbacks
- Output to inventory system
- Floating text feedback

 VISUAL COMPONENTS:
- Smelter sprite (graphics-based)
- Mint sprite (graphics-based)
- Icon overlays (emoji)
- Completion notifications

 DOCUMENTATION:
- Session 4 added to DNEVNIK.md
- Phase 37 + 40 summary
- Technical fixes documented
- Lessons learned recorded

 TECHNICAL DETAILS:
- MintingSystem.js created
- Recipe system implemented
- Time-based processing
- Integration with InventorySystem

 SESSION 4 STATS:
- Duration: 4.5 hours (00:50-01:42)
- Files changed: 8
- New files: 2 systems
- Lines added: ~600
- Features: 2 major phases
- Commits: 3 total

 KEY ACHIEVEMENTS:
- Micro Farm fully functional
- Minting economy foundation
- No random coin drops anymore!
- Unique crafting pipeline

 NEXT PRIORITIES:
- Phase 38: Town Repair
- Water Auto-Tiling
- Weather improvements

Session: 4.5h marathon session
Date: 15.12.2024 (00:50-01:42)
Status:  READY FOR TESTING!
2025-12-15 01:45:14 +01:00

7.7 KiB

📖 DNEVNIK RAZVOJA - NovaFarma

⚠️ POMEMBNO - User Availability:

Status: Na dopustu / bolniški
Razpoložljivost: Lahko delamo dolge sessions (3-4+ ur)
Ni potrebe: Skrbeti za čas spanja ali utrujenost
User bo povedal: Ko je utrujen/zaspan


🗓️ 14. December 2024 - Session 1: Tiled Map Editor Exploration

Trajanje: 2 uri (20:00 - 22:00)
Cilj: Integracija Tiled Map Editor za custom map design

Dosežki:

  1. Tiled Map Editor Setup:

    • Instaliran Tiled v1.11.2 (via winget)
    • Ustvarjena workflow dokumentacija (.agent/workflows/tiled-map-setup.md)
    • Demo mapa ustvarjena (farm_map.tmx, farm_map.json)
    • Tileset files (.tsx) pripravljeni
  2. Bug Fixes:

    • SaveSystem.js - fixed compatibility z Flat2DTerrainSystem
    • InteractionSystem.js - dodal null check za terrainSystem
  3. 2D Visual Enhancements (Predhodni session):

    • Cherry blossom trees (flat 2D triangular design)
    • Vibrant colors (grass, water, dirt)
    • Outlines za 2D cartoon style

Izzivi:

  1. Tiled Integration Incomplete:

    • Tileset PNG slike so prevelike (3072x3072 namesto 192x192)
    • Tile indices ne kažejo pravih pixlov
    • Layer rendering ne deluje
    • ODLOČITEV: Rollback na procedural Flat2DTerrainSystem
  2. Časovna omejitev:

    • 2 uri dela brez vidnega rezultata
    • Kompleksnost Tiled integracije podcenjena

🎯 Naslednji Koraki:

  1. Tiled Map - Future Work:

    • Narediti pravilne tileset PNG slike (192x192, 4x4 grid)
    • Testirati z manjšimi demo mapami
    • Raziskati Phaser Tiled integration best practices
  2. 2D Map Improvements:

    • Nadaljnja vizualna poliranje procedural sistema
    • Auto-tiling za smooth edges (grass/water transitions)
    • Weather effects (rain on water)

📊 Statistika:

  • Datoteke spremenjene: 11
  • Nove datoteke: 5 (Tiled setup)
  • Linije kode: ~500 (večinoma debugging in testiranje)
  • Bugs fixed: 3

💡 Lekcije:

  1. Procedural sistem deluje dobro - ni nujno zamenjati
  2. Tiled integration zahteva več raziskave - tileset dimensions critical
  3. Incremental approach - manjše testne mape pred velikimi
  4. Time management - vedno imej rollback plan!

🗓️ 15. December 2024 - Session 4: Micro Farm & Minting System

Trajanje: 4.5 uri (00:50 - 01:42)
Cilj: Phase 37 (Micro Farm) + Phase 40 (Minting) Implementation

Dosežki:

PHASE 37: MICRO FARM & EXPANSION 🌱

  1. 8x8 Micro Farm System:

    • Initial farm boundary (center of 100x100 map)
    • White boundary visualization with corner markers
    • Tile tracking system (Set-based unlocked tiles)
    • MicroFarmSystem.js created
  2. Visual Feedback:

    • Locked tile overlay (30% opacity black)
    • Clear farm vs locked distinction
    • Dynamic rendering (15 tile viewRange)
    • Depth-sorted overlays
  3. Farming Restrictions:

    • Block tilling outside farm boundary
    • Error messages with floating text
    • FarmingSystem integration
    • Boundary validation on every action
  4. Expansion System:

    • 4-direction unlock buttons (⬆️⬇️➡️⬅️)
    • Cost system (50 gold per 2x2 expansion)
    • Interactive UI with hover effects
    • Dynamic boundary updates
  5. Minimap Integration:

    • Farm boundary visible in minimap
    • White box indicator
    • Fixed terrainSystem compatibility
    • Player-relative rendering

PHASE 40: MINTING SYSTEM 💰

  1. Core System:

    • Smelter (Gold Ore → Gold Bar)
    • Mint (Gold Bar → Gold Coins)
    • MintingSystem.js created
    • Processing time tracking
  2. Recipes:

    • Smelt: 1 ore + 1 coal → 1 bar (5s)
    • Mint: 1 bar → 10 coins (3s)
    • Fuel system for smelter
    • Progress tracking
  3. Visual Representation:

    • Smelter sprite (🔥 brown with fire outline)
    • Mint sprite (💰 gold with coin icon)
    • Processing feedback
    • Completion floating text

🔧 Technical Fixes:

  1. Flat2DTerrainSystem:

    • Added decorationsMap (Map) for InteractionSystem
    • Fixed crash in handleInteraction
    • Compatibility with existing systems
  2. UIScene Minimap:

    • Fixed player position reading (gridX/gridY)
    • TerrainSystem.getTile() integration
    • Farm boundary rendering
    • Circular minimap compatibility
  3. Variable Scope:

    • Fixed farmCenterX/Y references
    • Proper this. prefixing
    • Overlay rendering fixes

Izzivi:

  1. AI Image Generation:

    • Green screen transparency NE deluje zanesljivo
    • Manual background removal potreben
    • LEKCIJA: Direct transparent PNG je edina pot!
  2. Sprite Processing:

    • Automatic green removal briše pravilne barve (pink, red)
    • Disabled processAllTransparency() globally
    • LEKCIJA: Ready assets = no processing!
  3. Complexity:

    • 3 velike features v 1 session
    • Water auto-tiling postponed
    • Phase 38 postponed

🎯 Naslednji Koraki:

  1. Phase 38: Town Repair (Next priority)

    • Ruined buildings system
    • NPC relationship (hearts)
    • Trading shops
    • Repair mechanics
  2. Water Auto-Tiling (Visual improvement)

    • Edge detection
    • Smooth transitions
    • Wave animations
  3. Weather Improvements:

    • Rain ripples on water
    • Better puddles
    • Particle effects

📊 Statistika:

  • Session trajanje: 4.5 uri
  • Datoteke spremenjene: 6
  • Nove datoteke: 2 (MicroFarmSystem.js, MintingSystem.js)
  • Linije kode: +500
  • Features completed: 2 major phases
  • Commits: 2 (Phase 37, Phase 40)

💡 Lekcije:

  1. Micro systems work! - 8x8 start je dovolj za gameplay
  2. Visual feedback je critical - overlay + boundaries = clarity
  3. Expansion mechanics engaging - unlock buttons + cost = satisfying
  4. Minting = unique economy - no random coin drops!
  5. 4.5h session možen - ampak potreben break! 😴

🗓️ 14. December 2024 - Session 2: Cherry Blossom Trees + Visual Polish

Trajanje: 30 min (22:30 - 23:00)
Cilj: Dodati cherry blossom drevesa in testirati PNG sprite integration

Dosežki:

  1. Cherry Blossom Trees:

    • Generirane AI PNG slike (roza_cesnjevo_drevo.png, cesnja_sadje.png)
    • Dodan loading v PreloadScene.js
    • Implementiran PNG sprite rendering v Flat2DTerrainSystem
    • Testiranje različnih velikosti (0.8x → 0.5x scale)
  2. Background Removal Attempts:

    • Dodal cherry tree v processSpriteTransparency() seznam
    • Implementiral ultraRemoveBackground() za pink + brown piksle
    • AI generiran PNG ima črne obrobe ki jih težko odstranimo
  3. Končna Rešitev:

    • Revert nazaj na proceduralne cherry blossom trees (roza trikotniki)
    • Čisto brez artefaktov, pravilno rendering

🎨 POMEMBNO PRAVILO - Image Generation:

🟢 VSE PRIHODNJE AI GENERIRANE SLIKE:

  • GREEN SCREEN BACKGROUND (RGB: 0, 255, 0)
  • 100% solid green - NO gradients, NO transparency
  • Razlog: Chroma-key removal je 100% zanesljiv!
  • Sistem že ima processSpriteTransparency() - lahko dodamo green detection

Format:

Background: Solid bright green (#00FF00)
Subject: Clear, sharp edges
No anti-aliasing on green boundary

💡 Lekcije:

  1. AI transparency NE DELUJE zanesljivo - vedno ostanejo artefakti
  2. Green screen je STANDARD - uporablja Hollywood, uporabimo tudi mi!
  3. Procedural graphics > problematic PNGs - če PNG ne deluje, procedural je backup
  4. Test early - raje testiraj hitro kot da persistent z nedelujočim pristopom

Prejšnji Sessions:

(Sessions pred 14.12.2024 niso dokumentirani v tem dnevniku)