Spacefarer

by Lex_sk

A space-flight adventure built on Space Age: your ship is your only base, and planets are the milestones of progression, the source of contracts and trade. Start a new game with the "Space Start" scenario. Приключение о космических перелётах на базе Space Age: корабль — единственная база, планеты — вехи прогрессии, источник заданий и торговли. Начните новую игру со сценария «Космический старт».

Scenarios
10 days ago
2.0
211
Logistics Mining Manufacturing Storage

g Multiplayer

a month ago

Any plans on making the mod multiplayer compatable.

a month ago

No hard blockers that I know of, but no multiplayer testing — so I can't honestly claim support.

The code doesn't make single-player assumptions: UI state is keyed per player, and everything persistent lives in storage, so I don't see an obvious desync source.

What's untested is everything interesting: one ship shared by everyone, two people trading at the same market, one flying the ship while another is planetside. The honest reason is that I have no one to test with — none of my friends love Factorio quite as much as I do :) So if you (or anyone) tries it in a coop game, I'd be very glad to hear what breaks; multiplayer reports are something I can actually act on, and I'll fix what comes up.

a month ago

I asked because I tried multiplayer and the game broke. Sit down this is wild. If I remove and place and down the truster there is a missmatch, most likely due to the infocard attempting to save it's contents for every player and detecting a missmatch. When another player tried to join after I placed down the truster the error popped up while joining.

18.344 Info TransferTarget.cpp:199: Received transfer block while not downloading
18.357 Loading script.dat: 1348556 bytes.
18.358 Checksum for script level/control.lua: 2134826896
18.359 Checksum for script Trashcan/control.lua: 1579122489
18.378 Checksum for script factoryplanner/control.lua: 2259241580
18.382 Checksum for script RateCalculator/control.lua: 2687378667
18.382 Checksum for script no-minimap-on-platforms/control.lua: 3268220426
18.390 Script @spacefarer/control.lua:58: [spacefarer] правила сценария включены
18.390 Checksum for script spacefarer/control.lua: 1804867049
18.390 Checksum for script spaceship-hole-induction-tool/control.lua: 3008202453
18.391 Checksum for script sushi-splitters/control.lua: 1273442705
18.430 Error ClientMultiplayerManager.cpp:1093: level was not registered for the following nth_ticks when the map was saved but has registered them as a result of loading: 600
18.430 Error ClientMultiplayerManager.cpp:86: MultiplayerManager failed: "" + multiplayer.script-event-mismatch + "
" + "
level"
18.431 Info ClientMultiplayerManager.cpp:608: UpdateTick(874239) changing state from(ConnectedLoadingMap) to(Failed)
24.898 Info ClientMultiplayerManager.cpp:199: Quitting multiplayer connection.
24.899 Info ClientMultiplayerManager.cpp:608: UpdateTick(874239) changing state from(Failed) to(Disconnected)
24.899 Info ClientMultiplayerManager.cpp:217: Deleting active scenario (global = true).
24.918 Info UDPSocket.cpp:238: Closing socket
24.918 Info UDPSocket.cpp:268: Socket closed

a month ago

Thank you — that log had everything needed. You found a real bug, and it wasn't the thruster or the info card: it was my own diagnostics code.

The scenario logs three snapshots of the ship in the first minutes, and after the last one (tick 18000) it unregistered its own on_nth_tick handler to save the ticks. A save file stores the set of registered handlers as of the moment it was saved, but control.lua registers them again on load — so from minute five onward the two sets disagreed, and the engine refused the joining client with exactly the line you posted:

level was not registered for the following nth_ticks when the map was saved
but has registered them as a result of loading: 600

So this hit any game older than five minutes, regardless of what anyone built. The thruster was a coincidence — placing it happened to be when your friend tried to join.

Fixed in 0.9.115, just uploaded: the handler is now registered unconditionally and simply does nothing after the last snapshot. Verified with a 20,000-tick headless run — before the fix the handler's last call was at tick 18600, after it the calls keep coming.

One note for your existing save: it still remembers the old handler set. After updating, load it once in single player and save it again — that rewrites the set. And if you do get a coop game going, please keep telling me what breaks; you've clearly got the setup for it, and I don't.

a month ago

