Oops Documentation?

Dec 22, 2009 at 9:05 PM

Hi There,

I have just found your website and downloaded the framework.  Thank you very much - it looks great and I am looking forward to getting it integrated into my small arcade game.  I was wondering, is there any documentation or is the intended method to just read the example/testing app code?



Dec 22, 2009 at 9:59 PM

Hey ZipperMask,  thanks for feedback!

Unfortunately, the documentation is lacking currently.  The plan is to fill the Documentation tab of this site with lots of good stuff but there's nothing planned on when that will happen.  In the meantime, you can look at the examples, read the xml comments in code and, of course, ask here if you have any questions or run into any issues.  I'll do what I can to help.

Good luck with your game!!

Dec 22, 2009 at 10:24 PM

Hi FretBoardOfFury,

I am primarily interested in the collision detection and not so much a full fledged physics simulation ATM.  I need poly-soup collision detection and that can be so fussy to write/debug so I really want to reuse that :).  I've found quite a few helpful posts from yourself in the discussion board and I've been perusing the code a bit.

I have a question regarding 360 - how is your perf with the garbage collector?  I've gone through quite a few pains to not allocate any memory in my update by pre-allocating max sizes arrays for entities. players, sim modifiers, etc. up front and recycling as needed.  My understanding of the 360 garbage collector is it currently doesn't support generations so a sweep for garbage is time consuming - and can easily be 50ms+ depending on how many allocations you've made. 




Dec 23, 2009 at 8:58 AM

If you just want collision detection, you can create just a SweepAndPruneCollisionDetectionSystem instance and add CollisionGroups (w/ CollisionShapes added) to represent your game objects.  Then you can use the collision system for shape and ray intersections.  When you move your objects make sure to call CollisionGroup.UpdateTransform instead of setting Position and Orientation directly.

There is very little heap allocation in the Oops! framework.  There's a number that displays under the FPS that increments everytime the GC collects.  The performance is quite good on the XBOX.  I'm using the framework for a full-fledged third person shooter-type and it runs really well on the XBOX, physics and all.  I have a large CollisionMesh representing the world and a bunch of guys represented as CollisionSheres and have had no performance concerns yet. 

Make sure the compiler directives INLINE and REFERENCE are in the projects Conditional compilation symbols for Oops.Xna.Framework.