Stan44 d05e64839f - gravity and physics are the same thing now.
- __init__.py added to all folders
- preparing docs
- .gitignore updated
- .vscode/settings.json updated
- mypy.ini updated
- pyproject.toml updated
- plansandideas/Coding optimization plan.md added
- plansandideas/REORGANIZATION.md added
- scripts/lint.py added
- scripts/setup_dev.py added
- requirements-dev.txt added
- and more.
2025-01-05 03:35:17 -06:00
2024-12-26 05:02:16 -06:00

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 (maybe on the wind zones)
    • Temperature dynamics
    • State transitions (melting, freezing, evaporation)
  • Particle Interactions

    • Collision detection
    • Chemical reactions (e.g., water + sand = wet sand, Lava + lower temperature = molten rock = rock)
    • Heat transfer between particles (e.g., Things seem to cool off as for heating up that's a different thing)
  • Special Effects

    • Fire propagation sorta
    • Smoke generation
    • Liquid spreading (Could be improved )
  • Optimization Features

    • Spatial partitioning grid (to reduce calculations)
    • Dormant particle tracking (to reduce unnecessary calculations)
    • Batch processing (to reduce unnecessary calculations)
    • Static User Interface (to reduce unnecessary calculations)

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
Project name is a place holder. Sand, sand everywhere even the water is sand!
Readme 804 KiB
Languages
Python 100%