Bug 4725 - in-power/creep-range checks are unstable at egdes when building
Status: NEW
Alias: None
Product: Tremulous
Classification: Unclassified
Component: Misc
Version: SVN HEAD
Hardware: PC All
: P3 normal
Assignee: Tim Angus
QA Contact: Tremulous Bugs
URL:
Depends on: 5040
Blocks:
 
Reported: 2010-08-25 14:09 EDT by Meisseli
Modified: 2011-06-14 03:56:45 EDT
2 users (show)

See Also:


Attachments
demo (34.78 KB, application/octet-stream)
2010-08-25 14:09 EDT, Meisseli
relax the in-power-range condition for repeaters (2.47 KB, patch)
2011-05-14 09:57 EDT, /dev/humancontroller

Description Meisseli 2010-08-25 14:09:19 EDT
Created attachment 2416 [details]
demo

If you build repeaters close enough each other you may end up building repeaters that blow up before building - or - once building a repeater even blew up an existing repeater nearby.

This has happened on the official servers lately - and attached is a demo for an example done in nano. I've experienced this in arachnid2 too for example.
Comment 1 /dev/humancontroller 2011-05-14 09:57:53 EDT
Created attachment 2710 [details]
relax the in-power-range condition for repeaters

...to help unstable/imprecise physics.
Comment 2 Chris "Lakitu7" Schwarz 2011-06-10 23:23:03 EDT
This solution is a bit hacky, but really most things involving BP zones are hacky. Does anyone have a better idea or can I go ahead and commit this after verifying that it works?
Comment 3 /dev/humancontroller 2011-06-13 00:46:02 EDT
as a generalization, i can build "unsupported" buildables at edges of support areas (ie., unpowered telenodes, etc.).
Comment 4 /dev/humancontroller 2011-06-14 03:12:40 EDT
the observed events are that a buildable was in range of a repeater when it was placed, but shortly changed its position a bit to become out of range, or vice versa. what exactly happening is: when buildables are built, they are placed a bit above the ground, and then "gently" nudged down for whatever reason. however, due to the bouncy physics of the buildables, the buildables bounce up even higher, and stop up there for some reason.

from this follows a minimal tutorial on how to easily build unpowered telenodes: build a telenode near the upper edge of the power zone, so that the telenode becomes out of range when it "jumps up" (ie., build in a room above the repeater).
Comment 5 /dev/humancontroller 2011-06-14 03:31:23 EDT
with the changes described in bug 5040, i have managed to get exactly 500 qunits of distance between 2 repeaters (by trying to place them as close to eachother as possible), but not less. so those changes look like the perfect fix. however, i cannot guarantee that any range check will yield at least 500 qunits, so a very very tiny in-range relaxation could be allowed.