Strong as an Ox


I decided a little while back to switch from my own home-grown XNA framework to using an existing one.
I had a look around but couldn’t find one that met my requirements, I was after a solid, modern, game engine that wasn’t tied into a specific type of game.


Most of the engines I came accross seemed to be using the old shove everything into one scene graph method, until I came across the Ox Game Engine (

It’s still work in progress, but is already very solid with a lot of the features I was looking for.

It’s a modern component based design which is optimised for XBox, integrates well with other XNA libraries such as PhysX, XNAnimation or not, if you wish, includes C# scripting and has a number of tools available.
Full feature list here (

Further more it’s open source and free to use, which is always a bonus for a struggling game developer. 

So far it’s pretty good, it does suffer from the common component design problem of not being friendly to heirachical objects, i.e. attaching a child component such as a particle system causing problems when you come to updating in respect of the parent, you have to make sure that your update value is higher than it’s parents otherwise it’ll be update first.
It’s not a major problem though, you either make sure the child update value is higher than the parents or you keep your objects shallow and make your parent object update it’s children manually.

Keeping the object tree relatively shallow is no bad thing in terms of performance though.

So far it’s seems to do exactly what it says on the tin, so hopefully this will save a lot of time working on an engine.

Couple of screenshots;


The Ox Scene Editor In Action

The Ox Scene Editor In Action




Balls! Using Ox with the PhysX physics library

Balls! Using Ox with the PhysX physics library

Tags: , , February 28th, 2009 Posted in Game Development, XNA

Powered by WordPress | Blue Weed by Blog Oh! Blog | Entries (RSS) and Comments (RSS).

Nutter’s World is Stephen Fry proof thanks to caching by WP Super Cache