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

Missile code needs refactoring #7509

Closed
reaperrr opened this Issue Feb 20, 2015 · 7 comments

Comments

Projects
None yet
4 participants
@reaperrr
Contributor

reaperrr commented Feb 20, 2015

It needs at least the following improvements, in my opinion:

  • proper 3D math
  • ROT should apply to vertical movement as well (maybe as separate VerticalROT)
  • customisable launch angle
  • support for lazy curve flight behavior (like Bullets with Angle, but with target tracking)
  • support for straight flight path instead of the current "move to target's Z height as quickly as possible" behavior
  • support for Airburst (as in TS)
  • support for voxel artwork

These would be nice to have as well:

  • acceleration (instead of constant speed from launch to impact)
  • customisable cruise altitude
  • customisable explosion altitude (might be better than just Airburst)
@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Feb 20, 2015

Member

We also need support for voxel artwork for TS/RA2.

Member

pchote commented Feb 20, 2015

We also need support for voxel artwork for TS/RA2.

@Phrohdoh

This comment has been minimized.

Show comment
Hide comment
@Phrohdoh

Phrohdoh Feb 20, 2015

Member

Nice list. I'll try and help over any free time I get (whether that be code or discussions on IRC).

Member

Phrohdoh commented Feb 20, 2015

Nice list. I'll try and help over any free time I get (whether that be code or discussions on IRC).

@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Feb 20, 2015

Contributor

We also need support for voxel artwork for TS/RA2.

True.

Additionally, I think

  • TurboBoost should define an integer percentage instead of just a bool with hardcoded value
  • High should be renamed to Blockable (default value needs to be reversed in that case), and
  • related: BlocksBullets should be renamed to BlocksProjectiles and define a customisable BlockHeight value which should then be compared to the projectile's altitude when it passes that actor (applies to all projectile types, of course).
Contributor

reaperrr commented Feb 20, 2015

We also need support for voxel artwork for TS/RA2.

True.

Additionally, I think

  • TurboBoost should define an integer percentage instead of just a bool with hardcoded value
  • High should be renamed to Blockable (default value needs to be reversed in that case), and
  • related: BlocksBullets should be renamed to BlocksProjectiles and define a customisable BlockHeight value which should then be compared to the projectile's altitude when it passes that actor (applies to all projectile types, of course).
@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Apr 5, 2015

Contributor

Supercedes #3736.

Contributor

reaperrr commented Apr 5, 2015

Supercedes #3736.

@GraionDilach

This comment has been minimized.

Show comment
Hide comment
@GraionDilach

GraionDilach Jun 29, 2015

Contributor

ROT should apply to vertical movement as well (maybe as separate VerticalROT)

https://github.com/OpenRA/OpenRA/blob/bleed/OpenRA.Mods.Common/Effects/Missile.cs#L32

Contributor

GraionDilach commented Jun 29, 2015

ROT should apply to vertical movement as well (maybe as separate VerticalROT)

https://github.com/OpenRA/OpenRA/blob/bleed/OpenRA.Mods.Common/Effects/Missile.cs#L32

@reaperrr

This comment has been minimized.

Show comment
Hide comment
@reaperrr

reaperrr Jun 29, 2015

Contributor

MaximumPitch works very different than a VerticalROT as I mean it would. For starters, it's Tan so the curve gets flatter the closer the missile is to the desired height. This looks fine for MiGs' Mavericks and anti-air missiles, but not bazookas and other surface-to-surface missiles. It's also more difficult to get right than a VerticalROT would be. Set the value too low, and the missile might miss its target because it didn't reach pos.Z = 0 quickly enough. Set it too high and the missile moves to zero height too quickly, flying at zero altitude most of the way which looks especially bad in isometric perspective (no visible shadow).

It should be able to follow a ballistic curve or at least fly directly towards the target (basically like TS/RA2 missiles did).

Contributor

reaperrr commented Jun 29, 2015

MaximumPitch works very different than a VerticalROT as I mean it would. For starters, it's Tan so the curve gets flatter the closer the missile is to the desired height. This looks fine for MiGs' Mavericks and anti-air missiles, but not bazookas and other surface-to-surface missiles. It's also more difficult to get right than a VerticalROT would be. Set the value too low, and the missile might miss its target because it didn't reach pos.Z = 0 quickly enough. Set it too high and the missile moves to zero height too quickly, flying at zero altitude most of the way which looks especially bad in isometric perspective (no visible shadow).

It should be able to follow a ballistic curve or at least fly directly towards the target (basically like TS/RA2 missiles did).

@pchote

This comment has been minimized.

Show comment
Hide comment
@pchote

pchote Nov 22, 2015

Member

Fixed by #8717 and followups.

Member

pchote commented Nov 22, 2015

Fixed by #8717 and followups.

@pchote pchote closed this Nov 22, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment