2025-07-22 14:27 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0003862Spring engineGeneralpublic2013-08-29 04:09
ReporterGoogle_Frog 
Assigned ToKloot 
PrioritynormalSeveritymajorReproducibilitysometimes
StatusresolvedResolutionfixed 
Product Version94.1.1+git 
Target VersionFixed in Version94.1.1+git 
Summary0003862: Aircraft fail to land on air repair pads
Descriptionhttp://zero-k.info/Battles/Detail/177663 a Phoenix at the top right aircraft plant ends up jittering all over the ground. This bug looks similar to one from earlier engine versions.
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0010927

PepeAmpere (reporter)

I think this bug arise everytime the unit collision sphere interpretation is changed. :)

~0010931

silentwings (reporter)

Duplicate of http://springrts.com/mantis/view.php?id=3834

~0011392

Google_Frog (reporter)

Occurs in 94.1.1-1009 in this replay http://zero-k.info/Battles/Detail/192205

Most bombers failed to land on the airpad. They are eventually destroyed and recreated which is a failsafe that I have implemented.

~0011408

Google_Frog (reporter)

Occurs in 94.1.1-1015. Replay: http://zero-k.info/Battles/Detail/192408
It is easy to reproduce with ZK bombers. corshad will often have the bug.

~0011446

Kloot (developer)

Your unit_bomber_command.lua now interferes because it uses a hardcoded radius before the engine is allowed to handle the landing-on-pad transition.

I don't even know why this gadget exists at all since it basically duplicates an entire swath of engine logic without offering much extended functionality.

~0011450

Google_Frog (reporter)

It shouldn't matter where the bomber runs out of fuel. This bug will occur in a lua-free game if the plane runs out of fuel too close to a repair pad.

The gadget exists because of this behaviour http://springrts.com/mantis/view.php?id=1629 which is too annoying for what we want to do with the fuel system.

~0011451

Kloot (developer)

Last edited: 2013-08-28 14:10

View 2 revisions

I am telling you that for YOUR game it matters that the approach to a repair pad is gadget-controlled.

Since YOUR game uses that gadget, there is nothing to fix in absence of a "lua-free" problem demo.

~0011452

Google_Frog (reporter)

It does not matter. The only control that the gadget has over pad approach is when it sets the aircraft's fuel to 0. An aircraft could hit 0 fuel at any time and cause this bug without any gadgets in place.

~0011453

Kloot (developer)

Last edited: 2013-08-28 17:17

View 2 revisions

It *DOES* matter because (as I have pointed out twice now) the gadget determines *WHEN* the engine can begin telling an aircraft to switch to the landing state which happens too late for many ZK units due to the HARDCODED RADIUS CHECK involved.

Do NOT reopen this report before you have tested and verified your gadget code works or it will be deleted.

~0011454

Google_Frog (reporter)

In the attached replay 3 of the bombers land on the ground and jitter southwards while 1 bomber floats slowly towards the airpad. This uses a simple game with basically no gadgets.

Game: http://code.google.com/p/zero-k/source/browse/trunk#trunk%2Fmods%2Fexamplemod
Map: Comet Catcher Redux
Engine: 94.1.1-1028

I know your response: "You spawned the airpad just as the bombers ran out of fuel!!". I've tested the bomber behaviour and it works as long as no airpads are created and the bomber fuel is left to 'naturally' drop to 0. It works because bombers come in to land before their fuel is depleted if they are pointing in the right direction.

This is not robust behaviour. Even in a lua free game someone could create an airpad just as a bomber is flying over it. But that's irrelevant because the usefulness of this engine is primarily due to lua. Games are allowed to create pads and modify fuel arbitrarily. Even before lua we had COB scripts in games like NOTA which modify fuel to create a rearm system.

I sound like a broken record when I say this but the old behaviour worked! The 'tractor beam' repair pads had robust mechanics.

~0011455

Google_Frog (reporter)

Last edited: 2013-08-28 16:09

