Loader
logo

Post reply

Note: this post will not display until it has been approved by a moderator.
Attachments: (Clear attachments)
Restrictions: 4 per post (4 remaining), maximum total size 192 KB, maximum individual size 128 KB
Uncheck the attachments you no longer want attached
Click or drag files here to attach them.
Other options
Shortcuts: ALT+S post or ALT+P preview

Topic summary

Posted by Produno
 - April 07, 2021, 01:10:14 PM
Quote from: McCoy! on December 23, 2020, 11:53:29 PM
Quote from: Produno on November 09, 2020, 10:46:10 AM
There are ways of doing anything, if you hack it in or make it extremely un-performant. The case here would be having to check every single party on the map to see when they went to one of these locations, then deciding what to do with them.

It would take a lot of work to make it work right. ACoK does not have a proper North of the Wall, where parties can roam freely between the two. They are completely separated and i guess the option to not pass is only for the player. This is the easy part and can be done in about 15 mins of coding. The hard part is working out where all the Ai for travel is for the NPC parties, finding out when they get to certain locations, then deciding what to do with them, or how.
Imo, its not worth the effort, or decrease in performance for the mod to make this achievable.
Is python really that difficult to work with?
If GetDiplomacy(ValeFaction,FactionAtDoor) == Enemy or GetRelations(ValeFaction,FactionAtDoor) < -10 then
    fight
end

^^Instead of processing all the AI is it possible to run a check on separate threads which lets most pass unaffected and only triggers a stoppage in a special scenario? Or is all of it processed on a single thread and zero option of being able to run the two codes simultaneously? (Two codes = 1. default movement code of AI and 2. scanning of area for enemies).

Edit: Maybe a scan loop?

An extremely late reply here, but the warband script is not the same as Python. There is no way to specify what threads what runs on, even some fully fledged game engines do not make that kind of thing easy. Also if we want to get a faction, we need to loop through every other faction and check against each until we find the one we want. We dont have the luxury of anything that normal languages implements.

For example, in another language you could potentially use the Observer pattern for this.
Posted by McCoy!
 - December 23, 2020, 11:53:29 PM
Quote from: Produno on November 09, 2020, 10:46:10 AM
There are ways of doing anything, if you hack it in or make it extremely un-performant. The case here would be having to check every single party on the map to see when they went to one of these locations, then deciding what to do with them.

It would take a lot of work to make it work right. ACoK does not have a proper North of the Wall, where parties can roam freely between the two. They are completely separated and i guess the option to not pass is only for the player. This is the easy part and can be done in about 15 mins of coding. The hard part is working out where all the Ai for travel is for the NPC parties, finding out when they get to certain locations, then deciding what to do with them, or how.
Imo, its not worth the effort, or decrease in performance for the mod to make this achievable.
Is python really that difficult to work with?
If GetDiplomacy(ValeFaction,FactionAtDoor) == Enemy or GetRelations(ValeFaction,FactionAtDoor) < -10 then
    fight
end

^^Instead of processing all the AI is it possible to run a check on separate threads which lets most pass unaffected and only triggers a stoppage in a special scenario? Or is all of it processed on a single thread and zero option of being able to run the two codes simultaneously? (Two codes = 1. default movement code of AI and 2. scanning of area for enemies).

Edit: Maybe a scan loop?
Posted by Produno
 - November 09, 2020, 10:46:10 AM
There are ways of doing anything, if you hack it in or make it extremely un-performant. The case here would be having to check every single party on the map to see when they went to one of these locations, then deciding what to do with them.

It would take a lot of work to make it work right. ACoK does not have a proper North of the Wall, where parties can roam freely between the two. They are completely separated and i guess the option to not pass is only for the player. This is the easy part and can be done in about 15 mins of coding. The hard part is working out where all the Ai for travel is for the NPC parties, finding out when they get to certain locations, then deciding what to do with them, or how.
Imo, its not worth the effort, or decrease in performance for the mod to make this achievable.
Posted by McCoy!
 - October 11, 2020, 08:41:15 PM
Quote from: Tages Grey on October 04, 2020, 10:48:33 PM
This is a limitation of the Warband engine and it is not something that can be overcome with clever coding, or that would of been done with the wall. You can order lords to patrol it or put a large patrol in the area to keep a strategic advantage.
The bloody gate is the strategic advantage lol. Who would leave those gates and fight on level ground? Using patrols makes it no different from any other location on the map

Quote from: Ronh on October 06, 2020, 07:35:03 PM
ACOK has a "travel beyond the wall" message while in castle black. why wouldn't this work at the bloody gate and at the twins?
I was very briefly part of the Westeros Total War Mod for MTWII. At the time I reached out to Xeryx who had spent thousands hours in the campaign_ai file. The issue was the greyjoys always attacking the lannisters at the start of the game instead of the Starks. I was told that the naval AI was bugged and that it was impossible to control where they landed. After experimenting myself for two weeks I figured out how to do what couldn't be done.


Scripting is very powerful and in my experience there is usually a way that no one has thought of to achieve your end goal...or in this case perhaps someone already has....
Posted by Ronh
 - October 06, 2020, 07:35:03 PM
ACOK has a "travel beyond the wall" message while in castle black. why wouldn't this work at the bloody gate and at the twins?
Posted by Tages Grey
 - October 04, 2020, 10:48:33 PM
This is a limitation of the Warband engine and it is not something that can be overcome with clever coding, or that would of been done with the wall. You can order lords to patrol it or put a large patrol in the area to keep a strategic advantage.   
Posted by McCoy!
 - September 30, 2020, 08:11:15 PM
Enemies pass right through The Bloody Gate like it's not even there. I'm sure there are map limitations that make managing this more difficult then it should be to properly manage but there really needs to be a fix for this. Better to remove the town altogether and seal it off with mountains then lose the obvious strategic advantage of conquering the Vale.

At the very least if nothing will be done at least rename the town/gate to the "Everyone's Welcome Gate" lol. With a 1000 man Garrison at the gate, I thought I had finally trapped those pesky Lannisters. Then they ran through the bloody gate like it wasn't even there and to add insult to injury when I stopped chasing them they came back through it to torment me even more lol

Thank you for your time and input on this matter