Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record
- FactorioBot
- Factorio Staff
- Posts: 409
- Joined: Tue May 12, 2015 1:48 pm
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
Yay found FFF ![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
(Was searching from few hours.. )
Ohh better pathfinding. Does that mean that custom units like construction bots will have this enabled by mod?
And we can make a simple mod to enable it for biters?
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
(Was searching from few hours.. )
Ohh better pathfinding. Does that mean that custom units like construction bots will have this enabled by mod?
And we can make a simple mod to enable it for biters?
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
That drone looks really cute ^^
And personally I think Biters should be first class citizens, too, especially if the hit is really a mere 5% #equalitymatters
And personally I think Biters should be first class citizens, too, especially if the hit is really a mere 5% #equalitymatters
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
oh my anyone complaining about wanting their money back from it being too short, isn't playing it very well.
as you so eloquently put it, it took 200 hours of planning to get that 1:15:21 speed run. that in and of it's self an quite a accomplishment, congratulations.
as for the biters being able to cross the 1 tile gap, i am sure there will be quite a few on both sides of the fence for this one, so i hope that you make the decision well, but for me i have to say that i appreciate that they can not cross it. either way however when playing with mods, we can over come that with water fill and landfill to make the water gap larger or smaller, but i hope that we don't experience huge lag spikes when we perform these tactics to cross and block uninvited guests.
as you so eloquently put it, it took 200 hours of planning to get that 1:15:21 speed run. that in and of it's self an quite a accomplishment, congratulations.
as for the biters being able to cross the 1 tile gap, i am sure there will be quite a few on both sides of the fence for this one, so i hope that you make the decision well, but for me i have to say that i appreciate that they can not cross it. either way however when playing with mods, we can over come that with water fill and landfill to make the water gap larger or smaller, but i hope that we don't experience huge lag spikes when we perform these tactics to cross and block uninvited guests.
- Xterminator
- Filter Inserter
- Posts: 981
- Joined: Sun Jun 15, 2014 4:49 pm
- Contact:
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
Great FFF as always!
I always love to hear about better path finding and movement. Personally I think biters should be able to cross anything that the player can.
Just wow in regards to the speed run record. That is mind blowing! I look forward to them getting it done in under 1 hour, and have confidence they can. A whole team made up the top speed runners is insane.
Great job guys!
I always love to hear about better path finding and movement. Personally I think biters should be able to cross anything that the player can.
Just wow in regards to the speed run record. That is mind blowing! I look forward to them getting it done in under 1 hour, and have confidence they can. A whole team made up the top speed runners is insane.
Great job guys!
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
It's a good thing that planning stages aren't counted as part of the speedrun timing. Otherwise my very first 50 hour run would be in the top running. ![Laughing :lol:](./images/smilies/icon_lol.gif)
But seriously, that takes not just the dedication of doing the run itself, but the countless hours of practice and training to reach the entry point where they can even begin to plan such an ambitious speed run. Good work!
![Laughing :lol:](./images/smilies/icon_lol.gif)
But seriously, that takes not just the dedication of doing the run itself, but the countless hours of practice and training to reach the entry point where they can even begin to plan such an ambitious speed run. Good work!
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
Congratulations on the speed run! Shows what prior planning can task specialization can do, in the game as outside the game.
Hiladdar
Hiladdar
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
This FFF I really enjoyed, both the new mods/pathfinding and the speedrun bits. (Also grats to Nefrums on getting under 2 hours in Any% !!)
Has anyone in the speedrunning community considered submitting to games done quick? I bet it would be a lot of fun to showcase it.
Has anyone in the speedrunning community considered submitting to games done quick? I bet it would be a lot of fun to showcase it.
- BattleFluffy
- Fast Inserter
- Posts: 194
- Joined: Sun Mar 31, 2019 4:58 pm
- Contact:
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
I'm not sure I understand why 5% speed is being lost?
My (perhaps wrong) understanding is like this:
There exists a "map" of traversable tiles - the tiles where bitters can or cannot go - which the pathfinder consults when obtaining a path.
When bitters pathfinding pays attention to these transitions, this "traversable tiles map" looks different, but nevertheless can still be distilled down to effectively a tile-by-tile map of where bitters can and can't go.
What is the technical reason that prevents the distillation of the former into the latter? It seems as though this process would only need to be done at the start of the game, or whenever landfill is placed, not every frame... so I don't understand from where this 5% slowdown comes from.
My (perhaps wrong) understanding is like this:
There exists a "map" of traversable tiles - the tiles where bitters can or cannot go - which the pathfinder consults when obtaining a path.
When bitters pathfinding pays attention to these transitions, this "traversable tiles map" looks different, but nevertheless can still be distilled down to effectively a tile-by-tile map of where bitters can and can't go.
What is the technical reason that prevents the distillation of the former into the latter? It seems as though this process would only need to be done at the start of the game, or whenever landfill is placed, not every frame... so I don't understand from where this 5% slowdown comes from.
-
- Burner Inserter
- Posts: 9
- Joined: Sat Jan 06, 2018 6:09 pm
- Contact:
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
Why don't you make the biter tile transition collision thing an optional check mark on the map generator, with it default to check-on for Deathworld.
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
We don't store or cache any collision check data, it would be far too much data to store a map of the whole world for every combination of collision mask.BattleFluffy wrote: βFri Apr 24, 2020 6:38 pmI'm not sure I understand why 5% speed is being lost?
My (perhaps wrong) understanding is like this:
There exists a "map" of traversable tiles - the tiles where bitters can or cannot go - which the pathfinder consults when obtaining a path.
When bitters pathfinding pays attention to these transitions, this "traversable tiles map" looks different, but nevertheless can still be distilled down to effectively a tile-by-tile map of where bitters can and can't go.
What is the technical reason that prevents the distillation of the former into the latter? It seems as though this process would only need to be done at the start of the game, or whenever landfill is placed, not every frame... so I don't understand from where this 5% slowdown comes from.
The check is done at runtime in the pathfinder, it gets a position, looks up the tile, looks up the prototype, and checks it if collides with the tile prototypes collision mask.
With the transition logic, it needs to lookup the adjacent tiles to check what transitions are active, and therefore if it collides with the transition or not.
- BattleFluffy
- Fast Inserter
- Posts: 194
- Joined: Sun Mar 31, 2019 4:58 pm
- Contact:
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
I see, thanks for explaining that. :>
So the 5% slowdown is because of the extra time needed to look at those adjacent tiles, to check whether this tile is therefore traversable or not.
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?
I understand it's necessary to look at adjacent tiles in order to know what kind of transition to display, but for bitter pathfinding this seems unnecessary?
So the 5% slowdown is because of the extra time needed to look at those adjacent tiles, to check whether this tile is therefore traversable or not.
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?
I understand it's necessary to look at adjacent tiles in order to know what kind of transition to display, but for bitter pathfinding this seems unnecessary?
-
- Burner Inserter
- Posts: 6
- Joined: Fri Feb 22, 2019 6:44 pm
- Contact:
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
That's because you deliver!One reason is that more checks means more UPS usage for the biter pathfinding, another is that we didn't think it was necessary
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
A biter can have any size of collision box, and any collision mask, checking for tile collision isn't a simple boolean.BattleFluffy wrote: βFri Apr 24, 2020 7:14 pmI see, thanks for explaining that. :>
So the 5% slowdown is because of the extra time needed to look at those adjacent tiles, to check whether this tile is therefore traversable or not.
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?
I understand it's necessary to look at adjacent tiles in order to know what kind of transition to display, but for bitter pathfinding this seems unnecessary?
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.
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
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 FridayBattleFluffy wrote: βFri Apr 24, 2020 7:14 pmWhat 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?
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
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.
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
Why not make it so that if water is between two tiles like that, it becomes shallow water?
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
Perhaps the pathfinding changes could be enabled for biters on death worlds? Considering that the whole point of the mode is to increase the challenge of the biters, it would make sense for them to be a bit smarter.
That also mitigates some of the UPS concerns since the majority of the players who are building megabases are already not doing so on death worlds.
That also mitigates some of the UPS concerns since the majority of the players who are building megabases are already not doing so on death worlds.
I make mods! Feedback is appreciated, particularly if I broke something.
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
Slightly OT, are there any plans to update the table of 'things remaining before 1.0' a la this prior FFF:
https://factorio.com/blog/post/fff-282
I find it very interesting to be able to view progress at a high level like that even when a certain area is not the subject of the current FFF.
Separately, can anyone tell me whether the blueprint improvements have landed in 0.18? I was planning to hold off until 0.18 reaches stable, but I could be tempted to upgrade to experimental if blueprints are massively improved. I'm finally at a point where I have lots of robots and can really leverage blueprints, and I really am struggling with how to use them effectively.
I'm sure I could figure them out, eventually, but I almost feel like it's not worth my time given the planned blueprint improvements.
https://factorio.com/blog/post/fff-282
I find it very interesting to be able to view progress at a high level like that even when a certain area is not the subject of the current FFF.
Separately, can anyone tell me whether the blueprint improvements have landed in 0.18? I was planning to hold off until 0.18 reaches stable, but I could be tempted to upgrade to experimental if blueprints are massively improved. I'm finally at a point where I have lots of robots and can really leverage blueprints, and I really am struggling with how to use them effectively.
I'm sure I could figure them out, eventually, but I almost feel like it's not worth my time given the planned blueprint improvements.
-
- Filter Inserter
- Posts: 482
- Joined: Tue Jun 26, 2018 10:14 am
- Contact:
Re: Friday Facts #344 - Tile transition collisions & Team Steelaxe speedrun record.
You could view the chunk component contraction used by the pathfinder as a kind of a crude collision check cache. It tells you whether you can go from one chunk to another, and that information is stored and re-used.coppercoil wrote: βFri Apr 24, 2020 9:00 pmHow about some temporary chunk-level cache that is released quickly when it's not used within X ticks?