Tron 3.11 seems broken in current Robocode/Java versions?
I've ran some tests and confirmed that Tron's change in behaviour seems to be a rather troublesome side-effect of the change in what getName() returns.
To confirm this, I repackaged Tron with " (1)" added to it's version field, and it misbehaved in even in 1.9.4.1, in the same manner the regular version misbehaves in 1.9.4.2.
It's rather strange that " (1)" appended to the end of getName() causes problems for Tron, because neither "*" appended nor " (1)*" appended does.
Considering this further, I believe the most likely thing is that ABC was using the result of getName() specifically to detect the special case of multiple instances of Tron versus itself, to behave in a special way for development purposes in that scenario.
Most team bots used the suffix to determine a "leader"? Curious. Most teams I spent time looking at either did not have an explicit leader, or were using a different bot class for that.
In any case, this change in what getName() returns really breaks too many things in my opinion.
I am using the bot name suffix to determine the position of current bot in the team, as well as switching colors. Not remembering where did I see someone using similar tricks. Anyway anything like this now breaks.
I'm very strongly of the opinion the change to what getName() returns should be reversed. Even if the new numbering is used for display or internals, it just breaks too much to return to bots in getName(). It seems there are too many historic bots that are broken even in 1v1, that are more or less infeasible to update, and we may never really be certain if we've found all of them that may be affected. It's very possible some changes in bot behavior may not be immediately obvious.
I agree. Having looked at the code in ScalarR, when determining colors, it assumed no suffix for 1v1, and corresponding suffix in teams. The change in bot name breaks its color but nothing else, but no one can be sure some bots are changing other behaviors depending on the name suffix. It's not feasible to monitor which bot is partially broken.