Blood's Music Newbie Guide

This Blood's Music newbie guide has been contributed by the player Angeba Mekelt. Many thanks.

Table of contents


"Blood's Music" also known as "XPilot-Tournament Map", "Teamcup Map" or commonly just called "Bloods", is probably the most played team map of XPilot. It has only very few basic elements, but still there is sooo much variation on the tactical and technical possibilities, that it keeps people playing and learning new skills for years. Versions of of this map were already played in the mid 1990's.

This guide attempts to help new players getting into playing Blood's. If you are completely new to XPilot, I recommend you to take the time and read the whole guide. If you are only new to the Blood's Music map, you may skip the chapter "Playing the game (Basic elements)", as you may know these things already.

Still there will remain open questions. You may find answers in the general XPilot documentation (manual pages, websites, readmes, etc). When playing Blood's versus/with human players, you can chat within the game, using textmessages. That way you can also ask for help.

I hope you will find this guide useful and that you will enjoy the game as much as I do.

But BE WARNED, this game is highly ADDICTIVE and may consume all your spare time and more (no joke)!!!

Regards, Angeba

Goal of the game

There are 2 teams of upto 4 players each. Some versions of the map even allow 5 players per team. The teams are named team 2 and team 4. Both teams have their treasure chest=box with their own ball=treasure. The own treasure chest is located close to the bases of the team. Every player has 4 lives each round.

There are two ways to win a round:

1) A team can steal the ball of the enemy team and bring it to its own treasure chest. That is called to cash the ball. It gives the player who cashed many points and his teammates also get some points.

2) If all players of one team lose all their lives, the other team wins the round.

Blood's servers often save the statistics (score, balls cashed/lost, kills, deaths and several others) of the players. Some even compute a ranking out of these stats and present it as a table on a www server. So people can compete to climb up on the ranking list.

Playing the game (Basic elements)

A player uses a program (the XPilot client) to connect to a XPilot server of his choice. This guide assumes the player chose to connect to a server running some version of the Blood's Music map. The server can run on the local computer, the local area network (LAN) or on the internet.

Current XPilot client versions in use are:

A) xpilot-4.5.4: The last version developed by the original XPilot authors as found on It is available for most unix like operating systems (linux, bsd, ...) and MS windows. Development ended in 2002. This client lacks some features found in other clients, which makes playing Blood's Music more difficult. Most importantly it does not show teammates on the HUD-radar (head-up display), and warning messages sent by your teammates are not drawn in a different color. Also drawing of ships and entries in the scorelist in different colors for players with only 1 or 0 lives left is missing.

B) xpilot-ng-4.7.2: This is a much improved XPilot client compared to 4.5.4. It is available for unix like operating systems and windows (4.7.1). The drawbacks mentioned above for the 4.5.4 client are removed and many other features are available. Maybe it even has so many options, that tuning them takes quite some time, especially for a newbie. On the other hand it is possible to adapt this client to almost every taste, computer and map.

C) bloodspilot-client: The newest XPilot client available for unix like operating systems. It is specially optimized to play Blood's Music, but also perfectly suitable for all other maps like New Dark Hell. Based on the xpilot-ng client, some options that seemed to be not (very) useful were removed. New features were added, most notably a toggleable HUD-map-radar. Several features were improved.

D) xpilot-nt and xpilot-5: These are XPilot clients developed for the windows operating system. I did not use them, so I can't tell anything about them.

Once connected to a Blood's server, the player is assigned to a team. If both teams are full the player gets on the waiting queue until an active player leaves. If one joins while there is a round being played, he'll be waiting until the round is over. Changing to the other team is possible by typing '/team 2' or '/team 4' or just short '/t 2' or '/t 4' in the message field. The default key to write a message to the other players is usually 'm' (or 't' in bloodspilot). Though all keys and many options can be configured.

Mouse or keyboard control?

You can play XPilot using the keyboard only (the traditional way) or using both mouse and keyboard. It was even discussed to use an analog joystick, but that is not yet working as far as I know (2007). While many newbies try to use the keyboard at first (as I did), it quickly shows that using the mouse to steer your ship is much more efficient. I guess there are rarely any players who really tried to use the mouse (for some weeks) and did go back to steering with the keyboard. One can simply turn much quicker with a mouse, which makes shooting, dodging bullets and guiding a ball much easier and successful. Most mouseplayers set the option turnResistance=0 (the turning response to mouse movements will then be linear, i.e. the angle the ship turns is proportional to the mouse movement). You'll have to adapt the turnSpeed option to your liking and depending what mouse you use. To interactively find a good turnspeed setting press '+' or '-' on the numberblock repeatedly to increase or decrease the turnspeed of your ship.

