Changelog:
Akradion
- Added bouncers, which bounce balls around at high speed.
- Added a new powerup that ends the current level immediately.
- Added 4 new levels.
- Fixed an issue where blocks would still collide with other objects while disappearing.
- Levels can now define their own background color.
- Powerups now have a fancy animation displaying their name when you grab them.
- Added screenshake. I'm not sure if I'll keep it, but it's there.
- Removed the level begin/end animation and replaced it with a new one.
DFEngine
- Scripts can now access collision mask data for entities.
- Scripts can now access (and tween) the game's background color.
This week, I haven't got much to talk about. I'm also pretty tired, so this is going to be pretty short.
So, the collision mask thing was why I had objects collide while they were disappearing. I would've had this in a long time ago, but I didn't know of a decent way to alter collision masks. The main problem here is the documentation for Bullet. Bullet, while being a pretty nice physics engine, is very difficult to learn. I'd tried to find out how to alter collision masks several times before now, but to no avail. Finally, I found a forum post with the solution. (For anyone wondering, get a body's broadphase proxy with btRigidBody::getBroadphaseProxy, then alter the values there. This works for me, at least.)
This seems to be a running theme with Bullet. Whenever I need to do something, the wiki never has an answer. Then, I can't find anything in the API. Next, searches bring up forum posts providing all kinds of impractical, convoluted solutions. Finally, after what seems like an eternity, I find a simple solution in another forum thread. Checking the API again yields some more information, tucked away in a dark corner where no one will ever find it. Needless to say, it's a pain.
With that said, I suppose I should be happy that I found the answer in the end. Hopefully getting more experience with Bullet will make future searches a bit less painful.
No comments:
Post a Comment