We use several tricks to speed up our zombie game where many moving entites can be seen at the screen. There are 4 things wich can eat a lot of performence:
* no LOD models: Create LOD stages if possible
* ent_animate/blend, bones, vertex: Bone animation is much slower than vertex animation. The ent_animate function is also slow, so execute it only when the enemy is not clipped!
* use a while loop for every entity: Use a big game loop to handle _every_ entity! This will also heavily speed up things! Besides that, you get a huge amount of control...
* c_move, c_trace: We use "node-cells" in our game, so we can say each moving entity if it needs c_move (movement), or c_trace (detect the floor below) because everything is set in the cell properties. If we don't need a c_move or something like that we simple change the position with vector commands...
* change entity scale: Do not change the entity scale_... values over several frames. Sprites are fine, but models will decrease the fps heavily...
There are a lot more things which can help, perhaps we can open a "performence TIPS&TRICKS" wiki-page?