To enable mousesteering you'll either have to click somewhere in the center of the gamewindow with the left mousebutton, or press 'Enter' on the numberblock. To disable mousesteering you'll either have to press 'Escape' or 'Enter'. That will give you the mouse pointer back, so that you can access the menu buttons for example.


Flying the ship is done by steering it left and right and accelerating. Steering by mouse is done by moving it left and right. Using the keyboard you would press the keys assigned to keyTurnLeft (normally 'a' or cursor/arrow 'Left') and keyTurnRight ('s' or cursor/arrow 'Right'). You can look up any keys selecting Menu->Keys. Accelerating is done by pressing the key assigned to keyThrust, which is by default the middle mousebutton and either both shift keys or cursor/arrow 'Up'. Slowing down is done by turning the ship against its direction of travel and thrusting.

Usually one can bounce against walls without dying when flying with low speed. However when flying too fast the ship will crash and you will lose one life. Bouncing is useful to quickly change direction. It can be faster to bounce back from a wall instead of using thrust to stop and then accelerate in the opposite direction.

Things you should not run into are treasure boxes and enemy ships as well as enemy and your own bullets. These will usually kill you.

Shooting, fuel, HUD-radar

Your ship's weapon in Blood's is an automatic cannon. It can shoot up to 12 shots in succession which fly for 6 seconds or until they hit an enemy or your own ship or a wall. There is no limit on your ammunition, but each shot consumes some fuel from your tank as does accelerating. The remaining fuel is displayed as a number in the lower right of your head up display (HUD) and optionally also as a fuel gauge above that number. If the amount of fuel is above the fuelNotify, -Warning and -Critical levels, it may only be displayed if you press the keyRefuel key (normally 'f' and 'Control'). If you are about to run out of fuel you should fly to a refuel station. These are red squares with a 'F' in it. When close to a refuel station hold down keyRefuel and your ship will begin to refuel either until your tank is full or the station is empty. Refuel stations fill up slowly with time. You should know that the ship accelerates slower with more fuel on board. If you ran out of fuel you can neither shoot nor accelerate anymore. Your ship will be drifting until it crashes into a wall or shot. You can press keySelfDestruct ('End') to start a countdown of some seconds. If that runs out you'll lose one life, but no points. To cancel the countdown press keySelfDestruct again.

Be careful not to fly into your own bullets. That is especially likely if you thrust straight ahead while shooting or if you shoot against the direction of travel (backwards) and bounce off a wall.

You will want to shoot ships of the enemy team. If there is no enemy ship in your visible area, you can see where an enemy is by the small circles moving around the center of your screen. In modern XPilot clients enemy ships are drawn in a different color than friendly ships, while old clients possibly only display enemy ships on this HUD-radar. Friendly ships are usually painted in blue in the visible area and can't be shot by you. Your ship will also be immune to shots from friendly ships. Friendly shots are painted in a different color from deadly shots and are blue by default. There are also no collisions between friendly ships.

You can aim at visible ships or at the circles on the HUD-radar. To fire shots you press keyFireShot ('Return' or left mousebutton). To increase the likelihood to score a kill you have to aim well. You can send a spread out stream of bullets towards a target by turning your ship by some degrees while holding keyFireShot. Also consider the direction and speed where the target is going or will probably want to go and aim so that the bullets arrive there when the target does. Your own ship's (relative) speed is also an important factor. If you fly fast into the direction where you shoot, the bullets will approach faster and the opponent will find it much harder to dodge them. If you shoot against your direction of travel, you can even make the bullets stand still. This way you can close certain passages for up to 6 seconds. Practically it is often very hard for the enemy to fly through between these bullets (strafes).

When dogfighting with an enemy, make sure that you can still outfly his fire. So don't just accelerate straight into him while shooting, but shoot some bullets, then turn and thrust backwards or sidewards to evade his bullets. If there is room between his bullets attack again.