View 2 revisions

I've attached a replay with a non-contrived example. During the test no new repair pads are created with the intention of messing up the AI.

40 bombers are spawned, set to 'Fly' and they are given a repair pad for them to refuel. By the first minutes 1bomber has jittered across the ground to the east, 2 have jittered south and 1 has jittered south east. A second pad is spawned some distance away and it works for a while except around minute 4 a bomber is stuck floating very slowly towards it.

Game: http://code.google.com/p/zero-k/source/browse/trunk#trunk%2Fmods%2Fexamplemod [^]
Map: Comet Catcher Redux
Engine: 94.1.1-1028

(also I have no idea why reopening sometimes assigns tickets)

~0011479

Kloot (developer)

This is now fixed to the extent that I want to fix it.

I have spent enough time in aircraft code for one year, any further issues shall be yours to Lua your way around.
+Notes

-Issue History
Date Modified Username Field Change
2013-06-23 12:50 Google_Frog New Issue
2013-06-24 01:43 PepeAmpere Note Added: 0010927
2013-06-24 18:45 silentwings Note Added: 0010931
2013-08-10 20:15 Kloot Status new => resolved
2013-08-10 20:15 Kloot Fixed in Version => 94.1.1+git
2013-08-10 20:15 Kloot Resolution open => fixed
2013-08-10 20:15 Kloot Assigned To => Kloot
2013-08-25 17:32 Google_Frog Note Added: 0011392
2013-08-25 17:32 Google_Frog Status resolved => feedback
2013-08-25 17:32 Google_Frog Resolution fixed => reopened
2013-08-25 19:33 Kloot Changeset attached => spring develop 59382939
2013-08-25 19:33 Kloot Status feedback => resolved
2013-08-26 16:08 Google_Frog Note Added: 0011408
2013-08-26 16:08 Google_Frog Status resolved => feedback
2013-08-28 01:45 Kloot Note Added: 0011446
2013-08-28 01:45 Kloot Status feedback => closed
2013-08-28 01:45 Kloot Resolution reopened => fixed
2013-08-28 13:57 Google_Frog Note Added: 0011450
2013-08-28 13:57 Google_Frog Status closed => feedback
2013-08-28 13:57 Google_Frog Resolution fixed => reopened
2013-08-28 14:09 Kloot Note Added: 0011451
2013-08-28 14:10 Kloot Note Edited: 0011451 View Revisions
2013-08-28 14:11 Kloot Status feedback => closed
2013-08-28 14:11 Kloot Resolution reopened => fixed
2013-08-28 14:54 Google_Frog Note Added: 0011452
2013-08-28 14:54 Google_Frog Status closed => feedback
2013-08-28 14:54 Google_Frog Resolution fixed => reopened
2013-08-28 15:05 Kloot Note Added: 0011453
2013-08-28 15:06 Kloot Status feedback => closed
2013-08-28 15:06 Kloot Resolution reopened => fixed
2013-08-28 15:43 Google_Frog Note Added: 0011454
2013-08-28 15:43 Google_Frog Status closed => feedback
2013-08-28 15:43 Google_Frog Resolution fixed => reopened
2013-08-28 15:45 Google_Frog File Added: Comet Catcher Redux_94.1.1-1028 landing failure.sdf
2013-08-28 16:08 Google_Frog Note Added: 0011455
2013-08-28 16:08 Google_Frog Status feedback => assigned
2013-08-28 16:09 Google_Frog File Added: Comet Catcher Redux_94.1.1-1028-g11964b0 non-contrived example.sdf
2013-08-28 16:09 Google_Frog Note Edited: 0011455 View Revisions
2013-08-28 17:17 Kloot Note Edited: 0011453 View Revisions
2013-08-29 04:09 Kloot Note Added: 0011479
2013-08-29 04:09 Kloot Status assigned => resolved
2013-08-29 04:09 Kloot Resolution reopened => fixed
+Issue History