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

Regular reports on Factorio development.
csduff
Fast Inserter
Fast Inserter
Posts: 110
Joined: Thu Nov 22, 2018 3:42 pm
Contact:

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

Post by csduff »

Now that you've made a gear game, when will you fix the icon for the assembling machine 3? Those 3 interlocked gears can't rotate!

User avatar
brunzenstein
Smart Inserter
Smart Inserter
Posts: 1059
Joined: Tue Mar 01, 2016 2:27 pm
Contact:

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

Post by brunzenstein »

Klonan wrote: ↑
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
Thank you for the Catalin part in the last FF indeed -

Cacho Tognax
Burner Inserter
Burner Inserter
Posts: 6
Joined: Tue Jan 24, 2017 4:59 pm
Contact:

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

Post by Cacho Tognax »

> The solution we have decided, which some might consider a 'hack' is that we simply don't make biters collide with other biters. In the engine this was a rather simple change, and was already possible just using normal mods. The result speaks for itself:

This reminds me of how command & conquer: tiberian sun did it, the core idea simply put: when pathfinding ignore friendly units that move in the same direction, units might still slow down, but won't be doing all the dancing and still comfortably move as an horde.

EDIT: so apparently KoblerMan already brought it up, I guess I'm late.

factoriouzr
Filter Inserter
Filter Inserter
Posts: 660
Joined: Sat Jun 06, 2015 2:23 am
Contact:

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

Post by factoriouzr »

Please Please Please Please Please Please Please Please Please Please Please Please IMPROVE THE BLUEPRINT LIBRARY, ADD SUPPORT FOR UPDATING BLUEPRINTS WHILE KEEPING THEIR SETTINGS AND IMPLEMENT WHAT YOU PROMISED FOR THE BLUEPRINT LIBRARY/SYSTEM (ONE TO ONE AND A HALF YEARS AGO APPROXIMATELY). Everything takes forever with factorio development. You promised the improved blueprint library before 0.17 and that it would be in 0.17.0 and 0.17.0 was released in February 2019. I have been patient for all these features and all the ones you promised before that took years before they came out. Unfortunately the blueprint library is not in a good state. It's a mix of the old system, and some partial implementation of a linked blueprint library that doesn't work properly, yet you prioritize bug fixes instead of dividing the team and balancing bug fixes and new features. Now that finally 9 months after the release of 0.17.0 you finally go to implementing new features and you prioritize the most random things instead of what the community has been asking for for years and what you already promised to do.

I want to clarify, that I love factorio. You guys, the developers are generally good, but please understand the frustration of your community as well. Waiting for over a year for a promised feature that was supposed to be done in 0.17.0, when we were waiting for 0.17.0 for over a year in itself is not a good situation.

The change to remove collision from the biters is a bad one. This will lead to large armies of biters stacking on top of each other depending on settings, situations, and mods. This is not fair in terms of biter DPS vs turret DPS as turrets don't stack, and also leads to confusion and weird events like biters dying on the same spot and seeming to come back to life over and over again (when they happen to be standing on the same spot). Perhaps a better solution is to have them keep moving in a group while attacking and slowly branch off, or improve the path finding algorithm.

User avatar
Philip017
Filter Inserter
Filter Inserter
Posts: 355
Joined: Thu Sep 01, 2016 11:21 pm
Contact:

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

Post by Philip017 »

oh i can see the biter attacks now, they will be so many when they cant reach you, and then finally they find a path and they overrun you with so many mobs stacking on top of each other, lets hope the separation logic doesn't allow them to stand on top of each other and only reduces the collision box size allowing some overlap. still this is going to make the attacks more severe, and the dance they do gave the turrets a little breather, now they get no breaks and will need repairs more often, now i definitely see the need for that repair turret mod someone was working on becoming a necessity.

as for the geary grinder game, interesting concept, needs refinement, and more levels, but it was fun! i couldn't read the numbers, red on blue not a good combination for me, slightly color blind to that combination, but i was able to use windows magnifier to zoom into the numbers and see what it wanted. it was fun for an hour or so. though frustrating until i understood the controls. belts cant overlap, have to belt from source to destination, cant connect more than two gears together, with out using a belt. the splitter only inputs from the top, and cant rotate it. i can add a gear to the output but not the input to the splitter. the splitter cuts your rotation power in half, even though the gears appear to be the same size and 'should' remain at the same speed, perhaps make the input size 2 and the output size 4 to make it perform the function and work visually. the picture of the game seems to indicate that the belts can overlap, but it doesn't work as such in game, this made it initially confusing and frustrating as i didnt understand why, combined with the required must belt from source to destination. also i cant connect a gear to the final destination and it will only accept a belt, additionally confusing because the picture seems to indicate otherwise. recommend adjusting the graphic to an actually functioning one. my two cents should you consider working on the game further.

