Another attempt at a clone based on Aurora

ecs notes 1.txt 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. Systems: routine that needs to be regularly called
  2. Collections: lists of components that go together to make an entity
  3. Components: data pieces
  4. Entities: objects (label for a specific group of components)
  5. Systems
  6. - orbit: update positions? no because we aren't storing positions
  7. these only need to be checked for individual calculations or display
  8. - render: what are we focused on right now, data can be cached here
  9. - 'structure view': looks at factory, mine, etc; multiple components
  10. Components
  11. - orbit: parent_id, radius, offset
  12. - L4/L5 will just be their own entities with orbit data matching
  13. - position: system, x, y (ships not in orbit)
  14. - body: mass, radius
  15. - factory: capacity, pollution?
  16. - mine: capacity, pollution?
  17. -
  18. body = {
  19. hydrosphere: {} -- pollutants, volume % (relative to planet surface)
  20. atmosphere: {} -- volume, pressure, contents
  21. -- manufactoring, refining, etc -> introduces pollutants into hydrosphere and atmosphere
  22. populations: {
  23. {
  24. resources: {
  25. fuel: #
  26. reactives: # -- jump drives, engines, research, life support
  27. radioactives: # -- fuel, heavy armor, kinetic weapons, sensors
  28. alloys: # -- structure
  29. crystals: # -- shields, stealth, ecm/eccm, energy weapons
  30. silicates: # -- electronics, capacitors, energy weapons
  31. -- halogens: #
  32. }
  33. structures: {
  34. 'fuel refinery': #
  35. -- 'type-strength OR type-value': #
  36. -- {type: 'name', value: #, cost: #, etc} ? -- actual list
  37. }
  38. }
  39. }
  40. minerals: ?
  41. }
  42. modules = {
  43. factory: {
  44. surface: true
  45. capacity: 10 -- research ++
  46. pollution: {} -- research --
  47. cost: { -- research --
  48. alloys: 20
  49. silicates: 2
  50. }
  51. }
  52. mine: {
  53. surface: true
  54. capacity: 10 -- research ++
  55. pollution: {} -- research --
  56. cost: { -- research ==
  57. alloys: 40
  58. silicates: 6
  59. reactives: 2
  60. }
  61. }
  62. 'fuel refinery': {
  63. surface: true
  64. -- orbit: true -- research
  65. capacity: 100 -- research ++
  66. pollution: {} -- research --
  67. cost: { -- research --
  68. alloys: 120
  69. reactives: 20
  70. crystals: 10
  71. }
  72. }
  73. 'mass driver': {
  74. surface: true
  75. capacity: 2000 -- research ++
  76. pollution: {} -- research --
  77. cost: { -- research --
  78. alloys: 250
  79. reactives: 120
  80. radioactives: 20
  81. silicates: 10
  82. }
  83. }
  84. shipyard: {
  85. orbit: true
  86. capacity: 1000
  87. cost: { -- research --
  88. alloys: 2200
  89. reactives: 180
  90. radioactives: 80
  91. silicates: 200
  92. }
  93. }
  94. -- research tech: shuttle range
  95. -- - salvage facility
  96. -- - orbital hab
  97. -- - hanger
  98. -- - maintenance facility
  99. -- - gas harvester
  100. -- - geo
  101. -- - terraforming
  102. -- - geo survey sensors
  103. -- - infrastructure
  104. -- - sensors
  105. -- - grav survey sensors
  106. -- - em sensors
  107. -- - thermal sensors
  108. -- - active sensors vs passive sensors
  109. -- - all sensors can provide tracking and targeting
  110. -- - bridge
  111. -- - research
  112. -- - chemical/physics/genetic/biology/xenology lab
  113. -- - university
  114. -- - ship
  115. -- - design considerations
  116. -- - deployment time adjusts how much mass is needed per crew
  117. -- - components designate required crew
  118. -- - armor area / structural hull requirements
  119. -- - speed, power use/requirement
  120. -- - build time, load time, mineral requirement
  121. -- - signature (th by engines, em by shielding/equipment)
  122. -- - maintenance life, estimated failure rate
  123. -- - damage allocation
  124. -- - em damage, shock damage
  125. -- - idea: based on volume, min distance before ships collide?
  126. -- - crew quarters
  127. -- - engineering section
  128. -- - main engineering
  129. -- - engines
  130. -- - jump drive
  131. -- - combat drop pods
  132. -- - tractor
  133. -- - cargo
  134. -- - fuel storage
  135. -- - supplies bay
  136. -- - shuttle bay (actually just hangers)
  137. -- - cargo hold
  138. -- - cryogenic transport
  139. -- - power plants
  140. -- - kinetic weapons
  141. -- - launcher
  142. -- - magazine
  143. -- - defense
  144. -- - armor
  145. -- - damage control
  146. }