Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
- FactorioBot
- Factorio Staff
- Posts: 409
- Joined: Tue May 12, 2015 1:48 pm
-
- Filter Inserter
- Posts: 457
- Joined: Tue Jun 28, 2016 2:07 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Might as well make player characters not collide with each other while you're at it. Currently it's possible with certain mods to get stuck with two characters teleported to the same location, and it's always awkward when you get stuck running into someone with multiplayer lag.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Came here to say... that I'm loving the new Factorio Shirt that I have bought. Looking forward the day when someone actually recognizes it. (Probably take long since winter is coming.)
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
So mad! I live in Poznan but decided PGA is not as interesting as all-weekend-birthday-party. Now i have to reconsider...
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Hoho, we have started deathworld with friend few weeks ago and its already not so easy. This would be much more challenging! ![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
-
- Burner Inserter
- Posts: 11
- Joined: Fri Jul 19, 2019 12:55 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Our plan is to release early next week, likely Tuesday. This release will contain the biter change and the (first attempt) macOS notarizationJames_Hackett wrote: ↑Fri Oct 11, 2019 3:45 pmany idea when the biter changes will be released as 0.17.70? Will it be on the 14th to allow macOS users to continue to play?
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Is there any way you can learn from StarCraft zerglings when it comes to pathfinding for biters? The way zerglings almost "flow" around the map in a rush is very beautiful and is done with full collision activated. I'm sure some developer from Blizzard has done some writeup/presentation/whatever about this thing.
Edit: check this video for an example: https://www.youtube.com/watch?v=mLr1co1f5-c
Also, I suspect this is going to make biter attacks much tougher since there is much less of a "one by one" attack pattern now.
Edit: check this video for an example: https://www.youtube.com/watch?v=mLr1co1f5-c
Also, I suspect this is going to make biter attacks much tougher since there is much less of a "one by one" attack pattern now.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
I'm absolutely fine with this. Anyone who's familiar with StarCraft mechanics will tell you that worker units have collision disabled when ordered to mine minerals/gas.The solution we have decided, which some might consider a 'hack' is that we simply don't make biters collide with other biters.
At least with the biters, this can't be exploited for cheese strats!
![Razz :P](./images/smilies/icon_razz.gif)
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
I've heard the solution to this is making the AI ignore each other's collision boxes even though collision is turned on. There's some video on YT called "How Tiberian Sun fixed pathfinding" or something that goes into greater detail on the concept. Would link if I weren't on mobile.Tankh wrote: ↑Fri Oct 11, 2019 3:55 pmIs there any way you can learn from StarCraft zerglings when it comes to pathfinding for biters? The way zerglings almost "flow" around the map in a rush is very beautiful and is done with full collision activated. I'm sure some developer from Blizzard has done some writeup/presentation/whatever about this thing.
Edit: check this video for an example: https://www.youtube.com/watch?v=mLr1co1f5-c
Also, I suspect this is going to make biter attacks much tougher since there is much less of a "one by one" attack pattern now.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
oh no I wan't gears and stuff as entities in Factorio that would be glorious
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
I love the biter improvement, it always seemed so unnatural for them to do the mating dance before attacking ![Smile :)](./images/smilies/icon_e_smile.gif)
Can you improve the way they move through forests as well? It would be great and terrifying to see a big flow of biters coming out from woods!
![Smile :)](./images/smilies/icon_e_smile.gif)
Can you improve the way they move through forests as well? It would be great and terrifying to see a big flow of biters coming out from woods!
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
So now that you're signing macOS binaries, what about signing Windows binaries too, so that we get "Software from Wube" instead of "Software from a scary unknown source" when we install?
-
- Fast Inserter
- Posts: 141
- Joined: Wed Feb 03, 2016 7:16 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
i have to say, the "non collision biters" look and behave waaay better then the old one. And final a challenge, as the can attack as big group not one by one. ![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
-
- Fast Inserter
- Posts: 104
- Joined: Tue Nov 15, 2016 10:56 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
As always, love the FFF.
What would be extremely useful is the ability to copy one part of a map to another map (or a new map). Will the script do this? Including entities?
What would be extremely useful is the ability to copy one part of a map to another map (or a new map). Will the script do this? Including entities?
"And then Bender ran."
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
So now it's almost impossible to get out of natives' bases in case of surrounding...
Also, +1 for idea about disabling player-player collisions (at least within force).
Also, +1 for idea about disabling player-player collisions (at least within force).
-
- Filter Inserter
- Posts: 355
- Joined: Mon Aug 01, 2016 2:38 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
I am happy with the new biter changes. That attack looks so much better now. I welcome the challenge of those attack waves rather than the 'mating dance' followed by a small stream of biters to the defenses.
Rampant AI mod may have just gotten extremely HARD with this. Waves of 200+ biters may actually break holes in defenses! I like that!![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Rampant AI mod may have just gotten extremely HARD with this. Waves of 200+ biters may actually break holes in defenses! I like that!
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
I gave up on making MacOS ports of various things I have. It seemed to be almost impossible without paying for a developer licence (for iPad/iPhone apps), lots of accounts and signing tools, and then *only* using XCode to compile (even when you use other tools, the only reliable way seemed to be to eventually use the XCode tools to compile the thing, on a real Mac). And XCode and the associated compilers etc. doesn't necessarily like an awful lot of stuff that I use in my development.
And then you have to religiously update the OS to keep on the latest XCode to be able to compile the app, for every little change they make to anything (store, API, XCode, MacOS, etc.)
Sorry, but that barrier to developers has been around for an awfully long time. It's nothing new.
Every other platform - just a few pre-processor directives in the code, run it through any one of dozens of compilers / compiler versions, get a binary out and/or cross-compile from one platform to the other with little bother at all and barely needing to do a little "does it run" test afterwards to prove it actually worked.
There's a reason you can't find a MacOS developer - you would literally have to pay me extra just to suffer that tomfoolery just to port an app (let alone write one) to their platform. And after 10 years trying to get them to sort out educational iPad accounts, GDPR compliance, etc. I'm not surprised that their process sucks. They have no interest in what people actually tell them - the iWay or the highway - and they are the all-seeing, all-knowing people who must be obeyed if you want to do anything, no matter how stupid their processes.
I would honestly start to consider that if their processes start to hinder you that you just abandon the platform, even if it upsets a minority of your users.
And then you have to religiously update the OS to keep on the latest XCode to be able to compile the app, for every little change they make to anything (store, API, XCode, MacOS, etc.)
Sorry, but that barrier to developers has been around for an awfully long time. It's nothing new.
Every other platform - just a few pre-processor directives in the code, run it through any one of dozens of compilers / compiler versions, get a binary out and/or cross-compile from one platform to the other with little bother at all and barely needing to do a little "does it run" test afterwards to prove it actually worked.
There's a reason you can't find a MacOS developer - you would literally have to pay me extra just to suffer that tomfoolery just to port an app (let alone write one) to their platform. And after 10 years trying to get them to sort out educational iPad accounts, GDPR compliance, etc. I'm not surprised that their process sucks. They have no interest in what people actually tell them - the iWay or the highway - and they are the all-seeing, all-knowing people who must be obeyed if you want to do anything, no matter how stupid their processes.
I would honestly start to consider that if their processes start to hinder you that you just abandon the platform, even if it upsets a minority of your users.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
P.S. Re: pathfinding:
It would probably be too heavy for something like Factorio, but in the past I've implemented A* with a twist - rather than just a graph of points weighted only by distance between them that they navigate through, I have it so that the points are weighted by future AI movements.
So, for instance, when you're pathfinding, and you move one square / time unit / node away from the origin, you then incorporate anything else that you have directed to be there next tick. When you're looking at nodes two-ticks away, you incorporate anything that is destined to be there in two-ticks.
Basically, "predicting" the future, by use of, say, 10-tick lookahead for AI movements. You pathfind the first guy, he navigates round obstacles, chooses his path. The next guy you pathfind, he knows where guy #1 is going to want to be for each tick, he avoids those locations (through use of the standard A* weighting of node-distance but with an additional factor for "is there going to be someone else there when this guy reaches that point?"). The next guy knows where both #1 and #2 will be, including any detours that #2 had to make to avoid #1, and so on.
It adds to the pathfinding cost, but if you do it right, it's just a modification to the node-weighting calculation and an array of "future" positions for a certain amount of look-ahead (e.g. up to 10 ticks / 10 nodes away, however you're weighting things). It worked in a game I made, where re-routing was rare and only really done when obstacles were encountered. If you go too mad, it brings the game to a halt and all the AI appear to be completely psychic and far too organised.
If you don't look ahead enough, they just act like they do here. But if you have the right balance, they "see" enough of the people around them to move as a coherent group, while not looking like they just stepped out of Psychics Anonymous.
It would probably be too heavy for something like Factorio, but in the past I've implemented A* with a twist - rather than just a graph of points weighted only by distance between them that they navigate through, I have it so that the points are weighted by future AI movements.
So, for instance, when you're pathfinding, and you move one square / time unit / node away from the origin, you then incorporate anything else that you have directed to be there next tick. When you're looking at nodes two-ticks away, you incorporate anything that is destined to be there in two-ticks.
Basically, "predicting" the future, by use of, say, 10-tick lookahead for AI movements. You pathfind the first guy, he navigates round obstacles, chooses his path. The next guy you pathfind, he knows where guy #1 is going to want to be for each tick, he avoids those locations (through use of the standard A* weighting of node-distance but with an additional factor for "is there going to be someone else there when this guy reaches that point?"). The next guy knows where both #1 and #2 will be, including any detours that #2 had to make to avoid #1, and so on.
It adds to the pathfinding cost, but if you do it right, it's just a modification to the node-weighting calculation and an array of "future" positions for a certain amount of look-ahead (e.g. up to 10 ticks / 10 nodes away, however you're weighting things). It worked in a game I made, where re-routing was rare and only really done when obstacles were encountered. If you go too mad, it brings the game to a halt and all the AI appear to be completely psychic and far too organised.
If you don't look ahead enough, they just act like they do here. But if you have the right balance, they "see" enough of the people around them to move as a coherent group, while not looking like they just stepped out of Psychics Anonymous.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
What is the appropriate place to post feedback/bug reports for GearyGrinder?
No texts (the level number, gear speed, all tooltips) display for me, the only texts I can see are the prerendered ones in pngs.
No texts (the level number, gear speed, all tooltips) display for me, the only texts I can see are the prerendered ones in pngs.