DaemosDaen
Long Handed Inserter
Long Handed Inserter
Posts: 69
Joined: Sat May 16, 2015 4:39 am
Contact:

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

Post by DaemosDaen »

Looks like I'm going to have to build tighter defenses.

TheBrain0110
Inserter
Inserter
Posts: 36
Joined: Fri Dec 22, 2017 4:43 am
Contact:

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

Post by TheBrain0110 »

KoblerMan wrote: ↑
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.
Here it is. The Ars writeup, with the video embedded.

Yeah, a similar pathfinding AI would be great for the biters!

m44v
Fast Inserter
Fast Inserter
Posts: 122
Joined: Sun May 15, 2016 8:55 pm
Contact:

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

Post by m44v »

fully support this change in biter pathfinding, it looks soo much better! would you devs also consider removing biter collision with trees as well? I find unnatural how biters get stuck and confused by forests, it's their native environment! Behemoths walking through trees might not look right, but you could make it so they just topple trees as they go.

mergele
Fast Inserter
Fast Inserter
Posts: 158
Joined: Sat Aug 20, 2016 5:45 am
Contact:

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

Post by mergele »

I too have no big issue with removing collision from biters. A possible issue I can see is with spitters. If to many of them are in an attacking group it might look quite stupid when all of them line up in a very fine firing line and make it too obvious that the collision is turned off in a immersion breaking manner. If I might suggest adding a 'if you are a spitter and not already firing and there is another spitter within x ddistance, don't start spitting and instead move closer'-part to the logic. That way spitters would spread out a bit more during an attack.

EnerJi
Long Handed Inserter
Long Handed Inserter
Posts: 59
Joined: Thu Aug 16, 2018 2:32 am
Contact:

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

Post by EnerJi »

Apple signing woes
wheybags
Perhaps I can assist? I've raised this issue a few times in recent months as even pre-Catalina I strenuously avoid running unsigned software. I'm not a professional developer, but I dabble and am willing to test...
To test, I grabbed the .app of 0.17.69, signed it, uploaded it to apples notarization server, and got the notarization process to succeed (eventually). I then copied it onto a completely fresh, default settings install of macOS Catalina, double clicked it, and it ran, with no security prompt. Problem solved, right? Well, after that I decided to do a sanity check, and copied over the completely unsigned binary of 0.17.68, and it ran just fine as well, also with no security prompt.
First of all, I want to introduce the commandline tool "spctl" which can be used to verify your signature and notarization status. Here are a few things to try or consider:
  1. From terminal, run "spctl --status" to confirm that Gatekeeper has not been disabled on the fresh install of Catalina. It should reply with "assessments enabled."
  2. If 0.17.68 has ever been manually run (bypassing Gatekeeper) on that fresh install of Catalina, macOS will "remember" that it was bypassed, and will go ahead and launch it without complaint. You can verify whether it's been bypassed by using the command spctl --list | grep "UNLABELED".
  3. To verify your signature / notarization status, run spctl -a -vvv /Applications/Factorio.app [insert whatever path and file name is appropriate].
  4. Finally, if you have notarized an application with Apple but neglect to attach the notarization to the application, the application should still run as long as the user has Internet access as Gatekeeper will perform a real-time lookup. Best practice, however, is to "staple" the notarization to the app so that the app will still run if the user is offline or if Apple's service has an outage.
Edit:

I realize this is not supposed to work until 0.70, but just for fun I downloaded the 0.17.69 macOS demo from https://factorio.com/download-demo and tested it. Results:

Code: Select all

spctl -a -vvv ./factorio.app/
./factorio.app/: rejected
source=no usable signature

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 2420
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

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

Post by BlueTemplar »

