Skip to content

feat: Homing Screamers 1.1, the game's own guidance flies the player's Screamers - #68

Open
LordBlacksun wants to merge 1 commit into
OpenReliant:mainfrom
LordBlacksun:feat/homing-screamers-1.1
Open

LordBlacksun wants to merge 1 commit into
OpenReliant:mainfrom
LordBlacksun:feat/homing-screamers-1.1

Conversation

@LordBlacksun

Copy link
Copy Markdown
Member

The player's Screamers now home with the game's own guidance. The script sets the missile's homes field (OpenReliant/openreliant#1154, in OpenReliant 0.13) and drops its own steering: the turn it kept, the speed it cut and the flight model. What stays is what the game doesn't do: giving each of the player's Screamers the player's target as it leaves its pod, locked or not.

That removes the differences 1.0 listed. The target gets a missile warning, so the AI drops countermeasures and a decoy can draw the Screamer off. The Screamer ends once its target is lost, arrives as the AI's do, and aims at the part of a ship the AI aims at.

The script sets homes only where, as far as a script can tell, the AI would aim at the target: a ship that isn't exploding, cloaked, disabled or ejected and can be targeted, and, for a component, one that isn't destroyed. Otherwise the Screamer flies straight as before, since the game's guidance would end it after its pod launch. A script can't see a ship sent off or a hidden component, so a Screamer aimed at one of those still ends after its pod launch.

The mod now needs OpenReliant 0.13 (OpenReliant=0.13, Version=1.1), which is out. The description, the README and license.txt drop the differences and the steering.

I tested it headless on OpenReliant 0.13.0, with a local flight test that runs the script through the real scripting runtime and missile code (the 1.0 test, updated; it isn't part of this change). A Screamer is fired at a ship 8000 to the side and 15000 ahead, flying on at 200 a step:

  • The player's Screamer flies as a wingman's does: both come within 167 of the ship at step 114 and light its missile warning. With 1.0 on 0.13, the player's came within 589 at step 154 and warned no one.
  • It ends on the step its target explodes, cloaks, is disabled, ejects or can no longer be targeted, as the wingman's does.
  • With no target, or with a target barred in one of those ways at launch, it flies straight until its flight time runs out, as without the mod, and warns no one.
  • Aimed at a component of the ship, it flies as a wingman's does while the component stands (in the test the ship's parts don't move with it, so neither reaches it, but both warn it). At a component destroyed before the launch, a wingman's ends as its pod launch is over, and the player's flies straight.
  • The pod jettisoned after its last Screamer gets no target and no guidance.

Setting homes on every Screamer, or leaving out the pod check, the cloaked check or the component check, each makes one of these fail. The collection's checks pass locally with 0.13.0's sltool (release.py --dry-run and site.py), with the artists' repositories left out. I haven't flown 1.1 in the game yet.

Closes #64

…s Screamers

OpenReliant 0.13 lets a missile script set `homes` (OpenReliant/openreliant#1154), so the mod no
longer steers the player's Screamers itself. It gives each of them the player's target as it leaves
its pod, as before, and sets `homes`, so they home, warn their target and follow decoys as the AI's
do. Where the AI wouldn't aim at the target, as far as a script can tell, the Screamer flies
straight as before, since the game's guidance would end it after its pod launch.

Closes OpenReliant#64

This branch has not been deployed

No deployments
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.

Homing Screamers: let the game home the Screamers with homes

1 participant