Archive for November, 2008

Informix Rated #1

I nearly forgot to post this rating that came out over 3 weeks ago!! Informix was rated the #1in customer satisfaction by VendorRate. Check out the report.

Leave a Comment

Power of Informix Extensions – Take 1

Sorry for the loooooong break! With the election fever and kids homework, things got really wound up :-) . Now that one is out of the way, I have found some lost time! Today I want to touch on a powerful Informix capability that can either help solve some interesting problems for game developers or find new applications! This capability is known as Informix Extensions – a capability that allows users to extend the capabilities of the Informix data engine and thereby open the door to some really innovative solutions.

Informix provides extensions using it’s datablade technology. Extensions in the Informix context can be thought of as domain specific data-types and their associated routines that are treated as a standard data type by the engine. As an example, consider the Informix spatial extension. The Informix spatial extension consists of data types such as Point, Polygon and include manipulation and query functions such as Intersects(), Boundary(), Union() and so on. The power of extensions is obvious when you consider that they are loaded on demand , executed in the data engine’s process space and accessible via regular SQL, thereby providing both flexibility and performance.

Informix provides an API that allows users to define their own extensions. These extensions can then be registered with the Informix engine as user defined extensions. Let’s say you wanted to manage asset dependencies in your game (see visual below) – for instance, let’s assume that changes to a mesh would trigger changes to the compiled model, the texture page file and the final character. Tracking these dependency changes becomes complex and error prone if it’s done using application business logic. However, by creating an Informix Node extension that represents these dependencies and the actions to be performed on them drastically reduces the complexities and makes it so much easier to use by encapsulating the data type and providing functions such as GetParent(), Compare(), Ancestors() and so on.

node_example21

If you are excited about the potential this holds and would like to dive into the details let me know. Also I recommend starting with the following material :

The IBM Informix datablade family overview

Developing Extensions to IDS (from the online Informix Information Center)

In the next post, I am going to lead you into another built-in extension in Informix that can be useful in MMOGs and Virtual Worlds.

Leave a Comment