Search found 950 matches

by ratchetfreak
Fri Feb 28, 2020 12:22 pm
Forum: News
Topic: Friday Facts #336 - Offshore pump redesign
Replies: 51
Views: 21373

Re: Friday Facts #336 - Offshore pump redesign

one little nitpick about the new design, when it has been landfilled over the lags just vanish into the ground, it would look cleaner to have little feet on them IMO
by ratchetfreak
Thu Feb 20, 2020 4:51 pm
Forum: General discussion
Topic: Parrallel processing in games & applications
Replies: 433
Views: 196537

Re: Parrallel processing in games & applications

That sounds like a lot of complexity. array prefetch will mean you end up blasting through the list at memory bandwidth speed instead of cache miss latency speeds. Can't speak for Factorio's specific case, nor have I really thought about how it is specifically coded. But in many other cases when gi...
by ratchetfreak
Thu Feb 20, 2020 3:02 pm
Forum: General discussion
Topic: Parrallel processing in games & applications
Replies: 433
Views: 196537

Re: Parrallel processing in games & applications

Entities require stable memory addresses and can move around anywhere (sometimes between surfaces) so they can't be put into some vector<thing>. referential consistency can be solved with a chunked array. from the mod api only players and vehicles can teleport between surfaces, sure treat those spe...
by ratchetfreak
Thu Feb 20, 2020 1:20 pm
Forum: General discussion
Topic: Parrallel processing in games & applications
Replies: 433
Views: 196537

Re: Parrallel processing in games & applications

I think in general it isn't worth processing. You waste energy and might trash the cache. Whether you skip or process, you still have to wait for RAM to deliver data for entities that do need to be processed. Might as well idle and wait than do pointless processing. But doing array iteration is mas...
by ratchetfreak
Thu Feb 20, 2020 11:51 am
Forum: General discussion
Topic: Parrallel processing in games & applications
Replies: 433
Views: 196537

Re: Parrallel processing in games & applications

Put the inserters into an array and you remove the latency for looking up the next pointer. This then also allows splitting the array into threads (provided you do a few other things to make that possible too) I think part of the complication is the skipping of processing certain entities - an opti...
by ratchetfreak
Tue Feb 04, 2020 12:23 pm
Forum: Ideas and Suggestions
Topic: 20 % faster lua with goto labels
Replies: 2
Views: 1247

Re: 20 % faster lua with goto labels

I would be surprised if the compiler didn't already do something like that. Large switch statements are a very attractive target for this kind of automatic optimization.
by ratchetfreak
Fri Jan 24, 2020 4:33 pm
Forum: News
Topic: Friday Facts #331 - 0.18.0 release & Train pathfinder changes
Replies: 142
Views: 61402

Re: Friday Facts #331 - 0.18.0 release & Train pathfinder changes

I find it not appropriate to describe Dominik's departure in the way you did it. How else should we handle it? I want to be as transparent and honest with you as I can be. You very much implied that the decision to release without the character gui is the main reason why he left. This could be reph...
by ratchetfreak
Thu Nov 28, 2019 1:44 pm
Forum: News
Topic: Friday Facts #322 - New Particle system
Replies: 58
Views: 28856

Re: Friday Facts #322 - New Particle system

SHiRKiT wrote:
Wed Nov 27, 2019 9:19 pm
IF there's a thing that impreses me, is that 20 members of the team later, and 5 years, and you gus still improve the performance by huge margins. Your dedication to this game is unparallel
this one was quite low hanging fruit though
by ratchetfreak
Fri Nov 08, 2019 4:26 pm
Forum: News
Topic: Friday Facts #320 - Color correction
Replies: 202
Views: 72510

Re: Friday Facts #320 - Color correction

will the LUT allow for things like emissive (glow in the dark) patches?

That would be nice to add to the vehicles and the warning concrete.
by ratchetfreak
Wed Oct 23, 2019 3:05 pm
Forum: Modding help
Topic: Is it possible to run a script over multiple ticks?
Replies: 4
Views: 1312

Re: Is it possible to run a script over multiple ticks?

You can use a coroutine: local mycoroutine = coroutine.create (function () run_every_5_seconds if something do do stuff coroutine.yield() do more stuff end coroutine.yield() do more stuff etc. end end ) script.on_event(defines.events.on_tick, function(event) coroutine.resume(mycoroutine) end)
by ratchetfreak
Mon Oct 21, 2019 11:05 am
Forum: News
Topic: Friday Facts #317 - New pathfinding algorithm
Replies: 70
Views: 32006

