April 23, 2019
Most goods in Project Exo, whether it's food and clothing, construction equipment, ship modules, launch systems, or even entertainment, have to be produced in an ERMA chain. ERMA refers to Extraction, Refining, Manufacturing, and Assembly. Each step in the ERMA chain is generally performed by a separate organization dedicated to that task. Not all products must follow the ERMA chain exactly; it is only meant to be a general model for understanding EM's production chain system.
Simple goods like food, for example, may only require an Extraction step (being grown by a farming company) and a Refining step (being sent to a processing plant) before being delivered to its end consumer. A far more complex product like an interplanetary freighter would have to have all of its numerous raw materials extracted and refined, sent to multiple manufacturing plants for construction of its separate modules, and finally have those separate modules assembled at an assembly plant (likely in orbit, in this example).
Extraction is the base level of any production chain. It usually comes in the form of extracting raw materials (for example: steel, copper, aluminum, gases, and oil), though it also encompasses the base levels of other production chains, such as the harvest the food.
Refining is the processing step of the chain; it encompasses any process necessary to turn raw materials into usable refined materials. It is the final step for the most basic products, like food.
Manufacturing is the step of the chain that takes in refined materials and turns them into useful products. This is typically the last step for less complex products that require no dedicated assembly plant, such as firearms, clothes and mining equipment. Other products, such as tank turrets, rocket engines and tires will go on to a final assembly step.
Assembly is the last step of the production chain for the most complex products like personal vehicles, interplanetary vessels and heavy construction equipment. An assembly plant takes in manufactured products and outputs an assembled final product. It can often take place in orbit for large spacefaring vessels that aren't intended to go to the surface.
If a certain good is produced in excess of its collective demand, it may be sent to a Storage Facility. Storage Facilities serve as an existing source for that product before it's determined that more of the product needs to be made. It is possible for individual storage facilities to be destroyed or captured by hostile forces. In addition to product storage, the overarching storage system is also used to maintain supply reserves for individual consumers units, as their reserves are essentially treated like storage facilities according to their capacity. Storage facilities and supply reserves are able to have a Minimum Count, which automatically requests more of a certain product if its count falls below the minimum.
Each step in the ERMA chain, including final delivery to storage or the end consumer, requires transportation to move products between facilities. Logistics is managed almost entirely by the simulation, though the player has high level control over certain decisions like what Sources and Recipients are of higher or lower priority.
Transportation costs (both monetary and temporal) factor in to the overall cost and time required to produce and deliver an end product, and transportation costs themselves vary based on a number of factors, such as fuel usage, transit time, ship initial and maintenance costs (to make it profitable for the shipping company), and any in-transit operational costs (refrigeration for perishable food, for example).
The Logistics system will utilize a Node system to calculate the optimal shipping route for a cargo item. For example, to get a container of Clothes from a facility on Earth to a colony on Titan, a shipping route might look like the following:
1.) After being manufactured by Deng Clothes Mfg. in Hong Kong City (a POI)...
2.) Travel from Hong Kong City to Hainan Spaceport (another POI) by Rail
3.) Launch from Hainan Spaceport to Southeast Asia Orbital in Low Earth Orbit by Re-usable Booster
4.) Transfer from Southeast Asia Orbital to Ceres Orbital Outpost by Interplanetary Freighter
5.) Transfer from Ceres Orbital Outpost to Mao Station in Low Titan Orbit by Interplanetary Freighter
6.) Shuttle from Mao Station Titan to final destination Qing Colony by Surface Shuttle
All modes of transportation (rail, STO booster, freighter, shuttle) maintain a regular schedule, as in real world transportation systems, that the system must take into account when calculating a shipping route.
One high level aspect of the logistics simulation the player has control over is setting higher or lower source and recipient priorities for each cargo type. The system will default to sending cargo where there is highest demand for it, but if the player wishes to, for example, assign a certain fleet to be the highest priority recipient of a certain type of munitions, they can do so and the system will always ensure that fleet's munition needs are met first and foremost.
The entire Production & Logistics system hinges on the existence of a dynamic supply and demand system. Metrics of supply and demand will determine what needs to be produced and where that product needs to go.
Consider a scenario where the player orders the construction of 10,000 of a certain missile (we'll call it the CHARLIE-5). The player sets the order for 10,000 CHARLIE-5s to be delivered to a Weapons Storage Facility in New Hope Colony, Mars. Let's consider both a scenario where a CHARLIE-5 production chain already exists and one where it does not.
If a production chain for CHARLIE-5s already exists, the system will simply continue to use that production chain and add a new Demand for 10,000 CHARLIE-5s to the Weapons Storage Facility. The system first attempts to find existing stores of CHARLIE-5s where the number in that store is greater than its Minimum Count. If no store can be located, it adds a new Demand for 10,000 CHARLIE-5s to the nearest existing Assembly plant. Now that the Assembly plant has the demand, it can determine what it needs to meet that demand. It determines for a CHARLIE-5, "I need an Engine module, a Fuel Tank module, a Guidance module, and an Explosive module." The system then searches for a store or a supplier for each of these modules, and once a source is found, it communicates that demand to the supplier. For this example, let's follow the Engine module. The Engine Manufacturing Plant now has a Demand for 10,000 Engines. It determines "I need 10,000 units of steel and 20,000 units of copper," and searches for stores and suppliers that can meet that demand. Once a source is found, the demand is communicated to that supplier. The Steel Refinery Plant now has a demand for 10,000 units of steel. The Refinery transfers this demand to the Steel Extraction Company, which now has a new demand for 10,000 units of unrefined steel. Since this is the base of the production chain, it spends time extracting unrefined steel to meet that demand, and the new steel supply is sent up to the Refinery, which then turns it into refined steel and sends that supply to the Engine Manufacturer, which then turns it into an Engine module and sends it to the CHARLIE-5 Assembly Plant, which then produces the final product and ships it to the Weapons Storage Facility to meet its original demand.
If no production chain for the CHARLIE-5 yet exists, the player has a couple of options. Upon giving the command to create an entirely new production chain, the game will try to automatically determine what the best production chain would look like, taking into account things like existing vacant factory availability and transportation costs. Once this production chain has been generated, the player can inspect the chain in a Production Chain Viewer interface, inspecting each facility in the chain one by one, choosing whether to use a vacant factory, retool an existing active factory, or construct an entirely new factory for each step in the process. Once the production chain has been set, it runs through the same process as in the first example, where a production chain already existed.