123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- Systems: routine that needs to be regularly called
- Collections: lists of components that go together to make an entity
- Components: data pieces
- Entities: objects (label for a specific group of components)
-
- Systems
- - orbit: update positions? no because we aren't storing positions
- these only need to be checked for individual calculations or display
- - render: what are we focused on right now, data can be cached here
- - 'structure view': looks at factory, mine, etc; multiple components
-
- Components
- - orbit: parent_id, radius, offset
- - L4/L5 will just be their own entities with orbit data matching
- - position: system, x, y (ships not in orbit)
- - body: mass, radius
- - factory: capacity, pollution?
- - mine: capacity, pollution?
- -
-
- body = {
- hydrosphere: {} -- pollutants, volume % (relative to planet surface)
- atmosphere: {} -- volume, pressure, contents
- -- manufactoring, refining, etc -> introduces pollutants into hydrosphere and atmosphere
- populations: {
- {
- resources: {
- fuel: #
- reactives: # -- jump drives, engines, research, life support
- radioactives: # -- fuel, heavy armor, kinetic weapons, sensors
- alloys: # -- structure
- crystals: # -- shields, stealth, ecm/eccm, energy weapons
- silicates: # -- electronics, capacitors, energy weapons
- -- halogens: #
- }
- structures: {
- 'fuel refinery': #
- -- 'type-strength OR type-value': #
- -- {type: 'name', value: #, cost: #, etc} ? -- actual list
- }
- }
- }
- minerals: ?
- }
-
- modules = {
- factory: {
- surface: true
- capacity: 10 -- research ++
- pollution: {} -- research --
- cost: { -- research --
- alloys: 20
- silicates: 2
- }
- }
- mine: {
- surface: true
- capacity: 10 -- research ++
- pollution: {} -- research --
- cost: { -- research ==
- alloys: 40
- silicates: 6
- reactives: 2
- }
- }
- 'fuel refinery': {
- surface: true
- -- orbit: true -- research
- capacity: 100 -- research ++
- pollution: {} -- research --
- cost: { -- research --
- alloys: 120
- reactives: 20
- crystals: 10
- }
- }
- 'mass driver': {
- surface: true
- capacity: 2000 -- research ++
- pollution: {} -- research --
- cost: { -- research --
- alloys: 250
- reactives: 120
- radioactives: 20
- silicates: 10
- }
- }
- shipyard: {
- orbit: true
- capacity: 1000
- cost: { -- research --
- alloys: 2200
- reactives: 180
- radioactives: 80
- silicates: 200
- }
- }
-
- -- research tech: shuttle range
- -- - salvage facility
- -- - orbital hab
- -- - hanger
- -- - maintenance facility
- -- - gas harvester
- -- - geo
- -- - terraforming
- -- - geo survey sensors
- -- - infrastructure
- -- - sensors
- -- - grav survey sensors
- -- - em sensors
- -- - thermal sensors
- -- - active sensors vs passive sensors
- -- - all sensors can provide tracking and targeting
- -- - bridge
- -- - research
- -- - chemical/physics/genetic/biology/xenology lab
- -- - university
- -- - ship
- -- - design considerations
- -- - deployment time adjusts how much mass is needed per crew
- -- - components designate required crew
- -- - armor area / structural hull requirements
- -- - speed, power use/requirement
- -- - build time, load time, mineral requirement
- -- - signature (th by engines, em by shielding/equipment)
- -- - maintenance life, estimated failure rate
- -- - damage allocation
- -- - em damage, shock damage
- -- - idea: based on volume, min distance before ships collide?
- -- - crew quarters
- -- - engineering section
- -- - main engineering
- -- - engines
- -- - jump drive
- -- - combat drop pods
- -- - tractor
- -- - cargo
- -- - fuel storage
- -- - supplies bay
- -- - shuttle bay (actually just hangers)
- -- - cargo hold
- -- - cryogenic transport
- -- - power plants
- -- - kinetic weapons
- -- - launcher
- -- - magazine
- -- - defense
- -- - armor
- -- - damage control
- }
|