Report
-Didn't manage to recover old save to multiplayer standards. I expect some artifacts were left in the save that still prevent it from loading correctly. Recovery abandoned in favor of starting a new save. Recovered prevous progress 50% faster due to past experience

Feedback
-Stone chunks look too similar to metalic chunks
-Missions tap "Flights" section. Queueing planets should work on interrrupts not regular stations similarly to how trains work current method is inconvenient to use.
-Pure copper should be 8 per chunk (vanilla ratio) not 14
-Ice to water is too generous. Whit reprocessing you can comfortably run a factory ship with a reactor on vanilla rates (from past experience)
-Stone and uranium could be merged into basic and advanced rocky asteroid crushing to give respective resources and reduce chunk clutter
-More starting foundations in exchange for reverting to vanilla recipe to make the cost noticable later in the game

Bugs
-Often clients can't connect cargobays to wires due to being only occasionaly able to select the secondary entity capable of acceping the wire connection
-Top bar windows open with a delay for clients
-Shotgun can't hit asteroids

a month ago
(updated a month ago)

Copper — it will be fixed. You're right, 14 was out of line: copper ended up more valuable than both iron and stone at once. It's 8 now. The crusher's choice is finally an honest one.

Ice and water — keeping as is, and here's the math. I understand where the "too generous" feeling comes from: through most of the game water only goes into chemistry, and there really is a surplus. But there's a single tap for the whole game, and it's tuned to the heaviest consumer. A steam turbine burns 60 water/s; a 40 MW reactor means four heat exchangers and nearly seven turbines — that's roughly 412 water/s, continuously. At the current 1500 water per chunk, that's 16–17 oxide chunks per minute for electricity alone. At vanilla rates (100 water per chunk) the same reactor would need 247 chunks per minute — nuclear power on a ship would simply be impossible, even though the reactor, heat exchanger and turbine are things we sell on Nauvis ourselves. Add greenhouses (200 water per cycle each) and sulfur production, and the surplus is gone. Water is infinite on Nauvis and Gleba, true, but you can't move in there: the only thing buildable on a planet is the cargo landing pad — no offshore pump. Water barrels at the Nauvis market are an emergency supply; a reactor would need eight of them per second.

Foundation — staying cheap. The vanilla recipe (20 steel and 20 copper cable versus our 2 and 2) would bottleneck on steel with any starting stock, and our steel comes only from asteroids. Cheap foundation is a deliberate decision: growing the ship is the main form of progression, and gating that behind mining would change the pace of the entire game.

Interrupts for the planet queue — I agree in principle, but not now. The idea is right: the vanilla schedule is familiar and does more than my hand-rolled list. It's technically possible, the interrupt API is there. But it's a substantial piece of work on its own and I can't take it on yet. In the meantime you can use the vanilla schedule window — the mod's flight panel works on top of the same schedule rather than around it, so both views show the same thing.

Merging stone and uranium — agreed, there are too many chunk types. I'm considering a broader rework: a single chunk type with probabilistic processing (like scrap recycling on Fulgora) instead of the current zoo. A partial merge now would only have to be undone later.

The stone asteroid's look — point taken. It is indeed built from the metallic one with a shift toward a warmer tint, hence the resemblance. The fix is simple; I picked the colour myself originally and evidently didn't land it — either the model needs a much stronger recolour, or its own artwork. That said, if the asteroid processing rework above happens, new graphics may not be needed at all.

Wires on cargo bays. Here's what seems to be going on: what gets selected isn't the bay itself but a helper entity next to it, and the target swap happens on a mouse-hover event. On a client that event arrives with network latency and apparently slips through sometimes — hence "selectable only occasionally". I'll think about how to fix it. Thanks!

GUI delay. Factorio doesn't predict GUI actions locally, the click goes to the server and back, and there's nothing the mod can do about it. I don't know how to solve this problem yet.

Shotgun vs asteroids — I checked: the mod's asteroids are exact copies of the vanilla ones, health and collision parameters untouched, so the shotgun behaves exactly the same against vanilla asteroids (it fires pellets "by direction" rather than at a target). I'd rather not override vanilla weapons from a mod — that breaks more than it fixes.

Thanks a lot, this was a genuinely useful report.

New response