
I'm taking the XNA 4.0 beta for a spin. I don't have a Windows 7 phone (who does? :-) so I can't get motivated to start porting things like kW Animation / X-port to it, but I thought I'd check out the new and improved render target and effects APIs. Here's a little screen shot:

XNA Game Studio makes it possible to write games for the Xbox without being a developer with good publisher contacts and lots of money to pay for marketing and Xbox development kits. This is great!
However, because the XNA Indie Games system is not fully controlled by Microsoft, certain features of Xbox Live! are not available, because they would be too easily abused. These features include online Leaderboards, and unlockable Achievements.
The XNA community has developed alternatives to those functions. Many XNA games contain "Awardments" that can be unlocked, and many more XNA games use the XNA Network Highscores component to implement distributed, peer-to-peer highscore sharing. The name for this is generally "Online Highscores" rather than "Leaderboards," because the latter name is reserved for use by Microsoft-certified titles that use the real Xbox Live! functionality.
This article introduces version 2 of the XNA Online highscores component, which is free for you to use in your own game under the terms of the MIT license.

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.