XPilot NG is a multi-player 2D spacewar game. It is an extended version of XPilot, a true Internet classic. Like in XPilot, the aim of the game is to have fun and to beat your fellow pilots. In a team game, you can humiliate your enemies, blow up your their ships and steal their treasure. There are also other game modes: individual game and a race mode. XPilot NG is compatible with XPilot and shares a lot of features, but also has a lot of new features and bug fixes.
Traditional XPilot maps are based on an array of fixed-size blocks, each either empty, filled with wall or half-filled with a diagonal border. The most important change in this version is a total rewriting of the map format. Walls and some other features can now be described as arbitrarily shaped polygons. The new format is also easier to extend and allows more things to be customized.
Several bugs and deficiencies have been fixed. Most important are better collision detection between objects (the server now notices a bullet hitting a ship even if it hits a wall later in the same frame) and better handling of ship-wall collisions. Old code handled a shipshape as just a bunch of points, ignoring the edges between them. This caused problems like ships getting stuck at wall corners in some situations. Now the ships bounce correctly.
The game speed is no longer tied to the number of frames per second (FPS). This means that servers can run at higher FPS, and the game will still proceed at a reasonable rate.
The client has better capabilities for displaying graphics, and the map format allows specifying different textures and colors (though XPilot is still played on some computers with slow displays, so the full graphics might not be visible everywhere). The client also has a mechanism for downloading additional texture files over HTTP.
It's possible to save games on the server side. The recordings can be viewed by starting the server in playback mode and then making a normal client connection to it. You can then watch the game from any player's viewpoint. The recording files are a lot smaller than those of the client-side recording format. Their main drawback is that the recordings can't be kept compatible between server versions, so they're not suitable for long-term storage (unless you want to keep old server versions around to view them).