RocketManChronicles wrote: ↑
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
I thought that Rampant already implemented a fix for this issue a while ago ?
Rampant Features wrote:Swarming - Units will smoothly slide by one another allowing for streamlined attacking
And, well, AFAIK (local) pathfinding better than in StarCraft2 and TibSun has been around for years now in the form of "Flowfield Pathfinding", based on the "Continuum Crowds" research.

Supreme Commander 2 (2010) :
https://www.youtube.com/watch?v=bovlsENv1g4

Spring (2012) :
https://www.youtube.com/watch?v=4rycY4JfLGs
C++ code : https://github.com/spring/spring/tree/d ... s/Sim/Path
See this video of their alternate "QTPFS" (long-range) pathfinder weighting paths and finding its way in real time, but is too costly to use on large maps ?


Zero-K/Spring (2016) :
https://www.youtube.com/watch?v=d9GG15EHlS8
Lua code for AI pathfinder ? https://github.com/ZeroK-RTS/Zero-K/blo ... erator.lua
BobDiggity (mod-scenario-pack)

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 2420
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

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

Post by BlueTemplar »

IronCartographer wrote: ↑
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.
I managed to get stuck in a cliff corner (you know the one I'm talking about :evil: ) using AAI Fuel-powered AAI Flame Tumbler on a Dectorio's Wooden Floorboards road ( ==> top speed over 250 km/h !).
Image
BobDiggity (mod-scenario-pack)

bobucles
Smart Inserter
Smart Inserter
Posts: 1669
Joined: Wed Jun 10, 2015 10:37 pm
Contact:

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

Post by bobucles »

Some of the starcraft pathing tricks can be seen when you set a unit to "stop" in the middle of a group. The surrounding units don't consider it an obstacle at all, but they also have some agency to push other units around. They ignore each other as pathing obstacles and attempt to move in a vectored direction, but the secondary push maintains the required distance between them at the same time. If they all want to move the same direction, it works out fine and ends up looking a bit like a fluid blob.

Units in "hold position" reject the pushing behavior and will not yield to friendly units.

henke37
Long Handed Inserter
Long Handed Inserter
Posts: 91
Joined: Mon Jul 18, 2016 5:43 pm
Contact:

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

Post by henke37 »

The suggestion to sign the executable is three years old now. Not exactly a lot of time to get it done, I know, but surely they could've done it by now?

Recon777
Filter Inserter
Filter Inserter
Posts: 267
Joined: Fri Jun 10, 2016 4:04 am
Contact:

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

Post by Recon777 »

Regarding the non-colliding biters: Doesn't this also mean that an entire swarm could overlap onto a tiny space and attack through a choke point with the same effectiveness as if the choke point wasn't there?

Runex
Burner Inserter
Burner Inserter
Posts: 12
Joined: Thu Oct 16, 2014 5:53 pm

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

Post by Runex »

This video contains some pretty cool things about various rts things

https://www.youtube.com/watch?v=S-VAL7Epn3o

User avatar
Unknow0059
Long Handed Inserter
Long Handed Inserter
Posts: 95
Joined: Tue Aug 08, 2017 7:37 pm
Contact:

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

Post by Unknow0059 »

At a glance, that gear game looks like something Zachtronics would make.

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

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

Post by IronCartographer »

Omarflyjoemacky wrote: ↑
Fri Oct 11, 2019 4:56 pm
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?
The map editor already allows you to import layers from existing saves. I did this just a few days ago to migrate a base with its surrounding starting area to a new map with the Island preset and Repeating Islands overall pattern.

Import layer -> Clone region on the imported layer -> Paste onto the new Nauvis surface -> Delete the imported layer again.

User avatar
Drury
Filter Inserter
Filter Inserter
Posts: 782
Joined: Tue Mar 25, 2014 8:01 pm
Contact:

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

Post by Drury »

Unknow0059 wrote: ↑
Sat Oct 12, 2019 12:11 am
At a glance, that gear game looks like something Zachtronics would make.
It follows a very similar formula. Play it!

coppercoil
Filter Inserter
Filter Inserter
Posts: 470
Joined: Tue Jun 26, 2018 10:14 am
Contact:

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

Post by coppercoil »

Non-colliding biters looks good. How about a mix of biters and spitters? Will biter run through a spitter that just stopped to spit?
How about different sizes of biters that attact with different speed, will they run through each other?
Last edited by coppercoil on Sat Oct 12, 2019 9:47 am, edited 3 times in total.

Post Reply

Return to β€œNews”