Dodging bullets is done by turning away (sidewards or backwards) from them while thrusting. With practice you can dodge successfully between streams of bullets. Of course it is helpful to have a low lag connection to the server as it makes a considerable difference to the dodging capabilities if one player has 40 ms (milliseconds) lag and one has 140 ms. While dodging between slowly approaching bullets can be done once you see them, it will often not be successful with fast approaching bullets. Therefore you will want to always keep an eye on the enemy ships' moves on the HUD-radar. If you see an enemy circle approaching you should expect that he is sending a stream of bullets towards you. Your defence can be to fire some bullets in his direction and then run away and take cover behind a wall. Make sure to set the option shotSize to a value that allows you to see the bullets well. This value depends on the size of your display, the value for the scaleFactor option and probably on your visual capabilities. To increase the success rate in dodging I would set scaleFactor so that the visual area (framed by a square) has maximum size. That would be 1.33 for a 1024x768 pixel gamewindow or 1.0 for 1280x1024.

Ballrunning, popping

To take the ball from the enemy treasure chest (that's the enemy ball) and bring it to the own treasure chest is called to do a ballrun. If one succeeds to put the enemy ball in the own chest it is called to cash the ball. Taking the ball is done using a connector, which is an elastic string that attaches a ball to your ship. You can connect to the enemy and the own ball if they are not in a treasure chest, but you can only take the enemy ball from its chest. The own ball can only be taken from its chest by an enemy. Fly close to the ball you want to connect to, while holding down keyConnector (defaults to the left control key or 'f'). A dashed line between the ball and your ship will appear if you are close enough to use the connector. Now move your ship away from the ball keeping keyConnector pressed and the connector should engage. That is indicated by changing from a dashed to a solid line. You can now pull or push the ball with your ship. The ball has quite some mass and that will change your ships movement a lot. Your ship will not move as usual, but have to compensate the ball's movement additionally. The connector may break if ship and ball are moving in different directions at high speed. That may happen if your ship and the ball start rotating around each other fast, or if the ship or the ball collide with a wall above a certain speed.

Like a ship the ball can also bounce off walls given it travels not too fast. If it touches a wall with a high speed the ball will pop (break) and go back to its treasure chest. A ball connected to your ship will also pop if an enemy ship touches it. If a ball flies unconnected (floating) it will pop if any ship touches it.The own ball will finally pop if it is connected to your ship or was last connected to one of your team's ships and then touches the enemy treasure box.

To drop (detach from the ship) a connected ball, one can press keyDropBall (defaults to 'd'). The ball will keep flying with its speed and direction. That is called to throw or toss a ball.

Ballrunning may seem very difficult at first, but like with everything practice helps a lot and one gets more and more skilled. It's useful to watch experienced players doing ballruns and to do training without opponents. There are also collections of recorded ballruns available on the internet done by skilled players. You can download and study these by playing them back with a replay program (e.g. xp-replay or bloodspilot-replay).


Since Blood's Music is a teamplay map, the players have to act as a team to be more successful beating the other team. There are several factors that make a working team out of a group of individual players. Teammates should help each other and watch what is happening on the whole map. This involves watching what both enemies and teammates are doing. Highest priority is always to prevent the own ball being cashed by the enemy, because that will almost always make you lose the round. Very important is to watch the players on the HUD radar and to communicate with your team about what you see is going on.

Player roles, changing homebase

If a team has more then 1 member, the players usually take on certain roles.

At least one player will defend the own ball from being stolen by opponents. Therefore he usually stays close to the own treasure chest and tries to keep enemies away from the ball. The defender must not wait until enemies are already close to the chest, but try to kill approaching ships. If an enemy is already close to the ball, the defender keeps firing at him and also ahead of him, to prevent the opponent grabbing the ball and running away with it. When there are no enemies near or approaching the treasure, or if the own treasure is missing, the defender should support his team elsewhere. As soon as an enemy grabs the ball, the defender (or any other player watching this) sends a BALL warning message to his team (see below for warning messages) and starts to hunt the opponent stealing the ball. He shoots at him and tries to pop the ball (fly through the ball) to save it. Since it is most important to save the own ball, each teammember has to help saving the ball. An exception _may_ be a player who has taken the enemy ball and has better chances of cashing it, than the enemy has with our ball. A player who saved the ball or watched it being saved sends a SAFE message to his team, so that all teammates know they can resume with their usual roles. If you are in doubt that it was our ball or their ball that popped, then don't send the SAFE message.

One player will try to steal the enemy ball, so I'll call him ballrunner or attacker. In case the own ball is safe, the attacker tries to get to the enemy treasure chest or whereever the enemy ball is. Usually that ball will be guarded by at least one enemy player, so the attacker has to shoot the enemy until he gets an opportunity to grab the ball and begin to bring it home (to the own treasure chest). The ballrunner also informs his team that he has the enemy ball by sending a COVER message. Certainly enemy ships will promptly hunt the ballrunner and their ball, so that he has to defend himself and the ball. He will shoot at approaching opponents while dodging their fire. It may be nessesary to drop (detach) the ball to avoid enemy bullets. In this situation it is useful to make the ball fly in a wanted direction before dropping it and also to let it go with a relatively low speed, so that it does not pop when hitting a wall. If the ballrunner gets the opportunity, he regrabs the ball to guide it further towards the own treasure box. Teammembers receiving a cover message help to keep enemies away from the ballrunner (given that the own ball is safe). Especially the main defender has still to keep an eye on the own treasure being safe, because an enemy may want to steal it while it is unguarded. A player watching the enemy ball being popped sends a POP message to his team. Often it is a good idea to cash the ball with a medium/low speed while keeping it connected. If the ballrunner releases the ball, an intercepting enemy can catch or touch the ball with its connector, so that it does not cash. Another advantage of keeping it connected is that if the ball misses the chest, you can promptly do a second attempt.

If the team has more than 2 members, the remaining players can have more dynamic/variable roles. They have to look where help is needed and support defence or attack. Help is usually needed where one own player is facing more than one opponent or one more skilled opponent.

Players may (have to) change their roles in certain situations. A defender who was hunting a stolen ball successfully and is now close to the enemy's treasure, may grab the enemy ball and begin to bring it home. His team has to adapt to this situation, so another player has to make sure the own ball stays safe. If teammates are dead (lost all their lives for that round), the remaining player(s) again have to adapt. Also if e.g. the defender was just shot and is either dead or waiting to reappear with his next life, while the own ball is being taken, any teammate nearby has to act as defender and safe the ball. In case the ballrunner gets shot, but the enemy ball is still in reach, another player may become the ballrunner (for that ball).

The 4 available homebases of each team have their special advantages and are suited to individual player roles. A player can change to another base by flying very close to the new base and then pressing keyChangeHome (normally 'h' or 'Home'). For a defender it is most important to have the own ball safe, which mostly means in the treasure chest. Therefore he will want to choose a base close to the chest, so he instantly sees if the ball is still in it. For team 2 the 2nd from left and the leftmost bases are best suited for the defender(s). They are also close to the "short way" to team 4, so that a respawned defender has the best chances of intercepting the enemy ballrunner. In team 4 the rightmost base is best for defending, since it is close to both the chest and the short way. The 2nd base from the right is second best for the defender. It is quite a bit further away from the chest, but is quickest for intercepting the "down-right" way. The other players should choose from the remaining bases.

Warning messages/indicators

To notify teammembers about certain situations quickly, there exist predefined talkmessages that can be send by the press of one button. Should one use an older XPilot client like 4.5.4, or if the config file (e.g. '$HOME/.xpilotrc' on linux, 'xpilot.txt' on windows) doesn't contain these talkmessages, it is still possible to add upto 20 of them. The messages are defined in a way that ensures they are only send to your teammembers (using '#t:' at the beginning of the messages). I'll explain the 4 most important warning messages as can be found with the xpilot-ng-4.7.2 client. In modern clients (e.g. xpilot-ng, bloodspilot-client) these are displayed in special colors, so that you already know by the color what kind of message arrived. These clients also paint special indicator circles at the center of your ship. One circle represents a BALL warning message and is drawn in the same color. The other circle indicates an active COVER request and is therefore drawn in the corresponding color. Avoid flooding the other players with messages, that is sending the same message several times in quick succession. Players should learn to notice warning messages and indicators without being flooded. Flooding is annoying, distracting, and even consuming network bandwidth, which may hamper a player on a slow network connection.

1) "*** BALL! Our ball is gone! Save it! ***"

