The Oops! Framework includes many game services and components that extend Microsoft's XNA Framework. The most noteworthy of these components is an easy to use 3D Physics game component/framework that runs on Windows...and XBOX 360!!!
3D Physics Component!!
- Windows and XBOX 360 support!!!
- Support for plane, sphere, box, heightmap and mesh collision shapes.
- Support for ray intersection querying against collision shapes.
- Auto-disable.
- Static objects.
- Composite objects.
- No Collision Response object support.
- Collision callback support.
- Multi-threading support. Physics run in a completely different thread!
- Support for point-to-point and hinge constraints.
- Support for broad-phase sweep-and-prune, quadtree, octree, grid and simple strategies.
- Support for collision shapes used as triggers (sensors).
- Easy to implement in existing projects!
Game State Component/Service
- Manages game screens.
- game screen-specific game component support.
- game screen-specific resources support.
- See an example of it's usage in the testing application.
UI Component/Service
- The beginnings of UI functionality.
Parallel Split Shadow Maps
- The beginnings of a PSSM effect.
Viewport Component/Service (with a few camera types)
- Static camera.
- Free Look camera.
- Look At camera.
- Arc Ball camera.
- Chase camera.
Input Component/Service
Audio Component/Service
- Used to play sweet demo music included in the testing application.
3D Animation Component
- GPU accelerated option.
- Animation events for notification during animation playback.
Math, Vector3, Matrix and Quaternion Extensions
- Operations not included in XNA.
- Combined operations, such as transforming a vector by the transpose of a matrix.
Also included are example applications using the framework:
- Control sphere(s) with the gamepad or keyboard and watch it interact with other collision shapes.
- Box stacking.
- Ray intersection.
- Composite shapes.
- Box of balls.
ACKNOWLEDGEMENT
I would like to acknowledge the following people for creating great learning resources for physics:
- Ian Millington - Game Physics Engine Development.
- Christer Ericson - Realtime Collision Detection.
- David Eberly - Game Physics.
- Russell Smith - ODE physics engine.
- Danny Chapman - Jiggle physics engine.