2.1 KiB
2.1 KiB
🚜 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
NEARESTneighbor 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:
- Ground Layer (Tla): Ploščice (Tiles), po katerih se hodi. So 'ravne'.
- 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:
- TileMap (Matrika):
- Hrani tip tal (Trava, Zemlja, Voda).
- Določa osnovno prehodnost (Voda = neprehodno).
- 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)
- Input: Preberi vnose.
- Logic: Premakni entitete, preveri kolizije (hitboxi).
- Sorting:
depthSortSprites()poskrbi za pravilno risanje. - 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.