This is the most important message. Any teammember who sees that an enemy grabs our ball, should quickly press the key that sends this talkmessage. Don't wait with this warning until the enemy ballrunner is already some distance away, but send it immediately. Doing so gives your teammates more time and better chances of saving the stolen ball. It is useful to have it bound to a key that you can reach easiely, so that you don't lose any time by pressing it.

2) "*** SAFE! Our ball is safe. ***"

The opposite to the BALL warning message above. If your team's ball was stolen or missing and you see it being popped or being back in the chest, then you should immediately send this message. In modern clients it will clear the special color of any BALL messages that may still be on the display as well as the BALL indicator circle on the ship. If you see a ball popping, only send the SAFE message if you are absolutely sure that it was the own ball, because it might also have been the enemy ball! You may also send this message if you know our ball is in a safe place, that is for example somewhere in the area in between your teams bases. The ball may sometimes be easier to defend if it is in between your team's bases. Keeping it there has also the advantage, that teammembers on the outer bases can see the ball. Advanced players may even throw the own ball away from their base and consider the ball as safe or FLOATING/SAFE. That may especially be useful with only 1 enemy left, because he probably does not find our ball immediately. Newbies should avoid this tactic if playing in a team until they learned to use it in 1 vs 1 games, because you have to know where to throw the ball, so that it does not promptly fly to the enemy. Using the HUD radar you'll have to watch carefully what the enemies do, to probably recognise if one has found our ball.

