[MOD 0.13] Armageddon - nice little disasters

Topics and discussion about specific mods
Qloshae
Inserter
Inserter
Posts: 36
Joined: Sun Apr 17, 2016 12:59 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by Qloshae »

binbinhfr wrote:
It didn't work on my old save tho, but that might have been because we were in our own personally named forces or something or because we were basically on an island with a few entrances so they AI might have gotten stuck.
Is it possible your base is larger than 1000 ? because frenzy calls aliens in a radius of 1000 around the area target position. I increased this a bit.
When you launch frenzy (manually or ni automatic), it target a zone on the map where there is a human construction (or was in the past). So maybe, you did not notice the attack. You should try several time on your old map. If it still does not work, maybe you can send me your save for testings (other mods are not needed).
Maybe? It's possible that it's just hard to notice.
Attachments
PvP with Onix - End of the World.zip
(52.98 MiB) Downloaded 158 times

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

I do not have control of the "tiers" you are talking about.
It depends on the evolution rate, which is managed by the game, and sometimes by lots of other mod that play with this evolution rate (sometimes lowering it). So this evolution rate is not garanty to always increase...

limits are described here, at the end of the page
https://wiki.factorio.com/index.php?title=Enemies

I looked at your map. Effectively, I made a lot of tests with debug, and the problem is that you are in an almost island, and most of your base is fully closed by walls. So my mod finds a target in your base, and command aliens to attack, but visibly, they do not find any path and get stuck where they are. On very rare occasions, the target is accessible and aliens find their way, but it's not often. I don't know what I can do about it. I have no way to know if some aliens will find their way or not... And it would be very difficult to compute what parts of your base are accessible or not.
My mods on the Factorio Mod Portal :geek:

Qloshae
Inserter
Inserter
Posts: 36
Joined: Sun Apr 17, 2016 12:59 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by Qloshae »

binbinhfr wrote:I do not have control of the "tiers" you are talking about.
It depends on the evolution rate, which is managed by the game, and sometimes by lots of other mod that play with this evolution rate (sometimes lowering it). So this evolution rate is not garanty to always increase...

limits are described here, at the end of the page
https://wiki.factorio.com/index.php?title=Enemies

I looked at your map. Effectively, I made a lot of tests with debug, and the problem is that you are in an almost island, and most of your base is fully closed by walls. So my mod finds a target in your base, and command aliens to attack, but visibly, they do not find any path and get stuck where they are. On very rare occasions, the target is accessible and aliens find their way, but it's not often. I don't know what I can do about it. I have no way to know if some aliens will find their way or not... And it would be very difficult to compute what parts of your base are accessible or not.
With tiers I meant more like evolution based numbers. :) So basically different frenzies based on the evolution. You've already implemented a min/max evolution, so it shouldn't be too hard to just copy paste and create different levels of severity of all of the armageddons.

Yea, that's what I figured as well. :) It's just one of those island issues. :)
I don't think it is worth the CPU power to calculate all the sub-chunks in the map between the aliens and the target to find the weakest path.
Could it maybe seek out two targets? First it goes for walls (like, trying to find the largest chunk with walls between two points) and then the same group is 1 minute later or so triggered to go for something that isn't a wall? Or maybe they could go in two waves?

It might not really be a problem tho. Might just be an island dweller thing. The game's biter AI is what it is.

EDIT: The game saves time played right? So could you check for time played instead of evolution? - viewtopic.php?f=25&t=874
First wave might come after 12 hours mark, then it tiers up at 24, then 48 and then the super hard comes at 96. With random armageddons in-between.
As far as I know, there's nothing that changes the time played.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

With tiers I meant more like evolution based numbers. :) So basically different frenzies based on the evolution. You've already implemented a min/max evolution, so it shouldn't be too hard to just copy paste and create different levels of severity of all of the armageddons.
For frenzy, I do not see what I can upscale with evolution, except number of called aliens. I have no control on the level of aliens around: they are generated by factorio during gameplay, according to evolution.

For tunnel invasion, I also scale the number of nest spawned on evolution.

