Feature/Camera and Large Map #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "Feature/Camera-and-Large-Map"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Camera System and Large Map Implementation
Overview
This PR implements a comprehensive camera system with smooth player tracking and expands the game world from a small arena to a large explorable map. Additionally, it enhances the stealth system with form-specific mechanics and fixes several rendering and gameplay issues.
Major Features
Camera System
Large Map System
loadDesignedLevel()function that generates a 200x150 tile map (3200x2400 pixels)Enhanced Stealth System
Technical Changes
New Files
src/components/Camera.ts: Camera component for viewport managementsrc/systems/CameraSystem.ts: System for camera movement and player trackingsrc/core/ColorSampler.ts: Utility for sampling background colors for stealth camouflageModified Files
src/core/LevelLoader.ts: AddedloadDesignedLevel()for large map generationsrc/core/Constants.ts: AddedCAMERAto ComponentType and SystemName enumssrc/core/Engine.ts: Updated to use new large map generatorsrc/components/Stealth.ts: Enhanced with camouflage color, size multiplier, and form appearance propertiessrc/systems/StealthSystem.ts: Implemented form-specific stealth logic with color samplingsrc/systems/RenderSystem.ts:src/systems/InputSystem.ts: Updated mouse position to convert screen coordinates to world coordinates using camerasrc/systems/MovementSystem.ts: Updated boundary checks to use map bounds instead of canvas boundssrc/systems/ProjectileSystem.ts: Fixed boundary checks to use map bounds for proper projectile lifetimesrc/main.ts:eslint.config.js: Added eslint-config-prettier to resolve formatting conflictsBug Fixes
Performance Improvements
Configuration
Testing Notes