3) "*** COVER! The enemy ball is approaching our base. ***"

Some players also use INCOMING messages for the same purpose. You will send this message if you have grabbed the enemy ball and are on the way towards our own treasure chest. Given that our own ball is safe, your teammates should try to kill enemies that are approaching to intercept you and their ball. If the own ball is missing or there even is an active BALL warning, your team should first rescue the own ball. In that case you will have to cover yourself, or even stop your ballrun to assist saving the own ball, depending on the level of emergency.

4) "*** POP! The enemy ball is back at the enemy base. ***"

The opposite to the COVER/INCOMING message above. Any player seeing the enemy ball popped or back in the enemy treasure chest, should send this message. This tells your teammembers that no cover is useful anymore. So they can focus on other roles again like defending or trying a new ballrun.


The number of remaining lives per player is an important tactical factor. On the scorelist you can see how many lives each player has left. A dead player has a 'D' as the first character in his score entry. Other characters that may appear there are 'W' for a player waiting to join the team in the next round, 'P' for a paused player and 'R' for a robot, which is a virtual player controlled by the XPilot server. As it is especially important to know if you or an enemy have only one or no lives left, the ships can be drawn in special colors in these cases by modern XPilot clients (bloodspilot-client, xpilot-ng).

It is a good idea to try to keep the number of remaining lives per player balanced in your team. Because if there are big differences, say one teammate is dead, the second is on his last life and the third has 3 lives remaining, a skilled enemy team will try to kill the one on the last life. That would leave your team with only one player left on 3 lives, facing in your worst case several enemies. Now they would have much better chances of cashing our team's ball, because they can cover their ballrunner much better and have much weaker opposition. They can even kill our lone survivor several times on their way to the cashing. To avoid having such an unbalanced team, the players should keep an eye on the remaining lives and be more careful with decreasing lives, particularly on their second to last and last lives. A player with many lives more than his teammates should play more aggressive to regain a more equal lives situation in his team. Particularly one should avoid having a weaker player as last man standing versus more than one enemy. This scenario can easily arise if a newbie player is too careful, always running away from where the main action is.

As much as you should try to avoid unbalanced lives in your team, you will want to have such a situation in the enemy team. You can try to get this by hunting selected players more intense and particularly by hunting players which have only one or no lives remaining.

It has become a code of honor not to cash a ball if the enemy has only a newbie or a floater (a player that is not really playing for whatever reason) left. Instead you would attempt to kill him on his remaining lives.

If only one player of your team is left alive, he has the best opportunity to prevent the enemy to cash your team's ball when he is on his last live. This gives him the opportunity to commit virtual suicide before the enemy is able to cash. This makes the suicider only lose a few points and one live in the statistics, whereas a lost ball makes him and all his teammates lose much more points, as well as the ball in the stats. Depending on the time left until the enemy will probably cash, the options to lose this last life are flying against a treasure chest, into your own bullets or with full thrust, shooting and held down keyConnector towards the enemy treasure chest, to either save the own ball, or die trying.

