Every Star is Alive
Genre: Physics puzzle · Micro-action · Minimal arcade
Hook: One-finger control with readable, tangible gravity.
Instant feedback loop: Approach → capture → becomes an orbital ally → score. Moving hazards and a portal create a tight collect → exit loop.
Overview
This game is about — steer a living star with your mouse, harness gravity to capture wandering micro-stars into your orbit, dodge moving hazards, and step through the portal once you’ve met the score goal.
- Core loop: Scout the scene → slow in & capture stars → grow your orbit & score → reach the quota → enter the portal → next level.
- Platform: PC (Unity 2D).
- Audience: Players who enjoy physical feedback, light strategy, and short-session challenges.
flowchart TD A[Scout the scene] –> B[Approach a star] B –> C{Capture?} C –>|Yes| D[Becomes orbital ally] C –>|No| B D –> E[Orbit grows & score+1] E –> F{Quota met?} F –>|Yes| G[Enter Portal -> Next Level] F –>|No| A
Download & Trailer
- ▶️ Trailer: https://www.youtube.com/watch?v=_t_BWbHAO74
- 🎮 Play / Download: https://geraaer.itch.io/everystar-is-alive
Physics & Gravity (System You Can Feel)
Gravity sources:
- Player (controllable star): has mass and a circular interaction radius (capture zone).
- Captor (scene gravity body): static source with its own interaction radius.
- Affected bodies: Star (free-flying micro-stars).
Gravity model: For each gravity source, apply acceleration with an inverse-square falloff; integrate velocity with clamping by maxVelocity.
- Accumulate contributions from all active sources each frame.
- Position clamp inside screen; damping on player acceleration to keep motion readable.
- Orbiting satellites space out using orbitSpacing; angular speed tuned for circular readability.
Controls (Simple & Intuitive)
- Mouse move: The player star accelerates toward the cursor with capped speed and soft damping; position is clamped inside the screen.
- Hotkeys:
- R — Restart the current level (resets time scale).
- N — Skip to next level (debug/demo).
- K / L — Toggle mouse cursor visibility (presentation or immersion).
Gameplay & Mechanics
Orbiting
- On capture, a star becomes a satellite: enable trail, switch collider to trigger, and add score.
- Assign an orbit radius; multiple satellites auto-space via orbitSpacing.
Capture test
- When a Star enters a source’s interaction radius and its relative speed/heading indicates it cannot escape (escape-speed and direction thresholds), it becomes that source’s satellite.
flowchart TD S[Star enters interaction radius] –> V{Relative speed < v_escape?} V –>|Yes| H{Heading within capture cone?} V –>|No| R[Deflect / continue free-fly] H –>|Yes| O[Assign orbit radius & phase] H –>|No| R O –> T[Enable trail, set trigger collider] T –> P[Score +1; add to satellites list]
Level & Difficulty Design
Building Blocks
- Terrain/Hazards: Barriers moving back-and-forth between endpoints; speed and path editable.
- Goals:
TotalScore(exit threshold), placement of Pickups, number and initial speed range of Stars. - Risk knobs: Screen-edge bounces (with damping), hazard collisions, multi-source gravity tug-of-war.
- Exit: Portal.
Scoring, Win/Loss, Objectives
- Scoring: Pickups convert into orbiting companions around the player by dynamically adding
OrbitAroundTarget; grants Score+1 with immediate visual feedback. Stars captured by the player also score via LevelManager (per level rules). - Win: Enter the Portal when
Score ≥ totalScore; play win SFX, pause time, and show WinTip. - Loss: Colliding Player or Star with Barriers triggers a sprite-based explosion, pauses time, shows LoseTip, and plays the fail SFX.
Intermediate: Add one or two Captor sources and asynchronous moving Barriers; players must time entries during favorable relative-velocity windows.
Challenge: Faster Stars, narrow corridors of Barriers, and angled Portal placement; emphasizes pacing and route planning.

Game Scene
UI / UX Design
- VFX:
LevelManager.Explode()plays a multi-frame explosion on the Effect sorting layer. - Audio:
- BGM: started via Game Manager / Audio Manager.
- SFX:
PlayWinSound()/PlayLoseSound(); add a light capture SFX for clarity.
- Style: Minimal sci-fi; geometric shapes with neon trails.
BG.csloops background sprites as a slow parallax-like frame cycle.

Game Scene
Gallery

Game Scene

Game Scene

Game Scene

Game Scene
