swarm-game / swarm

Resource gathering + programming game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

log messages missing from "say" with multiple robots from same template

kostmo opened this issue · comments

Two robots (created from the same template) that say at the same tick do not generate distinct log messages.

Demonstrated in #1593.

It may also be a problem when a single robot says two different things, but both invocations of say are wrapped in the same instant block.

I tried to look into this, but the code for the Say command in Swarm.Game.Step is sorely lacking in comments and I gave up. I think refactoring + adding some comments is probably the first order of business!

This is not a bug, but a feature! 🐛 😄 @byorgey I think addLatestClosest says it all.

IIRC the idea was that when robots shout over each other, only the closest one will be clearly heard.

I don't have a strong opinion on how it should behave now, honestly it might be best to make these restrictions configurable.
That way we would have a top-level structure documenting all the restrictions the various commands have.

I must admit this information is not present in say docs, if the limitation stays then we should mention it there.

My vote would be to remove the restriction. The physical justification makes sense, given a certain model of limited "radio bandwidth", but it doesn't necessarily contribute to the "fun factor"; rather it has so far frustrated the debugging process.