Only Bitterzilla is not scale on evolution, because it is a hard coded prototype, and I cannot change its life ingame. Anyway he pops at evol = 0.95, so it's already end-game.
I don't think it is worth the CPU power to calculate all the sub-chunks in the map between the aliens and the target to find the weakest path.
Oh yes it is ! :-) Factorio API do not provide easy way to scan the map, finding path, etc...
They have their own complex pathfinder for aliens, but they do not share it in the API (as far as I know) :
https://www.factorio.com/blog/post/fff-121
Could it maybe seek out two targets? First it goes for walls (like, trying to find the largest chunk with walls between two points) and then the same group is 1 minute later or so triggered to go for something that isn't a wall?
Ha ha, you don't imagine the complexity of what you ask. It would take a lot of CPU using API tools. It would freeze the game each time I would try to create such a disaster. Then it would be a real disaster !!! :-D
It might not really be a problem tho. Might just be an island dweller thing. The game's biter AI is what it is.
Yes, but I just regret that the aliens do not even try to go to the target : on the road they would meet some obstacles, but they would destroy them. Alien API do not react like this.
The game saves time played right?
yes game.tick
So could you check for time played instead of evolution?
I could, but playing time is definitely not a good indicator of the game advance : some players are slow, other quick, some beginners, some experts. I prefer remaining on evolution which is more realistic. By the way, mods playing with evolution are often "depolution" mods : you depolute, so evolution lowers and aliens get smaller and quieter. So afterall, this is also logical that alien disasters become less important.
My mods on the Factorio Mod Portal :geek:

Qloshae
Inserter
Inserter
Posts: 36
Joined: Sun Apr 17, 2016 12:59 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by Qloshae »

binbinhfr wrote:Ha ha, you don't imagine the complexity of what you ask. It would take a lot of CPU using API tools. It would freeze the game each time I would try to create such a disaster. Then it would be a real disaster !!! :-D
Computemageddon? :P
Yes, but I just regret that the aliens do not even try to go to the target : on the road they would meet some obstacles, but they would destroy them. Alien API do not react like this.
Oh well. :)
I could, but playing time is definitely not a good indicator of the game advance : some players are slow, other quick, some beginners, some experts. I prefer remaining on evolution which is more realistic. By the way, mods playing with evolution are often "depolution" mods : you depolute, so evolution lowers and aliens get smaller and quieter. So afterall, this is also logical that alien disasters become less important.
True true. ^_^

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

with factorio 0.13.18, the bug on tunnel anim was corrected, so here is the return of the tunnel graphism for invasion.
And new probas for disasters spawning.

1.0.8 - reintroduce tunnel graphics with factorio 0.13.18
- rebalance proba of disasters
My mods on the Factorio Mod Portal :geek:

apriori
Filter Inserter
Filter Inserter
Posts: 259
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by apriori »

Hi! Mod seems cool.
Dunno why disasters happen too often (changed config option average_disaster_time to 5).
And also found a bug. But game works well. It's strange... See rows 107 and 272 in control.lua (v1.0.9):

force = game.forces.ennemy

EDIT:
And why plasma shells don't see Biterzilla? Do you know?
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

Hi,

If you think that disasters happen too often (for the moment at max evolution, they should happen an average once per 7 ingame days, so once per 50 minutes gameplay). If you want less often, you must increase average_disaster_time : from 7 to 14 for example will give an average 1 disaster per 1h40 game play.

you can now change this ingame with :
/c remote.call( "armageddon", "days", 14 )

Thanks for the bug correction. Infact it does not make an error, because when you call with a nil force (what I did), biters are created "enemy" by default ;-)
Explanation of my error : in french you write "ennemi" with 2 N ! :-)

I looked at plasma shells and I do not understand why it does not trigger on biterzilla... I must be something with the distance and the size of the biter, but I did not figure out what exactly...
My mods on the Factorio Mod Portal :geek:

apriori
Filter Inserter
Filter Inserter
Posts: 259
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by apriori »

Damn... I'm confused with words. I meant "disasters happen too rare", even after I had changed delay from 7 to 5 days. But then I looked into control.lua and understood (.../1+delay) that delay can be up to 2 times more than it's defined.

Thank you for the reply!

Btw, I've added a little bit more interest for personal use:

Code: Select all

script.on_event(defines.events.on_entity_died, function(event)
  if event.entity.force.name == "enemy" and event.entity.name == "biter-spawner" then
    local chance = math.random(100)
    if chance <= 5 then
      local position = event.entity.surface.find_non_colliding_position("biterzilla", event.entity.position, 5, 1)
      if position then
        local zilla = event.entity.surface.create_entity{name="biterzilla", position=position, force = event.entity.force}
      end
    end
  end
end)
Will try to solve the issue with plasma shells. Thank you!
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