How to become better

Practice, learn the map

In XPilot and specificly in Blood's Music players can learn and improve for years. In this respect it's probably comparable to games like football or tennis, where players start as children and play their whole lives. The game and particularly handling the ball will seem very difficult at first. Depending on the time you spend playing, you will see significant progress after some month of playing. It helps to do ballpractice without enemies, but also training together with an experienced player is very useful. You can both join the same team and then take turns practicing specific ballruns. Also fly through the map, with and without ball, to really learn it and feel like home. Try bouncing the ball, dropping and reconnecting to it. Don't neglect to practice with your cannon while handling a ball, defending yourself and the ball against virtual attackers (in your imagination) or robots. It is possible to start an XPilot server on your own computer running Blood's Music and to play vs 4 robots. There exist also specific training maps to improve your dodging and shooting skills, like 'Aimers', 'Dodgers' or 'Circle Cannon Dodgers'. Probably one learns the most by playing real games. Games of 1 vs 1, 2 vs 2, 3 vs 3, 1 vs 2 and so on, all have their own challenges. Try to accept defeat. Especially as a complete newbie you will lose most rounds, that is completely normal, because there is so much to learn both technically and tactically. Analyze what opponents and even teammates are doing better than you. Don't expect to win against a team of stronger players or when outnumbered by the enemy. Just try to do your best and be happy if you can win a round or even cash a lucky ball.

Study good players

On public XPilot servers running Blood's Music you can usually pause and then watch the other players. To pause fly very slow and close above your homebase (the place on the map where your nickname is written) and press keyPause (usually the key 'Pause'). It's most easy to pause right after you lost a life, because then you are directly on your homebase, just press keyPause. In paused mode you can select the other active players by "locking" onto them. XPilot clients support 4 different locking keys (look in Menu->Keys for the actual keys that your configuration has set): 1) keyLockClose: Lock on closest player (relative to your ship). 2) keyLockNextClose: Lock on next closest player (relative to your ship). 3) keyLockNext: Lock on next player. 4) keyLockPrev: Lock on previous player.

You will now watch the game from the point of view of the player you did select. Study how he plays, how he defends, attacks, handles the ball etc. If you studied a specific player for a while or several times, it will also help you to play against him, because you will know about his usual playing style, whether he is a strong fighter or ballrunner, which ways he likes to go with the ball and so on.


It is possible to record any XPilot game to a file, which can be played back later with a separate replay program (e.g. xp-replay or bloodspilot-replay). To be able to record, the options 'recordFile' and 'keyToggleRecord' have to be set either on the command line or in the config file. In bloodspilot-client the recordFile defaults to 'bloodspilot.xpr' and keyToggleRecord to 'F12'. Whenever you want to record a part of a running game, you press keyToggleRecord to start recording. A red blinking message will appear on the display saying 'REC <number> MB', where number is the current size of the recording. To stop recording you press keyToggleRecord again and the red message will disappear. You can add more scenes to the same recording by pressing keyToggleRecord again. As recordings can become quite big, you may compress them with the gzip compression program afterwards (e.g. 'gzip bloodspilot.xpr'). Copy the recordFile (e.g. the file 'bloodspilot.xpr') to another place after you quit the XPilot client, if you want to keep it, because after the next start of the client and start of recording, it will not add to an existing recordFile, but create a new file with the same name, destroying the previous recording.

To play back an existing recording you'll start the replay program with the name of the recording file as argument (e.g. 'bloodspilot-replay bloodspilot.xpr'). Two windows should open, one showing the first picture of the recording, the other containing buttons to control the playback. To start playback click on the play button ('>'). Read the documentation for your replay program to learn about all functions.

Now you can watch your own recordings to analyze your game and your opponents, to see what you could have done better. There are also recordings available on the internet, showing games or ballruns done by very advanced players. I highly recommend you to download and watch some of them. You will learn much about the tactical and technical aspects of the game.

Network, hardware, configuration

