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):
- Limited Angle Joint (Joint limits for the RevoluteJoint)
- Max Contacts To Detect, Max Contacts To Resolve, Resolve Deepest First (just some ideas I have about handling contacts)
- Rewrite/Cleanup Collide method
- Replace collide event with callback/boolean return value (will allow the application to essentially cancel a collision)
- 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)
- Breakable Joints and Springs
- Queue-up Added and Removed items and remove them when it's safe to do so.
- Joint API (just some general clean-up of the Joint objects)
- User Data Object
- General code clean-up
- New LOGO!
- Website (bare-bones for now)
- 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.