Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Regular reports on Factorio development.
User avatar
FactorioBot
Factorio Staff
Factorio Staff
Posts: 249
Joined: Tue May 12, 2015 1:48 pm

Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by FactorioBot » Fri Oct 11, 2019 3:30 pm


IronCartographer
Filter Inserter
Filter Inserter
Posts: 346
Joined: Tue Jun 28, 2016 2:07 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by IronCartographer » Fri Oct 11, 2019 3:34 pm

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.

User avatar
Gergely
Filter Inserter
Filter Inserter
Posts: 531
Joined: Sun Apr 10, 2016 8:31 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Gergely » Fri Oct 11, 2019 3:34 pm

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.)

el_penny
Burner Inserter
Burner Inserter
Posts: 5
Joined: Sat Jul 27, 2019 9:45 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by el_penny » Fri Oct 11, 2019 3:39 pm

So mad! I live in Poznan but decided PGA is not as interesting as all-weekend-birthday-party. Now i have to reconsider...

Elisse
Burner Inserter
Burner Inserter
Posts: 6
Joined: Thu May 16, 2019 7:00 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Elisse » Fri Oct 11, 2019 3:41 pm

Hoho, we have started deathworld with friend few weeks ago and its already not so easy. This would be much more challenging! :D

James_Hackett
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Jul 19, 2019 12:55 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by James_Hackett » Fri Oct 11, 2019 3:45 pm

any 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?

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 3964
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Klonan » Fri Oct 11, 2019 3:53 pm

James_Hackett wrote:
Fri Oct 11, 2019 3:45 pm
any 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?
Our plan is to release early next week, likely Tuesday. This release will contain the biter change and the (first attempt) macOS notarization

Tankh
Long Handed Inserter
Long Handed Inserter
Posts: 60
Joined: Tue Aug 12, 2014 1:35 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Tankh » Fri Oct 11, 2019 3:55 pm

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.

User avatar
KoblerMan
Long Handed Inserter
Long Handed Inserter
Posts: 98
Joined: Sat Mar 05, 2016 12:59 am
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by KoblerMan » Fri Oct 11, 2019 4:04 pm

The solution we have decided, which some might consider a 'hack' is that we simply don't make biters collide with other 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.

At least with the biters, this can't be exploited for cheese strats! :P
ImageImage
System Specs
OS: Windows 10 Professional 64 Bit
CPU: AMD FX 8350 (@~4.0 gHz)
GPU: Nvidia GTX 770
RAM: Corsair 32GB DDR3 (@~5200 MHz)
DRIVES: Kingston 256GB SSD, WD Black 6TB HDD

User avatar
KoblerMan
Long Handed Inserter
Long Handed Inserter
Posts: 98
Joined: Sat Mar 05, 2016 12:59 am
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by KoblerMan » Fri Oct 11, 2019 4:07 pm

Tankh wrote:
Fri Oct 11, 2019 3:55 pm
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.
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.
ImageImage
System Specs
OS: Windows 10 Professional 64 Bit
CPU: AMD FX 8350 (@~4.0 gHz)
GPU: Nvidia GTX 770
RAM: Corsair 32GB DDR3 (@~5200 MHz)
DRIVES: Kingston 256GB SSD, WD Black 6TB HDD

User avatar
Lubricus
Fast Inserter
Fast Inserter
Posts: 239
Joined: Sun Jun 04, 2017 12:13 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Lubricus » Fri Oct 11, 2019 4:19 pm

oh no I wan't gears and stuff as entities in Factorio that would be glorious

User avatar
Raphaello
Long Handed Inserter
Long Handed Inserter
Posts: 74
Joined: Fri Apr 21, 2017 7:04 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Raphaello » Fri Oct 11, 2019 4:35 pm

I love the biter improvement, it always seemed so unnatural for them to do the mating dance before attacking :)

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!

Kyralessa
Long Handed Inserter
Long Handed Inserter
Posts: 81
Joined: Thu Sep 29, 2016 5:58 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Kyralessa » Fri Oct 11, 2019 4:42 pm

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?

Ringkeeper
Fast Inserter
Fast Inserter
Posts: 120
Joined: Wed Feb 03, 2016 7:16 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Ringkeeper » Fri Oct 11, 2019 4:54 pm

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. :D

Omarflyjoemacky
Long Handed Inserter
Long Handed Inserter
Posts: 87
Joined: Tue Nov 15, 2016 10:56 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Omarflyjoemacky » Fri Oct 11, 2019 4:56 pm

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?
"And then Bender ran."

Merssedes
Long Handed Inserter
Long Handed Inserter
Posts: 83
Joined: Sun Oct 29, 2017 7:05 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Merssedes » Fri Oct 11, 2019 5:12 pm

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).

RocketManChronicles
Filter Inserter
Filter Inserter
Posts: 334
Joined: Mon Aug 01, 2016 2:38 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by RocketManChronicles » Fri Oct 11, 2019 5:50 pm

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! :D

User avatar
ledow
Long Handed Inserter
Long Handed Inserter
Posts: 90
Joined: Sat Sep 24, 2016 3:00 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by ledow » Fri Oct 11, 2019 5:54 pm

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.

User avatar
ledow
Long Handed Inserter
Long Handed Inserter
Posts: 90
Joined: Sat Sep 24, 2016 3:00 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by ledow » Fri Oct 11, 2019 6:02 pm

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.

Muche
Inserter
Inserter
Posts: 45
Joined: Fri Jun 02, 2017 6:20 pm
Contact:

Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters

Post by Muche » Fri Oct 11, 2019 6:24 pm

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.

Post Reply

Return to “News”

Who is online

Users browsing this forum: No registered users