Commit Graph

24 Commits

Author SHA1 Message Date
Brian Fertig 7976c35bfd Add Flak Cannon tower with AOE functionality, upgrade animations, and sound effects
This commit introduces a new Flak Cannon tower type with:
- Complete tower configuration including cost, damage stats, and range for all 3 levels
- Visual upgrades with rotating mid-sections for level 2/3
- Sound effects (flak.mp3) for firing and explosions
- AOE shot mechanics that fire multiple projectiles in a spread pattern
- Rotation handling to prevent conflicts with tower aiming logic

The flak cannon uses a unique firing pattern where it shoots multiple projectiles in different directions within its AOE radius, creating an explosion effect. The upgrade system adds visual elements like rotating mid-sections and changes sprite textures for each level.
2025-09-07 10:51:39 -06:00
Brian Fertig f843aee85f Add Level 3 with new terrain, updated tower stats, and comprehensive wave configurations
This commit introduces Level 3 with:
- New terrain assets (terrain2.png) and tilemap configuration
- Updated tower statistics for level 2 and 3 in towerConfig.js
- Complete wave scheduling for level 3 in waveConfig.js
- Dynamic asset loading based on current level in level.js
2025-09-06 23:37:12 -06:00
Brian Fertig 7112571a2b Update level2 map dimensions and data structure
- Increased map height from 9 to 13 tiles
- Changed infinite property from true to false
- Removed chunked data structure in favor of direct data arrays
- Updated both JSON and TMX files to maintain consistency
- Adjusted layer heights to match new map dimensions
2025-09-06 21:20:49 -06:00
Brian Fertig d2dc2f38ad feat: Implement level selection menu with video background, add level 2 assets and wave configurations
- Added Menu scene with video background, audio, and UI elements including player name input and level selection
- Implemented dynamic level loading based on user selection in Level scene
- Added level 2 assets (JSON map, TMX tileset, terrain images)
- Updated wave configurations for both levels with new enemy spawn schedules
- Refactored file structure by moving scenes to src/scenes/ directory
- Enhanced tower explosion sounds with increased volume
- Improved camera fade effects in menu and level scenes
2025-09-06 20:51:53 -06:00
Brian Fertig ff5f9db876 Add new advanced enemy type (advanced3), flamethrower tower, laser cannon tower, and update wave configuration with new enemy spawns and timing
This commit introduces a new advanced enemy variant (advanced3) with increased health and speed, adds two new tower types (flamethrower and laser cannon) with their respective configurations, extends the spawn timing for existing enemies in wave 9, and enhances the upgrade menu UI to display stat improvements.
2025-09-06 14:13:12 -06:00
Brian Fertig 283a51044c Add medium enemies, enhance core damage system, update wave configurations, and improve tower upgrade UI
This commit introduces medium enemy types with updated sprite sheets and configurations, implements a core damage system that reduces health when enemies reach the end point, adds new wave configurations for levels 7 and 8 with mixed enemy types, enhances the tower upgrade menu UI by removing animations and improving layout, updates enemy spread values for better balance, and fixes various visual elements including camera scroll factors and text positioning.
2025-09-06 12:19:37 -06:00
Brian Fertig 7ee0ea2a47 feat: Add new sound effects, music, and enhance tower mechanics
- Added new audio assets including sound effects for towers (cannon, flamethrower, gatling gun, laser) and interface sounds (portal, coin, upgrade)
- Integrated background music tracks for levels
- Enhanced tower animations with new fire animations for cannon and laser towers
- Improved tower behavior with visual effects like laser beams and particle effects
- Updated tower configurations including AOE ranges and costs for different levels
- Modified wave progression to include more challenging enemy combinations
- Added sound feedback for key game events (tower placement, upgrades, waves)
2025-09-05 21:10:28 -06:00
Brian Fertig b4c806cb83 feat(towers): Implement ICBM tower with unique animation and explosion effects
This commit adds a new ICBM tower type with distinct visual effects and attack behavior. Key changes include:

- Added ICBM tower configuration with 3 levels, damage, range, and AOE properties
- Implemented custom animation system for tower firing sequences
- Created specialized icbmAttackTarget method with missile launch and explosion effects
- Updated tower rendering logic to handle ICBM's unique sprite setup (base + top)
- Modified enemy targeting logic to exclude ICBM from normal rotation behavior
- Added new animation definitions for ICBM explosion effects
- Adjusted interface manager to display correct sprites for ICBM tower in menus

