PapaJoesSoup / BDArmory

Gun turrets and other weapon systems for KSP
114 stars 57 forks source link

Helicopter/VTOL and Tank AI modes. #354

Open RedReflection opened 6 years ago

RedReflection commented 6 years ago

A button in the hanger that can select which type of craft the AI will be piloting.

Helicopter - thrust perpendicular to velocity.

VTOL - some thrust vertical and some horizontal ( may or may not transition to full horizontal thrust ) Throttle Controlled Avionics can do a lot of the hard work, but the TCA pilot and the BDA pilot don't play well with each other.

Tank/Ship - Land or Sea based. Should be able to move to engage, hold a patrol route, or defend an area.

In addition, AIs should be able to hold and defend an area, rather than relentlessly pursuing into danger/away from safety.

ghost commented 6 years ago

I don't really know about the VTOL. Does the AI know how to change modes for a VTOL engine? VTOL engines usually use a firespitter plugin to have their function, and BDA doesn't play that nice with firespitter props.

jrodrigv commented 6 years ago

OMG that is such an epic feature in terms of complexity . Each of them is epic on its own:

Tank/Ship - Land or Sea based . I would expect this one to be implemented first. Maybe during 2018.

2017-11-06 15:29 GMT+01:00 Murican_Jeb notifications@github.com:

I don't really know about the VTOL. Does the AI know how to change modes for a VTOL engine? VTOL engines usually use a firespitter plugin to have their function, and BDA doesn't play that nice with firespitter props.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/PapaJoesSoup/BDArmory/issues/354#issuecomment-342164912, or mute the thread https://github.com/notifications/unsubscribe-auth/AH6I-3HQ_3IyvU_shKV_7OZAtlDjjmitks5szxfZgaJpZM4QSlyC .

RedReflection commented 6 years ago

Can't we manually tell it which mode is which? Say, defaults to vertical thrust, then switch mode for horizontal?

RedReflection commented 6 years ago

As far as land-based is concerned, can't we just strip out climbing and altitude based behaviour from the existing AI? Hell, as a starting point all a basic land/sea AI would have to do is just drive in a straight line, and turn every once in a while.

ghost commented 6 years ago

Yes, but then pitch would probably have to be configured as the "throttle." We should also have a way point system so the AI goes where we want to and stops following the way point route for combat, then returns to the way point route, and then we have to make the AI use roll (or yaw, depends on your settings for your vessel. However, this could be an option in the AI itself) so it can steer and then...

Lots of ideas, but can we really code it right now? And if yes, can we make it good?

I like your idea, but I'm just saying there are always limitations. No offense intended in this post.

PapaJoesSoup commented 6 years ago

It would seem to be easy, but the ease of use the user experiences belies the complexities "under the hood".

This is not to say that it not doable, but I suspect that it will not be as simple as you might think.

There are a myriad of conditions to consider, and a refactor of the AI code to leverage code reuse.

It is definitely on our roadmap however, never fear.

jrodrigv commented 6 years ago

Sorry for the close/reopen...

RedReflection commented 6 years ago

Oh, that's ok, I totally get that it is not a trivial task. Just wanted to keep it on the radar. :)

RichardDastardly commented 6 years ago

The current AI couldn't handle any of this, at all. While new pilot AI isn't a bad idea, not any time soon unless someone's started on it quietly already ( or at least got further than the "had some reasonably detailed ideas" stage I'm at ).

Gedas-S commented 6 years ago

I ended up implementing a (rather basic) ship AI (the ones floating in water), including a few code tweaks to make the whole thing work with multiple types of AI modules.

Here's a few posts of it in action: https://www.youtube.com/watch?v=oiRJnbxMMXg https://forum.kerbalspaceprogram.com/index.php?/topic/166568-naval-battles-defeat-other-player-ships/&do=findComment&comment=3230691 https://forum.kerbalspaceprogram.com/index.php?/topic/166568-naval-battles-defeat-other-player-ships/&do=findComment&comment=3231184 https://www.youtube.com/watch?v=wO1-XCkU9VQ

Would this be useful, should I create a pull request?

talker2 commented 2 years ago

I ended up implementing a (rather basic) ship AI (the ones floating in water), including a few code tweaks to make the whole thing work with multiple types of AI modules.

Here's a few posts of it in action: https://www.youtube.com/watch?v=oiRJnbxMMXg https://forum.kerbalspaceprogram.com/index.php?/topic/166568-naval-battles-defeat-other-player-ships/&do=findComment&comment=3230691 https://forum.kerbalspaceprogram.com/index.php?/topic/166568-naval-battles-defeat-other-player-ships/&do=findComment&comment=3231184 https://www.youtube.com/watch?v=wO1-XCkU9VQ

Would this be useful, should I create a pull request?

yes please.