Saturday, 15 January 2011
Developer Journal 39
More exciting segmentation faults!
Wasn't too bad. Just accidentally skipped some initialization code as I removed some global variables.
Removed all usage of the keyword "extern".
Instead of using std::vector, I'm using std::vector::at() to both get and set values because std::vector::at() does bounds checking for me.
* Remove global smart pointer variables
* Remove global variables
* Convert image into format that the neural network can use.
* Connect view port to agent vision input.
* Implement one dimensional and two dimensional input to neural network scaling code. I've already got the algorithm for one dimensional scaling.
* Remove class PhysicsInterface
* Remove class PhysicsGraphics
* Figure out what each of the 3 threads are for
* Attend to Boost warning messages
* Develop a way to catch yourself when trying to overwrite and area of a vector or array that is out of bounds
* Untangle dependencies among CritParam, BrainParam, and GenomeParam
* Check and fix genome initialisation
* Check and fix neural network initalisation
* Round to the nearest integer in the CaptureViewport() code.
* Re-examine angular and linear deceleration code.
* Consider always applying a deceleration force.
* 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.
Labels: developer journal