|I left the simulation running overnight and it went well. There were no crashes and the robots were still going when I came in.|
Clocking in. Observer movement is slow when there are a lot of robots even when I've paused the simulation. I tried disabling physics, debug physics drawing, graphics updating, and removed the ninjas. Still quite slow. I suspect that the bottleneck is the individual view ports.
I tried not adding a view port for each robot but the robots stopped moving. Yep, it was the view ports slowing things down when I paused the simulation. The two bottlenecks are the view ports and the neural networks. I'm thinking of staggering the neural network updates and updating the neural networks less often.
At the moment, when I pause the simulation, I don't update the physics, so when I possess a robot, I can't move it. Would be great to still move a possessed robot when I pause the simulation.
Food . . .
In Bullet, you can pause objects by calling btCollisionObject::setActivationState( ISLAND_SLEEPING ) and then activate them by calling btCollisionObject::activate(). Wish there was better documentation.
Now to figure out how to deactivate view ports temporarily. Ogre::RenderWindow and Ogre::Viewport are both auto updated. So to be able to turn off the view ports when I pause, I have to disable auto-updating.
|Kinda cool to have the power to pause when things go flying. Note the block of food that's gone up in the air.|
So far OGRE has been a pleasure to work with. However, Bullet has been challenging and I suspect that part of that is because I need to develop my physics skills.
I'm kinda tempted to add in some ramps.
Clocking off. Thinking of making code open source to back up research. Considering doing so as soon as populations become self-sustaining.
1 1 1 1
1 1 1