Hi, I really like the benchmark - congrats on the great work!
I think there's inconsistencies in the screen observation rendering (though I'm not sure if they affect training)
In the file environment/envs/ScreenEnvironment.hpp, here are few inconsistencies I see:
Line 56:
if(i%4 == 3 && (data[i] == 0 && data[i] == 255))
This condition is always false - a byte can't equal both 0 and 255 simultaneously, so this block of code is never executed.
Line 69:
if(data[i] <= 30 || data[i] <= 230)
The first part is redundant since anything ≤30 is already ≤230.
The net effect is that the semantic channel separation doesn't work as intended?
Probably not a big deal for training as values are still distinct, but just wanted to raise for consistency :)
Hi, I really like the benchmark - congrats on the great work!
I think there's inconsistencies in the screen observation rendering (though I'm not sure if they affect training)
In the file environment/envs/ScreenEnvironment.hpp, here are few inconsistencies I see:
Line 56:
if(i%4 == 3 && (data[i] == 0 && data[i] == 255))
This condition is always false - a byte can't equal both 0 and 255 simultaneously, so this block of code is never executed.
Line 69:
if(data[i] <= 30 || data[i] <= 230)
The first part is redundant since anything ≤30 is already ≤230.
The net effect is that the semantic channel separation doesn't work as intended?
Probably not a big deal for training as values are still distinct, but just wanted to raise for consistency :)