Factorio: Space Age
331–340 of 363 posts
Re: Factorio: Space Age
#332Earlier quoted context omitted.
> . I'm perfectionist freak and my factorio gameplay basically divides "before" and "after" cliff explosives. I adopt the strategy of "field expedient base" which gets me to almost where I need to be, and then after expanding, I begin building a megabase with more technology and convert the field expedient base to a resource factory. Then I can transport processed resources by train to any number of places. It's not…
> as far as I can tell the game is basically perfect without them Do you still have to use a sideways-facing underground belt to take items from one side of a belt, blocking the other side? Are there yet any pleasant ways to overlap belts? I feel like far too much effort is spent on working around odd limitations.
Unless you have multiple items on both sides of that belt, you can use the filtering feature they built into splitters a long time ago.
> Are there yet any pleasant ways to overlap belts?
What does overlap mean? If you're trying to get multiple belts of throughput in a space that only fits one normal belt, I would not call that an "odd limitation".
Re: Factorio: Space Age
#333I "just" (160+ hours in) started a play through of space exploration at the recommendation of an HN comment. Super excited to see an official expansion that adds this kind of thing! https://news.ycombinator.com/item?id=36561847 My ideas list for interesting Factorio challenges (apropos of nothing): - Products with a shelf life (must be consumed within 15 minutes or it turns into a "waste" product) - Products with "re…
And I'm not sure if better catalyst support would be very noticeable.
Mobile factories are a good thing.
Re: Factorio: Space Age
#334Earlier quoted context omitted.
How do you know? I imagine that two useful tools would be belt sorters and inserters that filtered by a configurable shelf life threshold.
No, OP means that if individual item has a shelf life attribute attached to it, it'll bring down performance when it's thousands or more on the field.
Re: Factorio: Space Age
#335Earlier quoted context omitted.
I loved Factorio, but only played vanilla. I find that every time I mod up a game (e.g. Fallout 3, NV, 4), I find the bugginess and lack of consistency just inevitably ruins it after a few cheap thrills. So I wasn't about to do that to Factorio. I'm super excited for this expansion--I miss the days playing til 5AM with my friends (and we all have work the next day at 9AM), because we literally couldn't put the game d…
Factorio has at least one mod that is the complete opposite of buggy and inconsistent : https://mods.factorio.com/mod/IndustrialRevolution3
Re: Factorio: Space Age
#336Earlier quoted context omitted.
Wait, No Man's Sky? That game? Was it bought or something? Do they still have that liar who went on interviews and lied through his teeth about the game? It's pretty rare to see a project based entirely on lies from a smarmy psycho liar ever actually go anywhere, right? Did they ever go back and actually implement any of the things he lied were already in the base game?
No Man’s Sky is a redemption story.
Re: Factorio: Space Age
#337Re: Factorio: Space Age
#338Earlier quoted context omitted.
This has been Factorio's MO from the beginning. It was in Early Access forver, and all that time it was way more polished and stable than many fully released games with much higher budgets. In the decade or so that I've played Factorio, I can't even remember a single crash of the base game. It was always mods that crashed. Factorio performance is also fantastic, running smoothly on potato PC's until you get in to the…
> Factorio performance is also fantastic I still don't know how they pulled this off, and as a software engineer I've read all of the development blogs. It is still impressive that you can scale this thing to huge mega-bases, with things smoothly gliding down coveyer belts, inserters swinging, bots flying around, trains everywhere, biters doing biter things all over the exposed (essentially endless) map ... and no pr…
For example, originally a conveyor belt applied a speed to any object in the same tile. Each frame the position of the object would be updated based on the speed, just the same as any other moving object. You could place down up to three objects side–by–side on the belt, and they would all travel together. But eventually they realized that this is a waste of time, because inserters only ever place items in specific positions on the belt, and the items are all the same size. This means that they could instead just keep a bitmask of which spots are filled, and a queue of items that will pop out of the edge of the tile. Even that is wasteful though, because you might have 1000 tiles of belts all in a row, so you can group them all into a single queue. Now you only have to put new items into the beginning of a single queue and take them out of the end, instead of doing that for 1000 queues. On the other hand, this means that you can no longer put down items at arbitrary positions on a belt; they will now snap into one of the 12 slots in one of the two lanes.
A similar thing happened to inserters. It used to be that they had a certain amount of rotational speed, and would calculate a new position and rotation for each of their three two joints every frame. Eventually they realized that 99% of the time they would be in the same few positions over and over again; it is only when they are chasing an object on a belt that is too fast that they need to calculate a position. The rest of the time they just loop through a fixed animation. This gave Wube the opportunity to tweak the animation cycles so that they are exactly the same length in all orientations of the inserter, which is definitely a good thing.
And of course they consistently paid close attention to data locality, so that every time they have to work on a collection of objects they maximize the amount of useful data that fits into the CPU cache. I haven’t seen the code, of course, but I assume that this means that they are using an ECS–style system where you have a dense array of just the position and speed of each biter, or just the animation frame for each inserter. The code can then loop over those dense arrays knowing that it doesn’t have to test the type of each item in the array (few or no branches needed), and that every byte loaded into cache will be used during the loop (maximizing use of the memory bandwidth).
Re: Factorio: Space Age
#339Earlier quoted context omitted.
Wait, No Man's Sky? That game? Was it bought or something? Do they still have that liar who went on interviews and lied through his teeth about the game? It's pretty rare to see a project based entirely on lies from a smarmy psycho liar ever actually go anywhere, right? Did they ever go back and actually implement any of the things he lied were already in the base game?
That "smarmy psycho liar" was an introverted developer-turned-ceo who was in over his head. He is now beloved by the community. Sean Murray is a legend. They have been over-delivering on NMS for the better part of a decade now without charging for anything but the base game. And yes, they implemented all of it. Everything that was promised and much much more. Just check out the trailer for Echoes that dropped yesterd…
I'm glad to hear he seems to regret it. I do suspect allowing some room for redemption and regret is a better strategy for reducing negative behaviors than completely writing someone off. It might have been nice if he faced actual legal consequences for his criminal fraud (alright alright I am not a lawyer), but barring that, I'll take self-correction.
Re: Factorio: Space Age
#340Earlier quoted context omitted.
> It was always mods that crashed. I wish modding APIs in general did more sanity checking before loading a mod. A low hanging fruit is APIs to be statically typed, and also to not use nulls on such APIs and things like that. A more comprehensive check is to verify whether two mods are guaranteed to be compatible (but this sounds a bit hard). But more importantly (not sure if that's the case with Factorio) not break…
I don't expect videogames to be the first to successfully solve the problem of statically checking code for correctness ;-) I'm astonished how stable so many mods are, given the environment they run in and the lack of almost any payment for the work. The Minecraft Java world at least starts with static types and memory safety. It'd be interesting to see if that results in a mod ecosystem that's more stable.