Monday, 10 January 2011

Developer Journal 34

* Assign each agent a view port.
* Assign each agent a camera.
* Connect each robot's camera to each robot's position and orientation.
* Create a viewport that will be under my control.
* Create a set of controls for my viewport.
* Create a key to switch between observer mode and robot mode.
* Re-enable robots controlling their movement.
* Fix bug where something is moving my observer camera. (Damn. I was confusing the robots moving on the screen with something moving my observer camera.)
* Take temporary movement code out of graphics class.
* Solved a bug where I was incorrectly using btCollisionObject::getActivationState() instead of btCollisionObject::isActive()
* Create a way to possess robot id 0 to see things from the point of view of a robot.

* Re-examine angular and linear deceleration code.
* Consider always applying a deceleration force.
* Save the contents of 1 viewport to a file to check that the robots are seeing what they should be seeing.
* Connect view port to agent vision input.
* Enable displaying the mouse pointer when running the simulation.
* Add food
* Re-enable serialization.
* Get agent populations surviving again.
* Have a neuron for rotating left and another neuron for rotating right.
* Have a neuron for moving forwards and another neuron for moving backwards.
* Add code to reset a cube that is not on its "feet".
* Increase heights of walls.
* Get shadows working properly.
* Implement command controls.
* Implement FPS controls.
* Re-enable communication.
* Conduct gender experiments.
* Conduct maturation experiment.
* Experiment with joints and more advanced body shapes.
* Make the graphics look more like the demos in Bullet.
* Display frames per second
* Implement a way to use the mouse to re-size the viewports.
* Implement a way to use the mouse to re-position the viewports.
* Implement a way to use the mouse to move a screen like on an iPhone.
* Implement off-screen rendering.


I'm pretty happy, a few people have mentioned my posts on the OGRE and Bullet Physics forum and a few of my posts are moving up in the Google search results!

I'm thinking about writing up some tutorials for learning to use OGRE and Bullet. They're great programs but I wish there were some better tutorials available for them.

I'm working on some code to create a new viewport when I add a new robot. I'm getting the stage where if something doesn't work, the first thing I suspect is my own code. I was working with Ogre::RenderWindow::addViewport( Ogre::Camera*, int, float, float, float, float ) and I was incorrectly putting floats into integers and then passing the integers into the last two parameters. This took me a fair while to figure out.

No comments:

Post a Comment