shrani
This commit is contained in:
53
docs/design/DESIGN_DOC.md
Normal file
53
docs/design/DESIGN_DOC.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# 🚜 NovaFarma - Design Document & Pillars
|
||||
*Konceptualna zasnova in arhitekturna pravila (Inspired by Stardew Valley)*
|
||||
|
||||
## 1. Core Pillars (Glavni stebri)
|
||||
|
||||
### 🎨 Vizualni Stil: Pixel Art Nostalgija
|
||||
- **Tehnika:** Ročno narisan (ali proceduralno generiran) Pixel Art.
|
||||
- **Renderiranje:** Vedno uporabi **`NEAREST`** neighbor filtriranje. Nobenega 'blur-a'.
|
||||
- **Snap-to-Grid:** Sprite-i se morajo poravnati na piksle (Math.round), da preprečimo 'sub-pixel' napake.
|
||||
|
||||
### 📐 Perspektiva: 2.5D Iluzija
|
||||
- **Trik:** Igra uporablja 2D mrežo, a z navpičnim zamikom ustvarja iluzijo višine.
|
||||
- **Grids:**
|
||||
1. **Ground Layer (Tla):** Ploščice (Tiles), po katerih se hodi. So 'ravne'.
|
||||
2. **Object Layer (Predmeti):** Drevesa, zgradbe, igralec. Imajo 'višino'.
|
||||
|
||||
### ↕️ Depth Sorting (Y-Sort)
|
||||
To je srce 2.5D motorja (`Antigravity Engine`).
|
||||
- Objekti se rišejo v vrstnem redu glede na njihovo **Y-koordinato** na zaslonu.
|
||||
- **Pravilo:** `Depth = BaseLayer + Sprite.y`.
|
||||
- To omogoča, da igralec hodi "za" drevesom in "pred" ograjo naravno.
|
||||
|
||||
## 2. Arhitektura Motorja (Antigravity Engine)
|
||||
|
||||
Namesto MonoGame (C#) uporabljamo **Phaser 3 (JS)**, vendar s podobno strukturo:
|
||||
|
||||
### 🗺️ Tileset System (`TerrainSystem.js`)
|
||||
Svet je razdeljen na dva nivoja podatkov:
|
||||
1. **TileMap (Matrika):**
|
||||
- Hrani tip tal (Trava, Zemlja, Voda).
|
||||
- Določa osnovno prehodnost (Voda = neprehodno).
|
||||
2. **DecorationMap (Objekti):**
|
||||
- Hrani entitete na koordinatah (Drevo na 20,20).
|
||||
- Ti objekti so neodvisni Sprit-i z lastno logiko (Health, Growth).
|
||||
|
||||
### 🔄 Game Loop (`Antigravity.Update`)
|
||||
1. **Input:** Preberi vnose.
|
||||
2. **Logic:** Premakni entitete, preveri kolizije (hitboxi).
|
||||
3. **Sorting:** `depthSortSprites()` poskrbi za pravilno risanje.
|
||||
4. **Render:** Phaser nariše sceno.
|
||||
|
||||
## 3. Gameplay Mechanics
|
||||
|
||||
### Kmetovanje & Nabiralništvo
|
||||
- Interakcija temelji na **Grid Selection** (izbira kvadratka).
|
||||
- Orodja delujejo na principu "Active Tile".
|
||||
|
||||
### RPG Elementi
|
||||
- NPC-ji imajo urnike in obnašanje (State Machines).
|
||||
- Ekonomija temelji na prodaji pridelkov.
|
||||
|
||||
---
|
||||
*Ta dokument služi kot referenca za preobrazbo NovaFarme v polnokrven 2.5D RPG.*
|
||||
Reference in New Issue
Block a user