2.7 KiB
2.7 KiB
Changelog
Latest Update - Box Physics & Combat System
✨ New Features
1. Z-Axis Physics for Boxes
- Boxes now fly in realistic arcs when thrown (just like players)
- Added
position_z,velocity_z,gravity_zsimulation - Visual feedback with sprite offset and scaling based on height
- Smooth landing animation with squash-and-stretch effect
2. Dynamic Shadow System
- Added shadow sprites to both players and boxes
- Shadows scale down and fade as objects get higher
- Real-time shadow updates based on Z-position
- Helps visualize height in the 2D top-down view
3. Box Breaking Mechanic
- Boxes shatter into 4 smaller pieces on impact
- Pieces fly outward in random directions
- Fade out animation before disappearing
- Triggered when hitting players or other boxes mid-air
4. Combat System
- Players take 10 damage when hit by thrown boxes
- Knockback effect pushes players away from impact
- Flash red visual feedback on damage
- Health system with respawn at origin on death
- Damage synced across network
5. Mid-Air Collision Detection
- Boxes detect collisions while airborne
- Separate handling for player vs box collisions
- Chain reactions: thrown box breaks target box too
- Network-synchronized breaking effects
🔧 Technical Improvements
CharacterBody2D Migration
- Converted boxes from RigidBody2D to CharacterBody2D
- Deterministic physics for better network sync
- Direct velocity control instead of forces/impulses
- Eliminated non-deterministic physics simulation issues
Helper Functions
- Added
_is_box()and_is_player()helper functions - Simplified collision detection logic
- Easier to maintain and extend
Network Synchronization
- Added
_sync_damage()RPC for player damage - All breaking effects visible on all clients
- Proper authority checks for damage dealing
🎨 Visual Enhancements
- Shadow sprites with dynamic opacity
- Height-based sprite scaling
- Landing squash-and-stretch animation
- Breaking particle effects
📝 Documentation Updates
- Updated README with new features
- Added combat system details
- Documented box breaking mechanics
- Updated interaction system description
Previous Updates
Multiplayer Foundation
- Host/Join system with ENet
- Local + Online multiplayer support
- Command-line arguments (
--host,--join) - Player synchronization
Interaction System
- Tap vs Hold grab mechanics
- Lift, push, pull, throw
- Player-on-player interactions
- Smart placement system
- Z-axis simulation for thrown players
Network Improvements
- Fixed player spawning on clients
- Proper authority management
- RPC synchronization for all interactions
- Collision state syncing