Light At The End Of The Tunnel... I Think!

I missed my weekly update last week because I was out of town on a camping trip.

I'm back now and I've made some progress on the physics engine. I think I can see some light at the end of the tunnel. I'm anxious to get this new release out so I can move on to new things.

Here is a list of the things I have left to do (this is an informal list taken from my whiteboard):

  1. Limited Angle Joint (Joint limits for the RevoluteJoint)
  2. Max Contacts To Detect, Max Contacts To Resolve, Resolve Deepest First (just some ideas I have about handling contacts)
  3. Rewrite/Cleanup Collide method
    • Replace collide event with callback/boolean return value (will allow the application to essentially cancel a collision)
  4. Factory Objects
    • Make static classes
    • Overload as follows (If the simulator is passed in the object will automatically be added to the simulator prior to being returned. Just as a convenience)
      • Method(x, y, z)
      • Method(simulator, x, y, z)
  5. Breakable Joints and Springs
  6. Queue-up Added and Removed items and remove them when it's safe to do so.
  7. Joint API (just some general clean-up of the Joint objects)
  8. User Data Object
  9. General code clean-up
  10. Docs!
  11. New LOGO! 
  12. Website (bare-bones for now)
  13. RELEASE!!!!!!!
  14. Move on to my ultimate goal: Make some cool physics based games.

Keep in mind I only have limited time to work on the engine (Mon-Friday: 4:45am to 6:30am) so progress is slow.... but very steady!  If you are wondering why my time is so limited it's because I have a 6 month old son that seems to require my presence most the time I'm awake and not working. :-) 

Here are a couple screenies of the latest demo added to the Farseer Demo Project. One without the simulator view enabled and one with it enabled.

CropperCapture[7] CropperCapture[98]