Monday, July 20, 2009

Disc Collision - An Open Source AS3 Collision Detection System

I whipped up a distance based collision detection system, dubbed Disc Collision. A very basic model for collision detection, but also very fast in comparison to the vector based hitTest() in the Flash API.

Collisions are detected by a request-only model. The collision detection simply manages a collection of points and distances associated with each point. So you could easily put this into your a game engine and run an update call to get colliding points.

The algorithm is robust and has a few things to optimize. The collection of points is subdivided into multiple lists according to a spatial grid. To reduce the amount of work required detection. Then all of our points are sorted through a BST by distance so that we always know the largest distance to use when selecting grid sections.

Hold the red button down below to create objects to test collisions.



You can get code here:
http://code.google.com/p/disccollision/
https://github.com/henrytseng/disccollision

Saturday, July 11, 2009

Invert the colors on your Mac

Just found this out, to invert the colors on your Mac hold ctrl-option-command and press 8. This is really useful if you're staring at white screens all day long your eyes will get tired really quickly.

Thursday, July 02, 2009

Motor2 Physics

I bought a new Macbook Pro and got it up and running. Funny how I've been using Mac's for a while now but never owned one myself. A computer is a computer.

I've been playing around with the Motor2 physics engine. I'm working on some games using it right now. I'll post and follow up when they're ready.

For now check out this new Flash port of the Box2D engine by Eric Catto here:

http://lab.polygonal.de/motor_physics/

I suggest reading the code and using the original Box2D documentation:

http://www.box2d.org/manual.html

Enjoy.