A space-physics sandbox game built with LÖVE2D using the Lovemachine ECS framework.
Satellite is an experimental project focused on:
- Physics-driven movement\
- Orbital mechanics\
- Modular ECS-based architecture\
- Weapon systems and AI behaviors
- Lua
- LÖVE2D
- Lovemachine (ECS framework)
git clone git@github.com:nclarke-development-studio/Satellite.git
cd SatelliteWith lovemachine submodule:
git clone --recurse-submodules -j8 git@github.com:nclarke-development-studio/Satellite.git
cd SatelliteSatellite expects the Lovemachine repository to be available inside:
Satellite/includes/lovemachine
During development, create a symbolic link to your Lovemachine repo.
mklink /d "<absolute path>\Satellite\includes\lovemachine" "<absolute path>\lovemachine"Example:
mklink /d "C:\dev\Satellite\includes\lovemachine" "C:\dev\lovemachine"ln -s /absolute/path/to/lovemachine Satellite/includes/lovemachineMake sure LÖVE2D is installed, then:
love .Or drag the project folder onto the LÖVE executable.
- Camera parallax (integrated with current camera system)
- Path System
PathComponent+Body/Rigidbody\- Time-based trajectory functions\
- Predictive trajectory rendering
- Fixed-size point queue\
- Time-step sampling\
- Lock-on & Tracking Missiles
- Spatial query volume\
- Rotational force guidance system\
- Planetary slingshot mechanics\
- Dynamic camera zoom\
- World bounds / wrapping logic
- Controller input + WASD configuration
(Evaluate TLbind: https://love2d.org/wiki/TLbind) - Shader-based visual style\
- ASCII map creator
- Configurable scale + wrapping\
- Optional minimap rendering\
- UI layer\
- Local network multiplayer
(Investigate lua-enet / how2love networking section)
- Ambient / ethereal background music\
- Expanded SFX system
[bbbbbbbbb]
[b o xb]
[b * b]
[b x O b]
[bx b]
[bbbbbbbbb]
- Buffered world edges\
- Invisible bounds vs camera lock\
- Screen wrapping experimentation