152 lines
4.1 KiB
Plaintext
152 lines
4.1 KiB
Plaintext
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
|
|
}
|