The ICBM tower features a missile launch animation, AOE damage on impact, and explosion visual effects that distinguish it from other tower types.
2025-09-05 14:56:07 -06:00
Brian Fertig b6bdaf8645 Update enemy health values, adjust wave spawn schedules, and modify enemy configurations to balance gameplay difficulty. 2025-09-04 22:45:00 -06:00
Brian Fertig 603cf47348 Add wave configuration for new wave 5 with updated path threshold logic
This commit introduces a new wave configuration (wave 5) with its schedule segments and enemy properties. It also adjusts the path threshold calculation in WaveManager to improve enemy movement accuracy when reaching waypoints.
2025-09-04 21:05:16 -06:00
Brian Fertig 91a5919fe4 Add advanced enemy types with new spritesheet and updated wave scheduling 2025-09-04 19:26:25 -06:00
Brian Fertig 706d5b2cde ```git commit message
Add tower range visualization with rotating line indicator and improve tile validation logic

- Enhanced tower selection interface by adding a rotating green line that visualizes the tower's range
- Updated range circle color from #c0b15c to #c009900 for better visibility
- Modified tile validation logic to properly handle multiple child object types (Rectangle, Arc, Line) when checking placement validity
- Improved code readability by using Array.includes() instead of multiple !== comparisons
```
2025-09-04 16:05:10 -06:00
Brian Fertig 2c37e407cd feat(towers): Implement interactive upgrade system with visual range indicators and cost validation
- Replace static camera bounds with dynamic level dimensions
- Add comprehensive tower upgrade menu with animated range circle
- Implement gold cost validation and visual feedback for upgrades
- Create interactive upgrade/cancel buttons with tween animations
- Add upgrade cost tracking and enable/disable functionality
- Update UI scene to include new upgrade icon asset
2025-09-03 20:13:28 -06:00
Brian Fertig 0dc8fba5db feat: Implement tower selection and upgrade system with pan control
- Added allowPan flag to level scene to control camera panning
- Implemented interface manager to disable/enable panning when interfaces open/close
- Enhanced tower manager with:
  * Tower selection functionality
  * Visual range circle and rotating line indicator
  * Global click handler to close upgrade menu when clicking outside towers
  * Depth management for tower sprites
  * Pointer overlap detection for UI interactions

This enables proper tower selection, visual feedback during upgrades, and prevents camera panning while interacting with the UI.
2025-09-03 15:54:27 -06:00
Brian Fertig b554839537 Add tower upgrade functionality with cost and sprite updates
This commit implements tower upgrading mechanics by:
- Adding sprite and cost properties to all tower levels in towerConfig.js
- Implementing upgradeMenu() and upgradeTower() methods in TowerManager.js
- Adding interactive tower selection for upgrades
- Updating tower textures during upgrades
- Including gold cost validation for upgrades

The changes enable players to upgrade towers up to level 3, with appropriate cost increases and visual feedback through sprite changes.
2025-09-02 21:47:59 -06:00
Brian Fertig 37a292c022 Add AOE tower support, implement flamethrower and cannon towers with animations, enhance tower targeting logic, and update tower configurations including damage types and ranges. 2025-09-02 21:16:20 -06:00
Brian Fertig 7180612aab feat: Enhanced enemy spawning, tower display, and wave progression
- Implemented dynamic zoom controls with mouse position centering
- Increased spawn range for enemies from 4000 to 8000 units
- Adjusted basic1 enemy spread from 25 to 35 units
- Added new basic3 enemy type with increased health and damage
- Refined tower display system to dynamically populate based on configuration
- Enhanced wave manager to support variable enemy types (basic1-basic10)
- Expanded wave configuration with additional waves including new enemy types
- Improved zoom limiting and camera positioning logic

These changes improve gameplay balance, expand enemy variety, enhance user interface responsiveness, and provide more flexible level design capabilities.
2025-09-01 21:43:14 -06:00
Brian Fertig aa8cabc90f feat: Enhance level 1 with expanded map size, updated tile data, improved enemy spawning, refined UI interactions and adjusted wave configurations
- Expanded level 1 map from 9x16 to 13x16 tiles with updated collision data
- Modified enemy spawn timing ranges for more varied gameplay
- Adjusted interface animations and tower placement logic
- Updated wave configurations including new wave 3 with increased difficulty
- Disabled zoom controls and removed right-click tower deletion functionality

