• entries
    205
  • comments
    228
  • views
    112883

I live!

Sign in to follow this  
Mike Bossy

99 views

Well I am adjusting to my new life and I'm totally happy about not having as much sleep as normal. It makes me feel like I'm back in my younger glory days of coding late into the night. :)

In amongst getting used to being a father I've actually found time to do some work as well. I wrapped up the ODE integration into my engine. My final step was to add a safe way to be able to arbitrarily set object's position, velocity, etc. while I was in the middle of a simulation and do it in a way that was somewhat deterministic.

Being in a multi-threaded environment I might have AI code or user input which say warps an object to a given co-ordinate set, running on a thread separate from the physics simulator. If I just let these other threads directly access the physics simulation there's no way to guarantee that they will access it at a safe place. They could theoretically move an object after I've already created a joint between that object and another one leading to weird unexpected behaviours. That problem is outside of the fact that I don't even know if ODE is at all thread safe. Odds are that it isn't. As I've found out in the past it's best to assume that nothing is thread safe unless you like debugging weird crashes that happen every 78th run of your game.

To solve this problem I just made a safe queue that holds all object update requests. Any thread can put requests in this queue at any time. The physics thread processes these updates at the begining of each physics frame so that all updates are done at a known clean state. So far this has worked flawlessly. Lessons learned from previous pain helped me to go with this solution first. :)

So now with ODE integrated into the engine I want to move onto the next task of '07 which is adding a simple partical system to the engine. I already have alpha blending, fading and now physics in the engine so I should be able to leverage all of those features to throw a partical system together. I'm just going to derive the objects from the base gameobject so a partical emmittor is just another object in the scene. Depending on the amount of time I have to work on things I hope to have something to shw in the next couple of weeks.

On another note Salsa has been working on my company logo and we're just working through some refinements but I like what he's come up with. I may finally have a logo soon. Then maybe I can get a proper web site up along with the always popular business cards! :)
Sign in to follow this  


1 Comment


Recommended Comments

Congratulations Mike! I'd wondered why we hadn't seen your entries for a while; I guess having a baby is an acceptable excuse [wink][smile]

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now