
Included, please find two DLLs: A main Havok content tools wrapper, and a simple C# assembly that actually exposes a content importer for use with XNA Game Studio version 3.1. Drop these in your solution folder, and point your content project at the HavokImporter.dll assembly (add as a Reference to the Content project).

While I'm thinking about lighting, I'm dropping in a camera, and a player model based on kW Animation and kW X-port. This is mainly for proportion, and to get a feeling for what a unified scene will look like.

So, I'm generating a dungeon-like structure procedurally (in Rogue-like tradition).
Initially, I just lit it using a "sunlight" type directional light. However, that looks approximately like ass. Mainly because that's not how dungeons are actually lit, I guess :-)


Recently, I had the need to turn a hundred different texture images into "profiles." A profile, in this case, was a 2D shape that follows the outline of some feature in the texture (like a house facade), texture mapped with that feature. Rather than build them all in a modeler such as 3ds Max, and separately exporting them, I came up with a simple tool for loading a bunch of images, building those profiles straight on a copy of the image using clicking, saving all the profiles I've built (for later re-use or editing), and exporting to a bunch of .DAE (collada) or .X files in one fell swoop.

Show how to generate a random planet based on midplace displacement noise and
a simple height map color ramp. Note that you typically want to add some cloud
cover for the best effect.
Press Space / A to generate a new planet.
Press Backspace / B to view the height map.
Press Y / Y to view the color map.
Released into the public domain by Jon Watte. You may freely use this in your

When developing a PC program for the XNA framework, you usually find that you need to do mouse picking. This means taking the mouse coordinates, and turning them into a ray that you can then raycast in your world to see what, if anything, is being hit when the user clicks the mouse.

1) WORLD matrix. This takes vertices from object-local space (0,0,0 in the middle of the object) to world space (position and orientation applied based on 0,0,0 at your "world origin" position). This is a convenient space to do normal mapped lighting and environmental reflection in.

Inside an XNA game, you invariably start needing to wire things together. "When the player steps on this tile, run that action" or "when this timer expires, open that gate." For simple levels, you may be able to write this using code, but once your game reaches a dozen levels, each with hundreds of possible actions, hard-coding each and every one of them becomes a real nightmare!

I've been working on a GPU accelerated light map generator for XNA for a little while. I'm using the light map only to tell shadow/light for each surface for each light, and then solving the basic light equation (ambient + diffuse + specular + emissive) per pixel, multiplied by shadow.