Galaxy Space Flight
Make a three.js game/app that generates a fully 3D, procedurally generated SOLAR SYSTEM you can explore end-to-end: fly a spaceship through space, land on different planets, exit the ship and walk around in first-person, re-enter the ship, take off, and travel to other planets...
Make a three.js game/app that generates a fully 3D, procedurally generated SOLAR SYSTEM you can explore end-to-end: fly a spaceship through space, land on different planets, exit the ship and walk around in first-person, re-enter the ship, take off, and travel to other planets. Solar system: - Procedurally generate a star at the center and multiple planets (e.g., 5–10), each with: - Unique size and look - Different terrain style parameters (roughness, mountain frequency, ocean level, temperature/moisture profiles) - Optional moons for some planets (procedurally generated as well) - Planets should orbit the star smoothly. - Space should feel large: planets are separated by big distances, but navigation should remain playable. Spaceship gameplay (space flight): - You control a spaceship in 3D space: - Mouse-look to aim/turn + WASD thrust/strafe (or similar) - Show a minimal HUD: speed, altitude above nearest body, and current target planet name/distance. - The ship must not be able to clip into planets. Hyperdrive: - Holding Shift while in SPACE (not in atmosphere) charges a hyperdrive. - After holding Shift for a few seconds continuously, the ship enters hyperdrive: - Greatly increases travel speed toward the current travel direction (or selected target planet) - Add a simple visual cue (star streaks, subtle warp effect, etc.) - Hyperdrive restrictions: - Cannot be activated when inside a planet’s atmosphere (define atmosphere as below a set altitude threshold). - If the ship enters atmosphere, hyperdrive immediately disengages. Atmosphere / re-entry / landing: - Each planet has an atmosphere threshold altitude. - Landing: - Allow landing anywhere reasonably flat (or use a simple landing assist). - Detect ground contact and switch ship state to “landed”. On-foot gameplay (first person): - When the ship is landed, you can exit the ship and switch to a first-person character controller: - WASD + mouse-look, jump, gravity, ground collision - The character must not be able to clip through terrain and should walk naturally on a spherical planet. - Allow returning to the ship when close to it (press E / interact) to re-enter and switch back to ship controls. - Taking off: - From “landed”, a takeoff control lifts the ship upward, then transitions back to atmosphere flight. Procedural planets (terrain + LOD): - Every planet uses procedural spherical terrain: - Height variation (mountains/hills/plains), plus an ocean level with visible water - Biomes based on latitude, altitude, and moisture (desert/grassland/forest/tundra/snow etc.) - Shorelines/beaches where land meets ocean - Optional vegetation (trees) in biome-appropriate regions with natural density variation - Use a level-of-detail system per planet so it stays performant: - From far away: low-detail sphere - As you approach: higher-detail patches/tiles only around the camera/player - Must be seamless, with no obvious popping or cracks - Terrain detail increases smoothly down to ground-level exploration - Vegetation and small details should fade out with distance/LOD. Atmosphere & clouds: - Add an atmosphere effect around each planet (thin scattering-style rim is fine). - Add a cloud layer for planets that have clouds: - Wraps the planet and is animated (slowly moving/rotating) - Visible both from space and near the surface Everything should be procedurally generated (no external assets required). Keep visuals simple but coherent and stable across space flight, landing, and on-foot exploration.