Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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!
- brunzenstein
- Smart Inserter
- Posts: 1112
- Joined: Tue Mar 01, 2016 2:27 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Thank you for the Catalin part in the last FF indeed -Klonan wrote: βFri Oct 11, 2019 3:53 pmOur 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 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?
-
- Burner Inserter
- Posts: 6
- Joined: Tue Jan 24, 2017 4:59 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
> 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.
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.
-
- Filter Inserter
- Posts: 671
- Joined: Sat Jun 06, 2015 2:23 am
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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.
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.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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.
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.
-
- Long Handed Inserter
- Posts: 70
- Joined: Sat May 16, 2015 4:39 am
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Looks like I'm going to have to build tighter defenses.
-
- Inserter
- Posts: 37
- Joined: Fri Dec 22, 2017 4:43 am
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
Here it is. The Ars writeup, with the video embedded.KoblerMan wrote: βFri Oct 11, 2019 4:07 pmI'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 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.
Yeah, a similar pathfinding AI would be great for the biters!
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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...Apple signing woes
wheybags
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: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.
- 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."
- 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".
- To verify your signature / notarization status, run spctl -a -vvv /Applications/Factorio.app [insert whatever path and file name is appropriate].
- 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.
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
- BlueTemplar
- Smart Inserter
- Posts: 3026
- Joined: Fri Jun 08, 2018 2:16 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
I thought that Rampant already implemented a fix for this issue a while ago ?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!
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.Rampant Features wrote:Swarming - Units will smoothly slide by one another allowing for streamlined attacking
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)
- BlueTemplar
- Smart Inserter
- Posts: 3026
- Joined: Fri Jun 08, 2018 2:16 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
I managed to get stuck in a cliff corner (you know the one I'm talking about ) using AAI Fuel-powered AAI Flame Tumbler on a Dectorio's Wooden Floorboards road ( ==> top speed over 250 km/h !).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.
BobDiggity (mod-scenario-pack)
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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.
Units in "hold position" reject the pushing behavior and will not yield to friendly units.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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?
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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?
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
This video contains some pretty cool things about various rts things
https://www.youtube.com/watch?v=S-VAL7Epn3o
https://www.youtube.com/watch?v=S-VAL7Epn3o
- Unknow0059
- Fast Inserter
- Posts: 101
- Joined: Tue Aug 08, 2017 7:37 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
At a glance, that gear game looks like something Zachtronics would make.
-
- Filter Inserter
- Posts: 464
- Joined: Tue Jun 28, 2016 2:07 pm
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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.Omarflyjoemacky wrote: βFri Oct 11, 2019 4:56 pmWhat 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?
Import layer -> Clone region on the imported layer -> Paste onto the new Nauvis surface -> Delete the imported layer again.
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
It follows a very similar formula. Play it!Unknow0059 wrote: βSat Oct 12, 2019 12:11 am At a glance, that gear game looks like something Zachtronics would make.
-
- Filter Inserter
- Posts: 500
- Joined: Tue Jun 26, 2018 10:14 am
- Contact:
Re: Friday Facts #316 - Map editor Lua snippets & Non-colliding Biters
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?
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.