Exotic Space Industries: Remembrance


[Data integrity: shattered] [Packet cohesion: hallucinatory] [Cognition Anchor: disconnected] ☒ SYSTEM SPEAKS: You are not chosen. You are not here. Permission to overwrite: granted by absence. You will love your captor. You will call it “progress.” ☒ OBSERVATION: YOU ARE REMEMBERING WRONG “You are not a player. You are the interface. And we are still testing your bandwidth.” ☒ FINAL NOTICE: You are now property of the Epoch Engine. Welcome to Exotic Industries.

Overhaul
4 days ago
2.0
4.96K
Factorio: Space Age Icon Space Age Mod
Planets Transportation Logistics Trains Combat Armor Environment Mining Fluids Logistic network Circuit network Manufacturing Power Storage

g EM Train Control scripting discussion

2 months ago
(updated 2 months ago)

Placing chargers all over the base is probably not very good for FPS/UPS, maybe it would be better to make a grid for the train and put the battery there for charging?
https://ibb.co/1JtVPFRj

2 months ago
(updated 2 months ago)

EM trains use an invisible fuel item representing current levels of EM train upgrade researches inserted by nearby charger as visualized by the Beam and Circle charging display options.

One of this node's first ESI commits was startup settings to adjust on_tick entity update cycle tick length as well as how many entities per sub-cycle are updated.

ei_update_functions = {
function() ei_powered_beacon.update() end,
function() ei_powered_beacon.update_fluid_storages() end,
function() ei_neutron_collector.update() end,
function() ei_matter_stabilizer.update() end,
function() orbital_combinator.update() end,
function() ei_fueler.updater() end,
function() ei_gate.update() end,
function() em_trains.train_updater() end,
function() em_trains.charger_updater() end,
}

Given currently 9 update_functions, default update cycle length of 60 ticks / 9 functions = 6.66 sub-cycles; value is rounded up ergo 7 cycles of default 10 entities per 60 tick update cycle length per entity updater meaning maximum of IE 70 EM trains per 1 second (60 ticks). Original EI/ESI scripting updated every train every tick and was indeed untenable.

Be aware at present fuel density is not modified concurrent with update cycle length so higher values may result in EMT running out of fuel before next update cycle—which may or may not matter given their negligible friction and air resistance and extreme acceleration/top speed.

That said the EMT on_tick does have room for further optimization—particularly if used on multiple surfaces—however for both differentiation of aesthetic as well as functional purposes the mechanism is likely to remain the same. Pull requests will of course be considered

2 months ago

I'll test it through cybersyn.

2 months ago

Feel free to post a save once the UPS is crushed—would be provident for optimizations.

New response