Currently supported: - size, color, temperature, mass - liquid, solid, is_gas states - conductivity (heat transfer maybe) - friction, viscosity (movement i think) - pressure (basic pressure calculations maybe) - melt/solidify temperatures and states - (except steam it used to go back to water ) - freeze/evaporate temperatures and states (yes) - flamability (fire spread maybe) - burning (basic fire behavior last i checked) - melting (melting/freezing yes) Missing Implementation: - durability (need to be implemented in progress) - explosion_radius - explosion_force - explosion_duration - explosion_color - pressure_resistance - pressure_tolerance - pressure_threshold_duration - burn_intensity - burn_rate - burn_rate_multiplier - burn_color changes
Falling Sand Simulation Concept in Python
mostly a concept in python for falling sand simulation i guess the goal is to make a python version of the powder toy which is a falling sand sim the code is not finished yet, but i will update it as i go.
Main Features
-
Particle Physics
- Gravity and wind effects
- Temperature dynamics
- State transitions (melting, freezing, evaporation)
-
Particle Interactions
- Collision detection
- Chemical reactions (e.g., water + sand = mud)
- Heat transfer between particles
-
Special Effects
- Fire propagation sorta
- Smoke generation
- Liquid spreading
-
Optimization Features
- Spatial partitioning grid
- Dormant particle tracking
- Batch processing
- Static User Interface
Current Features
| Working | Partial | Not Working/Implemented |
|---|---|---|
| Gravity | Gas | Zoom |
| Liquid/Solid | Liquid | Pause |
| Particle Data | Fire/Flame | Pressure |
| Brush Sizes | Particle Basic Interactions | explosiveness |
| Debugging Info | Particle Heat interactions | conductiveness |
| Menus and Buttons | Ambient Heat | |
| Wind | ||
| Core Physics and Interactions | ||
| Core Rendering System |
Controls
| Key | Action |
|---|---|
| Z | Zoom window |
| ESC | Exit Program |
| C | Clear Screen |
| Space | Pause Simulation |
| Mouse 1 {Left} | Spawn Particle with brush size |
| Mouse 3 {Right} | Erase Particles at cursor |
| Mouse 2 {Middle} | Spawn Particle at cursor |
| Mouse Wheel Up/Down | Change Brush size |
Description
Languages
Python
100%