JonathanSafer / screeps

Screeps AI
MIT License
25 stars 7 forks source link

walls covering important points #168

Open JonathanSafer opened 3 years ago

JonathanSafer commented 3 years ago

at the moment, auto generated walls could block off access to locations that need adjacent access. We currently solve this by placing an extra road, but instead we could just check for proximity and place a rampart instead. Ideally we'd only place one rampart per location. This will also be necessary for any attempt to go roadless. #167 #155

DefaultO commented 10 months ago

I like this one so much more than Commie. You got a stable bot and don't push unstable stuff to it. The code is also very easy to understand. And the best thing: it even compiles without any issues! I am having a good time working with this one.

Do you plan to go with (more) ramparts one day @JonathanSafer? the walls are restricting proper defense that we could add to it one day. Walls are also bad for the map, since they don't decay.

Also how about making walls not static? Maybe even slowly turning the base into something dynamic. I was thinking about using algorithmic to get all valid spots for ramparts/walls that are at least 3 or 4 tiles away from the base (so ranged attacks can't hit important infrastructure). Then figuring out the smallest amount of ramparts needed to protect the base from all exits. Perhaps including a special baseplanner logic to put all towers next to the exit, if it is the only entrance.

JonathanSafer commented 10 months ago

I like this one so much more than Commie. You got a stable bot and don't push unstable stuff to it. The code is also very easy to understand. And the best thing: it even compiles without any issues! I am having a good time working with this one.

Do you plan to go with (more) ramparts one day @JonathanSafer? the walls are restricting proper defense that we could add to it one day. Walls are also bad for the map, since they don't decay.

Also how about making walls not static? Maybe even slowly turning the base into something dynamic. I was thinking about using algorithmic to get all valid spots for ramparts/walls that are at least 3 or 4 tiles away from the base (so ranged attacks can't hit important infrastructure). Then figuring out the smallest amount of ramparts needed to protect the base from all exits. Perhaps including a special baseplanner logic to put all towers next to the exit, if it is the only entrance.

I think this could be split into two issues.

  1. Dynamic wall placement would certainly be useful, and would lead the way for dynamic room planning in general.
  2. Ramparts are still a challenging topic. There are scenarios where walls are much better (low combat, long term), and scenarios where ramparts are much better. (Short term high combat). Perhaps we could have some dynamic system that'll keep track of the local threat level and build walls/ramps accordingly.