Re: Friday Facts #317 - New pathfinding algorithm

In the simplified map how does the heuristic calculate the distance? You could be just crossing one tile at the edge of the chunk or go all the way across the chunk. Worst case there could be a spiral pattern so it takes 100+ tiles to cross a chunk. So what's your trick there? The trick is fewer no...
by ratchetfreak
Fri Sep 20, 2019 9:18 am
Forum: General discussion
Topic: aliens needs multithreading :/
Replies: 40
Views: 14316

Re: aliens needs multithreading :/

EpicSlayer7666 wrote:
Fri Sep 20, 2019 9:07 am
a better fix might be for a fix limit of paths to be created from a artillery shot. so they will still look around but not spam new paths...

One quick hack for that is to make all responders of a artillery shot into a single attack squad with a single path to follow.
by ratchetfreak
Wed Sep 11, 2019 9:26 am
Forum: Ideas and Suggestions
Topic: Trains: Chain signals should factor in the length of the train
Replies: 39
Views: 10113

Re: Trains: Chain signals should factor in the length of the train

And yes, the train status gets mixed into the signal. But that is already the case for chain signals in the blue state. The signal can only decide to let a train pass or block it by knowing which path it wants to take. I only add the length to the state as well. Not quite, it is different things. L...
by ratchetfreak
Tue Sep 10, 2019 12:55 pm
Forum: Ideas and Suggestions
Topic: Trains: Chain signals should factor in the length of the train
Replies: 39
Views: 10113

Re: Trains: Chain signals should factor in the length of the train

And this issue is about just that limitation. It doesn't have to be that way. Rail networks should be upgradable to larger trains without requiring a complete signal replacement. There are plenty of places where moving to longer trains creates issues in a network designed for a certain size of trai...
by ratchetfreak
Wed Jul 17, 2019 11:57 am
Forum: Gameplay Help
Topic: Automatic insertion of robots
Replies: 21
Views: 9547

Re: Automatic insertion of robots

Agree definitely limit on the total number of bots not available. It is easy to do things that will instantly try to use thousands of bots (new requester chests, placing blueprints, destruction planner, etc.). I found that using "one percent of bots should be idle" was ... passable, but d...
by ratchetfreak
Fri Jul 05, 2019 2:35 pm
Forum: News
Topic: Friday Facts #302 - The multiplayer megapacket
Replies: 39
Views: 17685

Re: Friday Facts #302 - The multiplayer megapacket

If it were me I'd have added another edge case, if the packet has too many selection changes, delete them all from the queue instead have it send single absolute value.

But I'm sure there'd be issues with that as well
by ratchetfreak
Thu Jun 13, 2019 4:18 pm
Forum: Won't implement
Topic: Add option for LuaControl:Opened() to ignore distance constraints.
Replies: 2
Views: 1269

Re: Add option for LuaControl:Opened() to ignore distance constraints.

LuaControl::opened doesn't do any distance checks in the Lua API. It's simply a part of the game logic that a player can't open something they can't reach. There's no "override" behavior it's just baked into the logic of anything opened if it's out of reach it's closed. So the answer to t...
by ratchetfreak
Wed Jun 05, 2019 3:21 pm
Forum: General discussion
Topic: aliens needs multithreading :/
Replies: 40
Views: 14316

Re: aliens needs multithreading :/

most of those biter things sound like a "(hostile) entity made an action" problem rather than a "lets move a biter" problem. The charting system only needs to know the location, range and force of each charting entity. IOW give it a std::vector holding a struct{bool alive;int ran...
by ratchetfreak
Mon May 27, 2019 10:54 am
Forum: General discussion
Topic: aliens needs multithreading :/
Replies: 40
Views: 14316

Re: aliens needs multithreading :/

I'll give you a detailed answer for both fish and biters but I first want someone to try to answer this: How many different shared (mutable) data sets do you think the fish or biter can touch during its ::update() function? List them + a minimum and maximum. The fish would be itself and the map chu...
by ratchetfreak
Thu May 23, 2019 1:24 pm
Forum: General discussion
Topic: aliens needs multithreading :/
Replies: 40
Views: 14316

Re: aliens needs multithreading :/

You example isn't complete, the order of targets in the final list matters, so that needs to be deterministic which you can do by sorting. However then you end up with a super-linear complexity operation on the main thread that cannot be parallelized. Are you saying that aorting cannot be threaded?...

Go to advanced search