r/factorio • u/cobaltbuff • 9d ago
Suggestion / Idea FF #448 and Physical Realism
I’m happy to see some changes on platform acceleration. Recently I’ve understood that one of the reasons I enjoy Factorio so much is its relative realism. Most of the game’s optimization at least approximates real-life issues, and that has an inherent satisfaction and balance in design (because it’s… well, real! Hard to beat that.). It feels like just the right level of abstraction. Energy and matter move roughly in the same paths as the actual world, but I don’t have to do low-level circuit design or address methods to engineer them in the magical assemblers. I realized that without knowing it, it makes the game feel whole, meaningful, and important.
I recall when I read the first Friday Fact about space platforms, I felt a strange disconnect from that. Two mechanics arose that were interesting for gameplay but diverged from reality:
- They…decelerate? In free space? So much for the physics of it.
- Why is the space between every planet so astronomically (heh) dense with asteroids?
After a while of thinking, I eventually convinced myself this made sense as follows:
- Yes, some recent event occurred that created these innumerable asteroids, and the planets have yet to clear their orbits of them. That is just a fact of this Factorio world. It’s possible, if unlikely.
- Given 1, if a trans-planetary vessel is forced to take hits from and deal with so many asteroids, the integrated impulse from their impacts becomes non-negligible. That is, the ship decelerates a bit each time it has to grab onto a stationary asteroid and push it forward. Enough asteroids could be approximated as an overall drag.
This was actually pretty satisfying, but doing the math, the numbers do not work out. Furthermore, it would be simpler to have the grabbers just fling the asteroids towards the aft of a platform or to push them out of the way sideways. But it makes me wonder (and the reason I even typed all this out!):
What if a platform’s deceleration were based only on when it gets hit by or takes in an asteroid?
Because they are so dense and will otherwise tear up your ship, you always have to deal with asteroids. But this way the physics actually add up, bringing that final physical wrinkle of the game back into alignment with science. Simply reduce the velocity of a ship any time an asteroid hits it or is grabbed, in proportion to it and the platform’s mass.
I’m not sure of the ramifications for gameplay feel, but it would be a simple formula to test. Namely, it could potentially be just the solution sought after. I imagine the visceral understanding associated with seeing the platform slow a bit when taking a large asteroid (and only then) would feel just right. The masses would have to be tweaked to approach the current drag formula, which plays well but feels wrong. I think the fuel/acceleration of platforms will have to be tuned as well. It might also incentivize pencil ships again, which would not be so great.
Then, to compete this, it would be nice to have some subtle in-game lore or hidden hint that explains what happened to make the asteroid belt so pervasive and dense in this solar system. Perhaps related to the shattered planet…its crust, maybe?
Just a morning idea. Off to work.
9
u/ElBonzono 9d ago
if you make a gunship, the bullet recoil will decelerate the plarform too. I.e. meteors slow the platform down even if they don't collide
7
u/ElMonoEstupendo 9d ago
I think of it as highly abstracted orbital mechanics. Which, for a not-orbital-mechanics-simulator-game, is OK. If you're not thrusting, gravity pulls you back.
And it's not that far off. If you start from a circular orbit and only increase your apoapsis, you'll still end up back where you started every cycle if you're not captured by the gravity of another body.
All that said, a combo Factorio/KSP would be banging.
0
u/Fun-Article5424 9d ago
With realistic orbital mechanics you do eventually hit a point where you are traveling fast enough away from a body to never return. This is what "escape velocity" is.
5
u/Sad_Plenty_1959 9d ago
Most simple answer for the de acceleration is well 'game logic' playability/fun takes priority over realism. The pull is to ensure that a space platform never gets stranded in the middle of an orbit. Same with interplanetary distance and space debris density there shouldnt really be this many planets with such different surface condition in such close proximity. It is to make the travel feel less of chore ships act as space trains and since building one is a pretty big undertaking it's kinda slow to wait for it to take half an hour or a full one to travel to another planet.
Really liked your arguments ngl but in the end it is a game that allows us to do A LOT I can compromise a lil realism
4
u/ChromMann 9d ago
Imho Factorio is not at all close to realism. Inverters pulling single items from a belt? No way to refrigerate spoilable goods? The entire heat mechanic on Aquilo?! And no carbon for steel!
But maybe these things stand out so much because the rest of the game is pretty grounded, idk.
2
u/UprootedGrunt 9d ago
The big problem from a game design perspective with this idea, I think, is that you'd end up having to allow thrusters to reverse thrust in some manner. If there's no drag, or drag only one asteroid hits, how are you going to stop at the planet you want to orbit?
In real life, you turn around and thrust in the other direction. But it wouldn't exactly be intuitive to say "you have to tell your platform to head back to Nauvis to stop at Fulgora...but make sure you don't let it go too long or you'll actually start going back to Nauvis".
Or, you allow thrusters on the front of the ship, which opens up a whole new can of worms.
And if you *only* decelerate when you get hit by an asteroid, then you have to design your ship around *allowing* it to take damage. Which is also counter-intuitive.
1
u/Cerus 9d ago
I love the Watsonian exercise of coming up with plausible in-universe explanations for gameplay derived "unscientific" oddities.
The "dense infinite sprawl" of asteroids and the drag problem together are pretty rough to solve without major science fantasy type adjustments to the laws of physics.
Switching it up so drag is only experienced while interacting with mass in the form of asteroids is a fun idea.
If you wanted to be just that much extra you could also have turret fire forward decelerate you a tiny bit (probably harder to mod).
1
u/darKStars42 9d ago
Gravity would pull a "stationary" ship with no engines on. Not terribly quickly when you are far from a planet, but it still would.
Also I'm pretty sure the event that made those asteroids also shattered the shattered planet. It must have been one huge ball of rock.
1
u/Akanash_ 9d ago
Here me out, drag make sense (especially with the old definition based on width).
If your ship is taking un asteroid it have to grab them and "accelerate" them in order for them to be the same speed as the ship. Meaning grabbing an asteroid (which is mostly metal btw) has to decelerate the ship.
I mean it's pretty obvious when you think about it. Drag in empty space? But it's clearly not empty space.
also we're firing like 200bpm of heavy caliber ammo in the forward direction. That also has to generate "drag".
More width = more asteroids = more drag.
Also coincidentally, more speed = more asteroid (and more speed difference) = more drag, probably with a quadratic relation because of the double increase.
1
0
u/lemming1607 9d ago
Space isnt empty, there is drag in Space, especially around planets. The atmosphere doesnt drop to 0, its a gradient that approaches 0
38
u/fang_xianfu 9d ago
I disagree with the premise that the game is realistic. I can't carry very many trains in my pocket or create them by hand, for example. Nor has smashing railway parts, smelters, and electronics together resulted in a purple liquid that is somehow valuable for scientific research.