Do you have a firewall on the PC? If so, when BF2 checks the internet you may find that the firewall is asking you whether you want to let it through. If it is asking, it blocks BF2 from running until you tell the firewall to let it through or to block it.
Other ideas in the order in which I think they are probably worth looking at:
- What version of DirectX have you got installed? If you've just formated your PC, it might not be the latest version. It should be 9.0c, and you can check by running dxdiag from the "Run" option in your start menu. Bottom of the first tab should have a line that looks like
Code:
DirectX Version: DirectX 9.0c (4.09.0000.0904)
or something. If you have an older version, update it using windows update. If you are using windows XP, you can get to this in the Help section of the start menu. If not, open IE (no other browsers are supported) and go to www.windowsupdate.com, download all the critical updates while you are there (which might include SP2 if you have just formatted) and make sure you get the latest version of DirectX.
- Same goes for your graphics drivers. Go to the chipset's manufacture's homepage and get the latest drivers. Usually either nVidia or ATI, but you might want to try your card manufacturer's homepage to get board specific drivers.
- Last idea is make sure you have enough RAM to load the game. Look at the minimum requires on the box, do a Ctrl+Alt+Del in XP to bring up the task manager, and see how much memory you are using by looking under performance tab. If the total amount of memory you have free is less then (or near to) the minimum you might try closing other programs first.
If none of these work, give us another bell