The quality of your network connection to the XPilot server is very important. Comparing a server where you have a lag of 150 ms with a server running on your local computer (typically < 1 ms lag), you will feel increased inprecision in controlling the ship. Lag means the same as round trip time (RTT) or ping time. It is the time it takes for information from your computer to travel to the server and back. Obviously the geographical distance between server and client influences lag, but often a bigger influence are slow routers (computers where the information has to go through on its way between client and server). Also a variable lag will worsen your ship control. With the same internet service provider (ISP) players often have sometimes good connections (low and stable lag), while at other times of the day or other days they may have "unplayable" connections. If you generally have bad connections, also to servers in your country or nearby, you could try to use another ISP, but often you will only know how good that ISP is once you use it. Therefore better don't sign a long running contract. The method you use for internet access is also critical regarding lag. Using an analog 56 kbit modem has an inherent lag of about 90 ms between your computer and your ISP alone. Cable modems should be somewhat better, while ADSL will usually be the best choice. Other annoying network gremlins that can spoil the game are loss (information packets don't reach the client or the server) and, more common, freezes (the connection stalls for periods of time). Freezes sometimes occur for very short periods (tenth of seconds), in serious cases for several seconds. If the connection freezes for more than about 30 seconds, the XPilot server will terminate the connection with the client and you will only see a still or black picture. In such a case you can only quit the XPilot client, start it again and reconnect with the server.

XPilot consumes quite little bandwidth, so it is (somehow) possible to play it using an analog modem. To keep the used bandwidth below the available limit, it helps greatly to disable exhaust sparks (sparkProb 0). The number of frames that the server sends, is also important. If the server is running with 50 FPS (frames per second), it may be useful to let it only send 25 or 12.5 FPS to the client. To achieve this, set the option maxFPS to '25' or '13'. That will reduce the required bandwidth to about one half or one quarter respectively. The downside will be a less smooth display. Avoid using maxFPS values where the server's FPS is not exactly several times the number of maxFPS, as that may result in a jerky display. For example don't use 'maxFPS 20' with a server running at 50 FPS. If you have a very good connection and enough bandwidth, you can simply set maxFPS to 255 (max), and receive the highest number of frames that the server supports.

Another form of lag is client lag (Cl.Lag). That is the time the client needs to draw one frame (one picture). This lag adds to the network lag described above, and should also be kept as low as possible. It is influenced by the hardware your computer has (processor, memory, graphics card), the operating system, the configuration of your display (256 colors or true color), the size of the XPilot client's window, the configuration of the xpilot client (fullColor, multiBuffer) and other programs currently running on your machine. Modern clients may display the CL.Lag, and acceptable values are lower than say 10 ms. Note that on the windows operating system the Cl.Lag may not be measured/displayed correctly.

To play XPilot successfully, it helps to have a bigger monitor/display and a good mouse. When using a (oldstyle) ball mouse, don't forget to clean its rollers and ball regularly.

You should also take time to tune the many options that XPilot clients offer. For example you can change the default key mapping. A key mapping suited to a keyboard player may be bad for a mouse player, and if you play on other maps than Blood's, you will also want to use more functions (to drop mines, fire missiles, set weapon modifiers etc.). Therefore it is not possible to satisfy everyone with a single key mapping, but you can tailor it exactly to your liking. The traditional way to adapt the keymap is to load your config file ('.xpilotrc' or 'xpilot.txt') into a text editor and modify it there. In future versions of the bloodspilot-client it will be possible to modify the keymap from a menu within the game, making it much easier. It is possible to bind several functions to a single key, as well as binding one function to several keys.

I recommend to enable the dirPrediction option of modern clients, by setting it to 'yes' or 'true'. Especially with increasing lag, the dirPrediction lets you to aim much better.

Another important option is scaleFactor. In XPilot every game has a square area around your ship, in which objects (ships, balls, shots, etc.) are visible. The border of that area is marked by the visibility border. Outside of the visible area only walls and treasure boxes (always shown empty) are painted. You can determine how big the visible area shall be zoomed in your game window. That is done by setting a number value to the scaleFactor option. Setting it to '1.000' will show the visible area filling a 1280x1024 pixel game window exactly from top to bottom, leaving some invisible areas on the left and right sides. Choosing lower values will increase the size of all objects, but will not draw objects towards the periphery of the visible area. Higher values will draw more of the walls surrounding the visible area. That may help to learn the map and ballrunning, but as all objects are painted smaller, it will worsen your dogfighting abilities. I recommend to choose a scaleFactor that shows the whole visible area, and if you have a big display maybe even a bit of the surrounding area. A second scale factor can be set to the option altScaleFactor and a key to switch between these two can be defined with keySwapScaleFactor.

