Dynamic Game 'Objects' Updating

I have thought about this problem several times and I keep coming up short. I’m writing a demo program that will eventually have many ‘objects’ or cEntity’s, all moving and updating themselves simultaneously.

It occured to me, however, that going through the list of each ‘live’ cEntity and telling them to update themselves will ultimately create a serious bottleneck in the rest of the game process.

I guess the question is this: How would I allow each cEntity to update itself without taking away from the rest of the program flow? E.g, how would I update a cEntity in ‘steps’? I’m not so much looking for code rather than a concept to ponder over.

Last question: Is this a limitation of all game/software with many objects in them? E.g., is this the reason for population limits in a game such as Age of Empires?

A bottleneck? Why?

You don’t need them to step every frame? So make multiple lists. It’s like a priority queue. The things that need to be updated every frame get in the high priority list, while the things that don’t go into multiple low priority lists. You step through only one of the low priority lists each frame. Supposing you have 3 low priority lists, each low priority entity would be stepped only once every three frames, and no frame would have to handle more than 1/3 of your low priority entities at a time.