OrbitalWar - ProkopHapala/SimpleSimulationEngine GitHub Wiki

Problems to solve

Ship Building

  • Lua Scripting - loading ship desings from Lua scripts.
  • Component system
    • Workshop to store all availabe material and components
  • Editor GUI
    • Editor Gizmo
  • Mass and material consumption
    • Cut the shit into fintite elements made of particular materials. Calculate the density.

Truss Dynamics

Damage Model

  • Probability of impact of various modules by projectiles
    • project projectiles on a plane. Store position of modules in a set of grid-points (to check co-location with the projecties)
    • sort modules (as 1D intervals) to check which will be hit first

Interaction with radiation

  • X-ray & Neutron Scattering from nuclear engine (nuclear reactor, nuclear pulse capsule), or from other sources (e.g. enemy fire)
  • Thermal Radiation Scattering from radiators, from sun or from enemy nuclear bombs
    • Diffuse reflection (Radiosity)
    • Specular reflection

Magnetic field and plasma dynamics

  • Coupling magnetic field with truss dynamics for tensegrity ship designs (Medusa-like)
  • Magnetic forces acting on conductors
    • Plasma nozzle for nuclear pulse propulsion
    • Magnetic confinement chamber for magnetic fusion propulsion
  • Voltage generated on metallic components by movement in magnetic field
  • Magetic Pulse Plasma Nozzle Solver - Pulse Plasma Nozzle to shield and direct expanding plasma from nuclear pulse (e.g. for inertial nuclear fusion propulsion)
    • we can assume that speed of plasma expansion is much faster than decay of magnetic field (i.e. decay of current) in the coils and wires. Therefore total magnetic field and total current is preserved. Current is iduced in wires and coils to compensate field pushed out by expanding plasma.

Orbit simulations

Stand alone programs:

  • SolarSystemMap.cpp - Map od solar systems with many asteroides obtained from asteroid database (including realistic orbits and velocities)
  • spaceCraftEditor.cpp - editor of an spacecraft which can be loaded from lua script.
  • spaceCraftDynamics.cpp - Simulates dynamics of spacecraft (e.g. when it is rotating or conducting other inner-manuevers)
  • spaceTactics.cpp - Example of using the engine to simulate a simple tactical situation where one spacecraft intercept other spacecraft around jupiter moons

Technical tests / sketches:

Modules:

  • SpaceCraft.h - Defines constrcution of spacecraft from components (girders, ropes, guns, sails, heat-shieds, fuel tanks etc. )
  • SpaceCraftDraw.h - Draws spacecraft made of individual components.
  • SpaceDraw.h - Draw utilities for things like trajectries or planets usefull for space simulations.
  • SpaceWorld.h - Space Simulation world with all relevant objects.
  • SpaceBodies.h - Utilities for simulation of planets and other objects orbiting in solar system.
  • RublePile.h - Generate and store structure of an astoriede in space.
  • Asteroid.h - Class for reading asteroid properties from astorb database.
  • asteroidEngineering.h - Class to manipulate and store state of modified asteroides during colonization.
  • spaceCombat.h - class to simulate space combat. e.g. calculate performance of various guns, impact effects etc.