Page 2 of 3

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sat Apr 25, 2020 9:13 am
by Syriusz
Does anyone have a link to speedrun with synchronised views?
And about pathfinding: lets say you have tile 1 and player can jump from it to tile 2. Can you store that information in tile 1? Or just information that it does have a tile where player can jump from it? Or store it in water that is between tile 1 and 2. I think that 99% of water tiles bordering land is not traversable, so pathfinding would need to do more steps in just 1% to check if that traversable water tile is in direction it wants to. And in cases where it is not traversable then it have to check that anyway.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sat Apr 25, 2020 11:30 am
by peet1993
Syriusz wrote:
Sat Apr 25, 2020 9:13 am
Does anyone have a link to speedrun with synchronised views?
I have A speedrun with synchronized views for you (not the current one): https://www.youtube.com/watch?v=1BIn-Qt6om8
Its from 0.16, AntiElitz made it for our best time back then. It was a lot of work, but maybe he will do it again for the sub 1h run if when it happens :D

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sat Apr 25, 2020 8:42 pm
by Niizuki
Any chance that some mods will be integrated into main game?

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sat Apr 25, 2020 10:56 pm
by xenoscepter
I will weigh in on biters being able to cross tiles like the player can:

- On the one hand, there is no reason they couldn't, if the player can they can, too.

- On the other hand, there is a reason that they shouldn't, some animals won't go up or down stairs, across stepping stones, etc. Dogs that can't / won't jump up onto the couch or bed are a good example.

I think that there is a good case to be made both logically and mechanically and that ultimately the best answer IMO is to implement a button in the options that toggles whether or not they can do it. That way players can have the experience they want w/o faffing about with mods. Having as a vanilla means that mod compatibility becomes less of an issue, as there is no mod to interact with and the feature is merely vanilla. Giving the button itself a further true / false tag will allow modders to set their own preference by disabling the button's functionality, cutting back on the number of errors caused by unwitting players. The button could be greyed out when disabled, with a tool tip that says something like, "Disabled by Mod", or some such.

This is the first time I've posted here, although I've been lurking for a time. Cheers from America and keep up the good work! :D

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sun Apr 26, 2020 1:16 am
by generilisk
Shouldn't Speed Run times be multiplied by the amount of players participating?

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sun Apr 26, 2020 3:31 am
by Jap2.0
generilisk wrote:
Sun Apr 26, 2020 1:16 am
Shouldn't Speed Run times be multiplied by the amount of players participating?
Singleplayer and multiplayer are separate categories. (Multiplayer has a set maximum of eight players to keep it fair.)

Additionally multiplying by the number of players would be hugely unfair: the singleplayer 0.18 record (right now) is 1:55:21, less than double this time, let alone an eight times difference.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sun Apr 26, 2020 4:44 am
by Theikkru
On biters and transition pathing: just spitballing here, but what about setting biters to check transitions if they get "frustrated" enough? In other words, would it be possible to implement their pathing in such a way that checking for transitions has a high nominal cost to the pathfinder, and thus wouldn't happen much under normal circumstances (minimizing performance costs), but would start to factor in if biters are having trouble figuring out how to get somewhere?
I'd love to see some interesting scenarios where people using single-tile cheese might think they're safe right up until the biters get annoyed by long paths around walls and suddenly just start tromping across the gap.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sun Apr 26, 2020 6:10 am
by zombieroboninja
Please remove the period at the end of the title of this friday facts on the main website. It bothers me.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Sun Apr 26, 2020 11:23 am
by TheBalliBoys
Wouldn't it be possible to generate an aditional "map", where the 1 wide water tile gaps are marked an use that as the map used for biter pathfinding? I think it wouldn't cost any extra UPS, you would only need to change the map every time the player places landfill.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sun Apr 26, 2020 12:37 pm
by BattleFluffy
Klonan wrote:
Fri Apr 24, 2020 7:31 pm
BattleFluffy wrote:
Fri Apr 24, 2020 7:14 pm
What is the reason for storing/reading the data in that way, instead of storing a representation of the world with each tile a boolean either true or false, traversable or not traversable?
A biter can have any size of collision box, and any collision mask, checking for tile collision isn't a simple boolean.
Even then, storing a boolean for each tile on the map would still add up to a lot of extra memory to thrash through, for only a small performance gain.

With normal biters, most of the time isn't even on tile collisions, but entity->entity collisions, which are far more complex and take most of the time.
For instance we can bite through an enemy wall, but won't bite through a friendly wall, so we need to check the force of walls when trying to find a path.
posila wrote:
Fri Apr 24, 2020 7:32 pm
Because tile might be traversable for one thing but not traversable for different thing. Depending on collision mask of the tile and of the unit that tries to traverse it. It's true in base game all units have the same collision mask, and if we could assume this is always true things could be made simpler, but in that case Klonan wouldn't be able to make a mod that crashed pathfinder, and we wouldn't have a topic for this Friday :D

There is second part to this ... the transitions make tiles traversable, non-traversable or traversable through one of the corners (entity can "cut" through left-top, right-top, right-bottom, or left-bottom corner), so there is also small bit of logic in checking the entity is still only on the "allowed part" of the tile.
Thank you guys, I think I understand now. :>
As always things aren't as simple as they seem.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Sun Apr 26, 2020 1:33 pm
by TheRealBecks
Klonan wrote:
Fri Apr 24, 2020 5:35 pm
As a bonus fact (this is Factorio facts after all), I spent a bit of time benchmarking some late game Transport drone based factories (screenshot), and found a few nice performance gains.
What does that mean?
1) Are only drone based factories getting a performance boost?
2) Is which cases do we see a performance boost?
3) Up to how many percent?

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Sun Apr 26, 2020 3:00 pm
by Klonan
TheRealBecks wrote:
Sun Apr 26, 2020 1:33 pm
Klonan wrote:
Fri Apr 24, 2020 5:35 pm
As a bonus fact (this is Factorio facts after all), I spent a bit of time benchmarking some late game Transport drone based factories (screenshot), and found a few nice performance gains.
What does that mean?
1) Are only drone based factories getting a performance boost?
2) Is which cases do we see a performance boost?
3) Up to how many percent?
We didn't take any hard and fast comparisons, I just saw a few hotpaths that were being called unnescessarily.

