Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement g_bot_{aliens,humans}AvoidStruct #1550

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

necessarily-equal
Copy link
Contributor

This is groundwork for a tutorial level. I guess it may be useful for a low-skill bot server too?

This implementation is quite dirty, I'm not not too happy with it either. Don't hesitate to suggest improvements.

@necessarily-equal
Copy link
Contributor Author

rebased

@slipher
Copy link
Contributor

slipher commented Oct 24, 2021

What kind of tutorial level? How would it be useful?

@illwieckz
Copy link
Member

You can ask the player to attack a buildable and be sure bots on your team will not do it for you.

@Gireen
Copy link
Member

Gireen commented Oct 24, 2021

Interesting this function wasn't used before.
What happens if buildings are destroyed/deconstructed?
If i see this right medipads at a door would prevent bots from passing.

@necessarily-equal
Copy link
Contributor Author

Interesting this function wasn't used before. What happens if buildings are destroyed/deconstructed? If i see this right medipads at a door would prevent bots from passing.

Indeed. I intend to use this on maps with disabled ckit though, and the map placement should be carefully enough to avoid that kind of pitfall

@Gireen
Copy link
Member

Gireen commented Oct 24, 2021

Then it becomes not usable where its possible to build, like low skill servers.

This is only about bots accidental damaging buildings right?
Then i would still suggest to use HealthComponent to let bots deal no damage to buildings, since that also would include all distance attacks and have no side effects. If it is a float instead bool then the damage could also be reduced and used for training servers.

Besides that, i think BotEnableArea should be renamed to something else if there is no BotDisableArea anymore.

@slipher
Copy link
Contributor

slipher commented Oct 24, 2021

I would rather see you get your tutorial working first and host a server with your mod. Then people can try it, and we can decide whether people like it enough that it should be merged (and that it architecturally makes sense to merge things rather than having them as an independent branch).

Development of most mods is abandoned before reaching a playable state. And you may decide later that you want to implement things differently. Thus I'm hesitant to integrate this (fairly intrusive) code early.

@illwieckz
Copy link
Member

illwieckz commented Oct 24, 2021

I think it's a good idea to have it, it could even be part of some “dynamic bot skill” at some point, like when you join, bots would not attack buildables until a real player do some kills, along the idea of increasing the bot skill based on real player kill ratio, within the same game.

@necessarily-equal
Copy link
Contributor Author

Note that due to the way enabling and disabling navmesh works, this may cause conflicts with #1229. But according to Gireen « I don't think that this is used in any of our maps so far. » so it shouldn't cause any regression.

This would need a deeper refactor of how disabling navmesh is handled to fix properly.

I didn't touch the weapon ones because freem has a PR that already edit it
This is groundwork for a tutorial level. I guess it may be useful for
a low-skill bot server too?
@bmorel
Copy link
Contributor

bmorel commented Feb 24, 2022

Avoiding structs by hiding their navmesh won't always work, for 2 reasons:

  • this relies on a bug that I intend to fix
  • it depends on building's normals

Also, it means that someone on a building would be "hidden" from bots, and if that's a bot, it will be stuck.

@bmorel
Copy link
Contributor

bmorel commented Jul 29, 2022

ping.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants