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

Automatically rotate units with angle limits towards targets #6437

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from

Conversation

lL1l1
Copy link
Contributor

@lL1l1 lL1l1 commented Sep 7, 2024

Issue

Cybran carrier, Monkeylord, and Othuum have weapons with angle restrictions that require the unit to face a certain direction maximize DPS, but there is no simple way of doing so. In particular they don't attack optimally even when idle, which feels more like an oversight in their AI design rather than them staying still so that the player can micro them better later (whenever that will happen).

Description of the proposed changes

Adds SlavedToBody = true and appropriate SlavedToBodyArcRange values so that the units can hit moving targets while turning. The Monkeylord turns off its auto rotation when the laser is firing because it has a low 25 turn rate and its rotation is quite critical in micro (similar logic to Fatboy only rotating on attack orders).

Testing done on the proposed changes

The units can hit a spirit moving around the unit at max range.

(Ythotha is not part of these changes, it is just here for comparison since it is an existing auto rotating unit)

Land.unit.auto.rotation.mp4
Cyb.Carrier.auto.rotation.mp4

Additional context

Discord discussion on the topic.

Checklist

  • Changes are annotated, including comments where useful
  • Changes are documented in the changelog for the next game version

All 4 of its AA weapons can only hit within 30 degrees in front of it due to HeadingArcCenter and HeadingArcRange. Tested with spy plane and 27 degrees allows it to keep firing while turning.
Its bolters fire together only within 45 degrees in front. 39 degrees arc range allows it to lead the target and fire on it while turning.
Auto turning can get annoying when microing in close range and trying to maintain desired rotation for maneuvering around the enemy formation.
Its weapons are limited by heading arc to firing together within 45 degrees in front of itself.
@lL1l1 lL1l1 added area: balance related to units balance type: nice-to-have labels Sep 7, 2024
@Tagada14
Copy link
Collaborator

I can't find the discussion on discord, the link doesn't do anything for me. I don't recall reading about it either.

@lL1l1
Copy link
Contributor Author

lL1l1 commented Sep 16, 2024

The link should go to the balance discussion channel on september 3rd. It wasn't a thread in the balance team channel.

Copy link
Contributor

@BlackYps BlackYps left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The wording of the comments on SlavedToBody and SlavedToBodyArcRange could be improved as well.

if the weapon is "slaved" to the unit's body, thus requiring it to face its target to fire

I guess "it" is the body? It's not entirely clear.
I don't understand SlavedToBodyArcRange at all. What does this range do and how did you determine what values to use?

changelog/snippets/balance.6437.md Outdated Show resolved Hide resolved
@lL1l1
Copy link
Contributor Author

lL1l1 commented Sep 21, 2024

I guess "it" is the body? It's not entirely clear.

"It" is the heading of the unit, so usually the body.

I don't understand SlavedToBodyArcRange at all. What does this range do and how did you determine what values to use?

When targets are outside the range, the weapon will cause the unit to rotate towards the target to keep the target within the range. I determined it by moving a Spirit (aeon land scout, very fast) around the edge of the range at max range, and making sure that the weapon can still fire constantly while the target moves around the edge of the angle limits because the weapon has to have space within its angle limits to lead the target, while the unit angles itself without leading the target.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: balance related to units balance type: nice-to-have
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants