> RenderingSystem running every Update while AI Systems are running each 100ms. This shouldn't be a problem. For example, simply have your AI systems accumulate the delta passed to them, and only take action when it exceeds 100ms. I.e. four (dramatically unstable fps) loops could look like this: aisystem.update(20ms) -> 20ms aisystem.update(21ms) -> 41ms aisystem.update(60ms) -> 101ms, take action -> 1ms aisystem.update(20ms) -> 21ms Most likely this is not the best way to go about it, but it is one possible implementation. As for your second question, I really don't understand what seems to be the problem. It seems to me that you described a perfectly valid way to move the units.