apriori wrote:Damn... I'm confused with words. I meant "disasters happen too rare", even after I had changed delay from 7 to 5 days. But then I looked into control.lua and understood (.../1+delay) that delay can be up to 2 times more than it's defined.
Yes, the delay changes with evolution : at the begining of the game, the delay is x2. At end game, it is x1.
So you should try to lower even more. Note that you can now change ingame using console command.

Ha ha, I see that you love the zilla ! ;-)

if you want your zilla to make area damage too, you must add it to the global list :

Code: Select all

			table.insert(global.biterzillas, { entity = zilla, countdown = disasters.biterzilla.activation_delay } )
My mods on the Factorio Mod Portal :geek:

apriori
Filter Inserter
Filter Inserter
Posts: 259
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by apriori »

JESUS CHRIST...
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

Ha ha ! strange, this should not happen... find_non_colliding_position should find a nice position on the map.
My mods on the Factorio Mod Portal :geek:

apriori
Filter Inserter
Filter Inserter
Posts: 259
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by apriori »

binbinhfr wrote:Ha ha ! strange, this should not happen... find_non_colliding_position should find a nice position on the map.
Well, it found. But then zilla just walked away on the water.

What does "not-repairable" mean? I didn't find such flag in another enemy units... May it cause "invisibility" for plasma shells?

EDIT: Here's a supposition from Rseding91 about zilla: viewtopic.php?f=93&t=16327&start=10#p201418
Your collision box and collision mask are zero. That/s why it can't be hit by plasma shells, pump gun shells and walks on water.
For zilla:

Code: Select all

--collision_mask = {},
collision_box = {{-3.2, -2.2}, {2.2, 2.2}},
selection_box = {{-3.4, -3.4}, {3.4, 3.4}},
Now he won't be able to walk on water and be invulnerable for any shells.
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

Ok thanks.
Originally I did this because, due to its size, the zilla had problems to move when he spawns in a built area. He as often stuck at the same place, making it very easy to kill... But I will change this in next version and we'll see if it's better.
My mods on the Factorio Mod Portal :geek:

apriori
Filter Inserter
Filter Inserter
Posts: 259
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by apriori »

binbinhfr wrote:Ok thanks.
Originally I did this because, due to its size, the zilla had problems to move when he spawns in a built area. He as often stuck at the same place, making it very easy to kill... But I will change this in next version and we'll see if it's better.
If zilla has a step-splash-damage (hits entities around him), it shouldn't be a problem to be stuck until nearby buildings are destroyed, IMHO...
EDIT: He could heavily damage all nearby entities on spawn to get away from spawn point faster.
Last edited by apriori on Wed Aug 31, 2016 6:21 pm, edited 1 time in total.
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

apriori wrote:If zilla has a step-splash-damage (hits entities around him), it shouldn't be a problem to be stuck until nearby buildings are destroyed, IMHO...
Yes but most of the times, if you are at end game, you have robots that instantly repair or rebuild buildings, keeping it trapped.
My mods on the Factorio Mod Portal :geek:

apriori
Filter Inserter
Filter Inserter
Posts: 259
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by apriori »

binbinhfr wrote: Yes but most of the times, if you are at end game, you have robots that instantly repair or rebuild buildings, keeping it trapped.
Oh, I forgot. You're right. )))) So, he could heavily damage all nearby entities on spawn to get away from spawn point faster.
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.

User avatar
binbinhfr
Smart Inserter
Smart Inserter
Posts: 1524
Joined: Sat Feb 27, 2016 7:37 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by binbinhfr »

well it should work asis, but you'd better limit his collision box :
collision_box = {{-0.1, -0.1}, {0.1,0.1}},

is enough and make him "skinny" enough to walk between buildings ;-)
that's what I put in last version and it seems to work.
My mods on the Factorio Mod Portal :geek:

apriori
Filter Inserter
Filter Inserter
Posts: 259
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by apriori »

binbinhfr wrote:is enough and make him "skinny" enough to walk between buildings ;-)
:lol: :rofl:
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.

apriori
Filter Inserter
Filter Inserter
Posts: 259
Joined: Thu Feb 18, 2016 8:13 pm
Contact:

Re: [MOD 0.13] Armageddon - nice little disasters

Post by apriori »

russian locale
Any code or mods posted by me are WTFPL, unless otherwise copyrights are specified.

Post Reply

Return to “Mods”