To improve your chances to dodge enemy bullets, you should set the option shotSize to a value so that you can see the bullets well. This value interacts with the scaleFactor setting. So if you increase the scaleFactor, shots will be drawn smaller (as all objects) and you may wish to increase shotSize a bit.

Disable all things that don't give you any useful information, as they may distract you, or obscure important things (like enemy shots). Things that should be disabled when playing Blood's Music are exhaust sparks (sparkProb 0), display of owned items (showItems no), markingLights no, fuelGaugeColor 0 (replace color '0' with 'off' in bloodspilot-client to disable drawing, because color '0' means black there) and maybe even the fuel stations ('fuelColor 0' in xpilot-ng, 'fuelColor off' in bloodspilot-client). Also consider reducing the number of displayed messages to say 4 (maxMessages 4).

Frequent mistakes to avoid

Don't try to steal the enemy ball from your teammate if he is already handling it. He may have to drop the ball momentarily, don't try to grab it then, unless it is obvious that you are in a better position to cash the ball and he is therefore passing it to you. In most cases it is best to let one player be the ballrunner, while the others should cover him from enemies.

Also don't fly in the path of the ball in case your team's ballrunner attempts to throw the ball, as you would probably pop it. Don't stand too close to the ballrunner and especially the ball, because if he get's killed or has to drop the ball, you may not be able to avoid popping it.

If you are carrying the enemy ball, don't take the word ballrunning literally. In most cases it is better to approach the own treasure chest carrying the enemy ball with a medium speed and not with high speed. Because if you miss the cash, the ball pops at the next wall. Instead go below popping speed and defend yourself shooting. Especially don't hurry if your teammates give you good cover and the own ball is safe, or when there is no enemy near. Newbies often try to run away from enemies with their ball. That will rarely work, because the balls are quite heavy and a ballrunner is therefore much slower than a player without ball.

Don't waste time replacing the own ball (that is trying to put it back into the treasure box). It would give you 5 points, but points come and go anyway. If your own ball was taken out of its chest, you should either pop it, or leave it in a safe place. Especially should you pop it, if it is close to the enemy treasure chest, because if you lose it there, an enemy could quickly cash it. Whereas if it is close to your own team's bases, you may also choose to keep it among your team's bases, where it may be defended easier. In the time lost by an replacing attempt, the player could better have supported his team elsewhere.

Use the connector always when trying to save the own ball, even if you try to pop it. Because if you miss the pop, you'll will still touch your ball and that means it will pop if it hits the enemy treasure chest, instead of cashing for the enemy. Newbies often forget to hold down keyConnector.

Blood's Newbie Guide -- last changed 2007-12-11

Item map Newbie Guide

This part of the newbie guide is certainly not complete.

XPilot items

Scattered around some XPilot maps you might find some of these blue triangle objects. They are well worth picking up since they either improve on the equipment you have, or they give you new equipment. If a fighter explodes, some of its equipment might be found among the debris.

Extra energy/fuel
Extra front cannons
Extra rear cannon
Afterburner: makes your engines more powerful
Cloaking device: makes you almost invisible, both on radar and on screen
Sensor: enables you to see cloaked opponents more easily
Transporter: enables you to steal equipment from other players
Tank: makes refueling quicker, increases maximum fuel capacity and can be jettisoned to confuse enemies
Mine: can be dropped as a bomb or as a stationary mine
Missile: can be utilized as smart missile, heatseeking missile, nuclear missile or just a plain unguided missile (torpedo)
ECM (Electronic Counter Measures): can be used to disturb electronic equipment, for instance can it be used to confuse smart missiles and reprogram robots to seek certain players
Laser: limited range laser beam, costs a lot of fuel, having more laser items increases the range of the laser, they can be irrepairably damaged by ECMs
Emergency Thrust: gives emergency thrust capabilities for a limited period
Tractor Beam: gives mutual attractive force to currently locked on ship, this means the heavier your ship, the less likely you will move when being tractored or using a tractor
Autopilot: when on, the ship will turn and thrust against the direction of travel
EmergencyShield: gives emergency shield capabilities for a limited period
Deflector: pushes hostile objects away from your ship
Hyperjump: enables you to teleport to a random map location
Phasing Device: lets you fly through anything for a limited period
Mirror: reflects laser beams
Armor: absorbs shots in the absence of shields