1. Entities that don't collide with entities would still lookup entities when performing their movement logic.
2. Units that had belt immunity would still look for transport belts when changing position.

So for base game biters, these code paths will still be used, but any other mods which have units like this will benefit.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sun Apr 26, 2020 8:39 pm
by 5thHorseman
zombieroboninja wrote:
Sun Apr 26, 2020 6:10 am
Please remove the period at the end of the title of this friday facts on the main website. It bothers me.
I'm having trouble determining which is more quintessential Factorio, that you posted this or that they responded by fulfilling your request.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.

Posted: Sun Apr 26, 2020 11:46 pm
by Illiou
5thHorseman wrote:
Sun Apr 26, 2020 8:39 pm
zombieroboninja wrote:
Sun Apr 26, 2020 6:10 am
Please remove the period at the end of the title of this friday facts on the main website. It bothers me.
I'm having trouble determining which is more quintessential Factorio, that you posted this or that they responded by fulfilling your request.
I wonder if they removed the period in topic title by hand. In any case, now we need somebody to write a script which removes the period from each reply's title. :)

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Mon Apr 27, 2020 7:11 am
by scooter010
In my opinion, your Speedrun isn't valid to call it a factorio speedrun. It's OK, to prepare builds/blueprints in your mind and tailor them to the map. It is OK to select mapseeds just before u stat the game.

But preplaning a dedicated map, disabling biters, put timers on everything and so on... feels wrong. It's like a cook recipe and not factorio Gameplay. An ape or computer had been trained/programmed to click there and then there at time y.
Factorio IS planning and just deleting the planning time is like deleting a part of the game. Or the otherway round: If you do not include the planing time(s) into the time to first rocket, the time is not completely.

But u did a big efford to achive that.

Just my 5 cent

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Mon Apr 27, 2020 7:25 am
by posila
scooter010 wrote:
Mon Apr 27, 2020 7:11 am
In my opinion, your Speedrun isn't valid to call it a factorio speedrun. It's OK, to prepare builds/blueprints in your mind and tailor them to the map. It is OK to select mapseeds just before u stat the game.
Click "View Rules" button (next to green Submit Run): https://www.speedrun.com/factorio#Any_Multiplayer
There are also categories other than Any% Multiplayer, which have different rules (e.g. Default Settings, which forbids modifying map settings or using specific map seed)

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Mon Apr 27, 2020 7:46 am
by scooter010
Yeah, that run is according the speedrun-rules. But, just in my opinion, these rulez aren't apllicable or doesn't make sense for all (types of) games.

So, in my Opinion, that run was a speedrun. But it wasn't real factorio. Nice planning and programming, very speedy. But even not factorio, because the planning is part of the game. If u want to speedrun an jump'n'run u cannot actually do the jumps before the run starts. But if u preplan a factorio game it is like u could do the jumps before the timer starts.

Like I said, just my opinion.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Mon Apr 27, 2020 8:24 am
by posila
scooter010 wrote:
Mon Apr 27, 2020 7:46 am
Yeah, that run is according the speedrun-rules. But, just in my opinion, these rulez aren't apllicable or doesn't make sense for all (types of) games.

So, in my Opinion, that run was a speedrun. But it wasn't real factorio. Nice planning and programming, very speedy. But even not factorio, because the planning is part of the game. If u want to speedrun an jump'n'run u cannot actually do the jumps before the run starts. But if u preplan a factorio game it is like u could do the jumps before the timer starts.

Like I said, just my opinion.
I kind of don't understand what are you saying. Can you please define precisely rules for when the timer starts and when it stops in your ideal Factorio speedrunning rules?

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Mon Apr 27, 2020 8:58 am
by V453000
scooter010 wrote:
Mon Apr 27, 2020 7:46 am
...If u want to speedrun an jump'n'run u cannot actually do the jumps before the run starts. But if u preplan a factorio game it is like u could do the jumps before the timer starts...
I'm actually pretty sure that's what for example Quake speedrunners do. Meticulous planning and doing math on exactly where to jump from where.

Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record

Posted: Mon Apr 27, 2020 9:02 am
by dee-
V453000 wrote:
Mon Apr 27, 2020 8:58 am
scooter010 wrote:
Mon Apr 27, 2020 7:46 am
...If u want to speedrun an jump'n'run u cannot actually do the jumps before the run starts. But if u preplan a factorio game it is like u could do the jumps before the timer starts...
I'm actually pretty sure that's what for example Quake speedrunners do. Meticulous planning and doing math on exactly where to jump from where.
I kind of agree with scooter - a Factorio speedrun is alike a Sokoban speedrun where you solve all the puzzles beforehand and just have some way of quickly entering the commands to follow and just time that "cat solution_keypresses > game" part without considering the part that's actually solving the puzzles.

Of cource all speedruns have a planning phase in some way or another so it's pretty difficult how to perceive and evaluate speedruns.

Nevertheless it's a nice feat and fun to watch. And if you eight had fun doing it it surely has ticked all the relevant boxes, timed or not :)