🎮 Player Update
⸻ The Woodcutter Sawmill is Live!
Our first complex building is here! Build production directly into your logistics routes.
- 2x1 structure
- Includes its own built-in road
- Can be placed directly into your road network
⸻ Smart Logistics & Auto Loading
Trucks are now much smarter. Fully automated pickup system!
- Stop automatically when resources are ready
- Wait while loading
- Leave when full OR when the building is empty
⸻ Universal Resource System
Faster development + better performance.
- Resources completely reworked to use a modular "Data Card" system
- Easy to add new resources (Iron, Stone, Gold, etc.)
- All buildings use the same backend logic
⸻ Precision Site Clearing
Clean land every time.
- Bulldozing is now clean and reliable
- Multi-tile buildings are fully removed in one click
- No leftover tiles, no blocked paths
⸻ Growth & Levels
Bigger factories, better efficiency. Your industry now scales with you.
- Buildings can level up: Faster production, more storage
- Trucks can be upgraded: Higher capacity, more efficient hauling
⚙️ Technical Dev Log: The Logistics Engine
Status: Phase 1 (Automation Core)
Architecture: Modular / Data-Driven
⸻ Multidimensional Grid Architecture
- Compound Footprints: Added support for non-square buildings (Woodcutter = 2x1 footprint). 1 tile = Road (Infrastructure), 1 tile = Production (Building).
- Rotation System: Offset based on Facing enum so buildings rotate correctly around the road pivot. Facing Offsets: Up → (1, 0), Right → (0, -1)
- Multi-Tile Occupancy:
GridManagernow supports buildings using multiple Vector2Int positions. Demolition uses a reference scan to remove ALL tiles linked to a building ensuring clean removal (no ghost tiles).
⸻ Modular Resource Framework
- ScriptableObject System:
ResourceDatadefines Name, Icon, and Value.ResourceProducernow acts as a universal system (no hardcoding). - Production Scaling: Level-based scaling added where speed and storage increase per level.
⸻ Automated Logistics Controller
- State-Based Movement: Added
isLoadingstate to trucks, acting like a "handbrake" when inside production zones. - Gradual Resource Transfer: Switched from instant transfer (
OnTriggerEnter) to timed transfer (OnTriggerStay). Uses transfer rate system (1 / Rate) to move items one-by-one usingTime.deltaTime. Creates smoother, more realistic loading behaviour.