Picked this up, and some thoughts regarding the "CPU Limit" thing. First of all, units are important. 10 unitless numbers is meaningless, so let's get that straight right off the bat.
http://support.screeps.com/hc/en-us/articles/204332302-How-does-CPU-limit-workSo, 10 "Units" per tick means 10ms runtime per tick. Which is... generally more than a fully fledged game AI for any strategy game gets. Regardless of CPU, anything modern should get a heck of a lot done in 10ms. So the next important bit is: where does that time go, and how can it be optimized. Aside from fancy high-level management, the main answer there seems to be pathfinding. The default scripts from the tutorial all go through the built-in moveTo function, which the API documentation explains is a combination of several accessible sub-calls that:
1. gets the position of the target object
2. gets the position of the current object
3. does A* pathfinding from the current object to the target object
4. takes a move on the first step of the path
Anybody who's followed Dwarf Fortress's development knows *that's really bad.* For one, naive A* is notoriously expensive; this algorithm or similar could give you vastly more for example:
http://www.gdcvault.com/play/1022094/JPS-Over-100x-Faster-thanOn top of that, recomputing the path every step is very wasteful. You have access to big gobs of memory: 2 *megabytes.* You can cache off tons of path data for individual creeps. You can cache off tons of precomputed room pathfinding helper data.
So pathfinding optimization should easily give you tons of time there. Optimize your pathfinding and you will suddenly have tons of time. The only reason these limits exist is to cut down on server costs, not limit players; it's an incredibly large amount of resources you have to work with. You don't get to see your while(true) loops run to completion, but that's just because we live in the real world.
Edit: Oh, it's even less limiting than I thought: Screeps has a web api you can use, so you can probably bypass time limits entirely if you send out the data you need to your own personal server setup then write your heavy duty processing backend there in whatever language you want limited only by your server computer's specs. I started experimenting with this sort of thing for minecraft's computer craft mod turtles way back, to get around some limitations they have.