Skip to content

nclarke-development-studio/Satellite

Repository files navigation

Satellite

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

Tech Stack

  • Lua
  • LÖVE2D
  • Lovemachine (ECS framework)

Installation

1. Clone the repository

git clone git@github.com:nclarke-development-studio/Satellite.git
cd Satellite

With lovemachine submodule:

git clone --recurse-submodules -j8 git@github.com:nclarke-development-studio/Satellite.git
cd Satellite

2a. Link Lovemachine (Development Setup, no submodule)

Satellite expects the Lovemachine repository to be available inside:

Satellite/includes/lovemachine

During development, create a symbolic link to your Lovemachine repo.

Windows (Command Prompt, Admin)

mklink /d "<absolute path>\Satellite\includes\lovemachine" "<absolute path>\lovemachine"

Example:

mklink /d "C:\dev\Satellite\includes\lovemachine" "C:\dev\lovemachine"

macOS / Linux

ln -s /absolute/path/to/lovemachine Satellite/includes/lovemachine

Running

Make sure LÖVE2D is installed, then:

love .

Or drag the project folder onto the LÖVE executable.


Roadmap

Gameplay

  • 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

Systems & Engine Features

  • 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)

Audio

  • Ambient / ethereal background music\
  • Expanded SFX system

Future Ideas

Example Map Layout

[bbbbbbbbb]
[b  o   xb]
[b *     b]
[b   x O b]
[bx      b]
[bbbbbbbbb]
  • Buffered world edges\
  • Invisible bounds vs camera lock\
  • Screen wrapping experimentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages