I got to know about this change by coincidence on slack #general, a week after it was already live. It didn't break my code, so I didn't catch it - but only because I usually use just half of my cpu per tick.
I believe generating pixel should be easy, the 2 liner to generate them is even in the api documentation to make it easy for everyone. An easy way to use wasted cpu is an incentive to waste less cpu. It has been a very welcoming feature for non-optimized users, because a good bot would use all cpu to create more energy or credits. A less advanced bot just has much cpu to waste and can generate pixel easily by wasting less cpu.
I believe there are also not too many pixel. If you try to collect golden decorations, you'll need to spend a lot of pixel. At 13th November I created 312 decorations and got zero golden decorations.
If creating pixel is challenging, then less people care about them at all, leading to the old behaviour to use as much as possible from your cpu with mostly unnecessary calculations.
A good example in my humble code base of the optimizations I did after the pixel feature came out:
- towers scan the room only every 41 ticks for damaged structures
- market code runs only every 11 ticks instead of every tick.
- use more reusePath instead of recalculating each path every tick, saves also something.
- collecting room statistics and market statistics every minute instead of every tick.
- disable logging HTML room statistics while I'm offline.
- disable map visuals and room visuals while i'm offline.
- sharing energy across rooms by terminal every 32 ticks instead of every tick.
- more would be possible, but with over 100 cpu saved per tick it has been already enough.
Without the pixel feature, I would still run unoptimized code and I think many other players also optimized their code to create more pixel. No need to make this feature more challenging, it's ok to be an non-challenging incentive for optimization.