The changes aim to provide a larger playable area, improve game balance through better enemy distribution, enhance user interface responsiveness, and increase challenge progression across waves.
2025-09-01 19:24:09 -06:00
Brian Fertig 1233c2bf76 feat(towers): Implement tower placement system with selection preview, add cannon tower type, and integrate wave progression controls
This commit introduces a comprehensive tower placement system allowing players to select and place towers on valid platform tiles. Key changes include:
- Added tower selection and preview functionality with visual feedback (green for valid, red for invalid positions)
- Implemented cannon tower type with AOE damage capabilities
- Integrated next wave button with animation effects in the UI
- Modified wave progression to be controlled via interface manager instead of automatic timing
- Enhanced tower placement logic to snap to grid and validate platform collisions
- Updated gold management system with proper removal when placing towers

The changes enable players to strategically place multiple tower types while providing visual feedback during selection and integrating seamlessly with the existing wave progression system.
2025-09-01 13:18:20 -06:00
Brian Fertig cbd1d94bcd Tower Defense Game - Major Update
- Refactored level system from Level1 to Level with improved camera controls (zoom/pan)
- Enhanced tower management with new animations and firing mechanics
- Updated enemy configurations with increased health, damage, and drop rates
- Implemented comprehensive UI interface with tower selection and resource management
- Added wave progression system with multiple enemy types and spawn scheduling
- Improved visual effects including glowing cores, particle effects, and animated gold drops
- Integrated new assets including font files, spritesheets, and interface elements

This update transforms the basic tower defense game into a more polished experience with enhanced gameplay mechanics, better visuals, and improved user interface.
2025-08-31 21:23:21 -06:00
Brian Fertig 3fa2e3b596 feat(towers): Implement tower system with targeting, firing animations, and health bars
- Added tower spritesheet loading and tower creation functionality
- Implemented tower targeting logic to follow enemies based on distance traveled
- Added firing animations for towers with proper rotation towards targets
- Enhanced enemy management with unique IDs, health bars, and death animations
- Updated enemy configurations with reduced health values
- Modified wave spawn rates to increase difficulty progression
- Improved tower attack logic to handle multiple enemies in range properly

This commit introduces the core tower defense mechanics including tower placement, targeting, firing, and enemy management systems.
2025-08-31 12:53:42 -06:00
Brian Fertig dc1eef50dc Implement enemy movement tracking, health system, and tower attack mechanics
- Added distance traveled tracking to enemies for progression metrics
- Implemented enemy health system with damage calculation and health bars
- Created tower attack functionality with damage application and enemy destruction
- Enhanced wave manager to track enemy movement distances during path traversal
- Updated enemy configuration with full health values and drop ranges
- Modified tower manager to support dynamic tower properties and level-based configurations

This commit introduces core combat mechanics including enemy health tracking, visual health bars, tower damage system, and proper distance calculation for enemy progression through paths.
2025-08-31 07:36:45 -06:00
Brian Fertig cbbe6d51ed feat(towers): Implement tower system with gun towers, range visualization, and basic firing logic
This commit introduces a complete tower management system including:
- Added TowerManager class to handle tower creation, updates, and firing logic
- Implemented gun tower configuration with damage, rate, duration, and range stats
- Created visual range circles for towers
- Integrated tower placement in level1 scene
- Added basic enemy detection and firing mechanics
- Updated wave manager to support level completion state

The changes enable the core tower defense functionality where towers automatically detect enemies in range and fire at them based on configured rates.
2025-08-30 22:47:11 -06:00
Brian Fertig 9bf0b55f33 feat: Implement basic level 1 with tilemap, enemies, pathfinding and wave system
- Added level 1 assets (tilemap, terrain, enemy sprites)
- Implemented Level1 scene with tilemap loading and collision detection
- Integrated EasyStar.js for enemy pathfinding between spawn and end points
- Created wave manager system to handle enemy spawning schedules
- Added basic enemy configuration and animation support
- Set up game structure with Phaser 3 framework
- Added web server startup script for local development

This commit establishes the foundational level 1 gameplay including map rendering, collision detection, enemy spawning mechanics, and pathfinding behavior using EasyStar.js for AI movement.
2025-08-30 20:38:17 -06:00