warning: Creating default object from empty value in /home/hplus/ on line 33.
Telling computers to do things.

XNA controller button assignments

When developing for XNA Game Studio, you have to map various game actions to various buttons on the game pad controller. Here is a list of what most games do -- if you follow this list, gamers won't be too surprised and will easily pick up your controls:

The standards that are "iron clad" and pretty much have to be followed are:

A Python wrapper for PhysX 2.8.1

What is this?

This is a distribution of a wrapper for the PhysX game physics API by NVIDIA.
It is designed for version 2.8.1 of the SDK, and will build and load with the
May 2008 PhysX runtime. Note that the September/October 2008 PhysX runtime
that is CUDA accelerated will NOT run on most machines (this is a "feature"

jwatte's picture

Write your own MMORPG in four hours using Python!

I moderate the multiplayer and networking forum on It's a pretty easy job, because most users are very polite, helpful, and well behaved. However, it seems that, monthly, someone who has never written a networked program shows up and posts their "architecture" for an "MMO" server.

The RayCar ODE physics demo (with source code)

The ODE physics library ( has been around for a long time. Often, people ask "how do I do a good arcade car" or "how do I do a good character simulation" using ODE.

jwatte's picture

Download and Install Etwork

Download the latest version of etwork. You can find the file at the Etwork start page.

Unzip the archive somewhere where you can easily get to it. I use a folder called "c:\code" on my machine, but you can put it in your "My Documents", or "/usr/local/src", or wherever you feel like.

jwatte's picture

KiloWatt Animation 20081128 / 20100307

This is the fourth release of the KiloWatt Animation library, as of 2011-02-13. It is intended as a companion to the kW X-port 3ds Max X file exporter, to be used with Microsoft XNA Game Studio. This release is for version 4.0 for Windows and Xbox 360. Sorry, Windows Phone 7 doesn't support custom shaders. It might be possible to update the processor to use the built-in skinned mesh shader -- keep in touch for future possibilities!

jwatte's picture

A simple buffer class for network receive

When you develop socket receive code, you will soon run into the problem that TCP will send data in arbitrary blocks. Even if you send a given string in a single call to send(), that string may arrive as two separate recv() calls -- or may arrive glued together with some previous or following data. Or both.
jwatte's picture

Using Sleep to Save CPU Cycles

Q: Hey, I'm spending a lot of time spinning in the graphics driver, waiting for a page flip, because I'm v-synced. Wouldn't it be better to Sleep() away that time, to give up some CPU to other applications?

A: That should work, with some caveats. I'm assuming Windows here (because otherwise you'd be talking about usleep() :-)

jwatte's picture

Make a 3D Game!

This is not an in-depth tutorial. It's just a pointer to some other resources I've put together to help in creating 3D graphics for computer games. For an exhaustive set of articles and tutorials, go to .

Syndicate content